Online advertising is a form of promotion that uses the Internet and the World Wide Web to deliver marketing messages to attract customers. Examples of online advertising include contextual ads on search engine results pages, banner ads, blogs, Rich Media Ads, Social network advertising, interstitial ads, online classified advertising, advertising networks, and e-mail marketing. Right Media Exchange (RMX) is a marketplace of online advertising that enables advertisers, publishers, and ad networks to trade digital media through an application programming interface. Through a form of online advertisement auction, RMX provides publishers, i.e., media sellers, the visibility and control that provides the ability to maximize yield while driving engagement and return on advertisement spending for media buyers.
One of the key problems publishers face within the RMX online advertisement auction today is how to set reserve (floor) prices, which is a minimum price the publisher wishes a winning bidder to pay, on their inventory. The problem becomes particularly acute as more of the online advertisement auctions move from a first-price rule, where the winning advertiser pays its bid, to a second-price rule, where the winning advertiser pays the minimum amount required to outbid the second-highest competitor.
Auction theory provides a compelling framework for how to set reserve prices based on bidder valuations. However, various aspects of online advertisement auctions for display advertisements complicate the standard machinery. Particularly, in the context of online advertisement auctions for RMX, where the bid of an advertisement on a particular page may vary significantly according to which user is viewing the ad, the dynamic and interrelated nature of advertising inventory makes finding similar historical online advertisement auctions difficult. On the other hand, the expressive nature of RMX allows advertisers to condition their bids upon various user demographic and behavioral features, and with the inclusion of real-time bidding, advertisers may condition their bids upon information through the use of third-party information brokers.
The described systems and methods may be better understood with reference to the following drawings and description. Non-limiting and non-exhaustive embodiments are described with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the drawings, like referenced numerals designate corresponding parts throughout the different views.
Subject matter will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific example embodiments.
Example embodiments of the present application relate to computer-implemented methods of calculating a suggested reserve price for an online advertisement auction that is associated with an opportunity to display an online advertisement. In some implementations, the suggested reserve price is calculated in order for a holder of the auction, i.e., a publisher, to maximize and/or obtain desired revenue. For better understanding of the present application, network environments and online advertising that example embodiments of the present application may be implemented are first introduced as follow.
A network may also include any form of implements that connect individuals via communications network or via a variety of sub-networks to transmit/share information. For example, the network may include content distribution systems, such as peer-to-peer network, or social network. A peer-to-peer network may be a network employ computing power or bandwidth of network participants for coupling nodes via an ad hoc arrangement or configuration, wherein the nodes serves as both a client device and a server. A social network may be a network of individuals, such as acquaintances, friends, family, colleagues, or co-workers, coupled via a communications network or via a variety of sub-networks. Potentially, additional relationships may subsequently be formed as a result of social interaction via the communications network or sub-networks. A social network may be employed, for example, to identify additional connections for a variety of activities, including, but not limited to, dating, job networking, receiving or providing service referrals, content sharing, creating new associations, maintaining existing associations, identifying potential activity partners, performing or supporting commercial transactions, or the like. A social network also may generate relationships or connections with entities other than a person, such as companies, brands, or so-called ‘virtual persons.’ An individual's social network may be represented in a variety of forms, such as visually, electronically or functionally. For example, a “social graph” or “socio-gram” may represent an entity in a social network as a node and a relationship as an edge or a link. Overall, any type of network, traditional or modern, that may facilitate information transmitting or advertising is intended to be included in the concept of network in the present application.
A client device may vary in terms of capabilities or features. Claimed subject matter is intended to cover a wide range of potential variations. For example, a client device may include a keypad/keyboard 256 or a display 254, such as a monochrome liquid crystal display (LCD) for displaying text. In contrast, however, as another example, a web-enabled client device may include one or more physical or virtual keyboards, mass storage, one or more accelerometers, one or more gyroscopes, global positioning system (GPS) 264 or other location-identifying type capability, or a display with a high degree of functionality, such as a touch-sensitive color 2D or 3D display, for example.
A client device may include or may execute a variety of operating systems 241, including a personal computer operating system, such as a Windows, iOS or Linux, or a mobile operating system, such as iOS, Android, or Windows Mobile, or the like. A client device may include or may execute a variety of possible applications 242, such as a browser 245 and/or a messenger 243. A client application 242 may enable communication with other devices, such as communicating one or more messages, such as via email, short message service (SMS), or multimedia message service MMS), including via a network, such as a social network, including, for example, Facebook, LinkedIn, Twitter, Flickr, or Google, to provide only a few possible examples. A client device may also include or execute an application to communicate content, such as, for example, textual content, multimedia content, or the like. A client device may also include or execute an application to perform a variety of possible tasks, such as browsing, searching, playing various forms of content, including locally stored or streamed video, or games such as fantasy sports leagues). The foregoing is provided to illustrate that claimed subject matter is intended to include a wide range of possible features or capabilities.
The server 300 may serve as a search server 106 or a content server 107. A content server 107 may include a device that includes a configuration to provide content via a network to another device. A content server may, for example, host a site, such as a social networking site, examples of which may include, but are not limited to, Flicker, Twitter, Facebook, LinkedIn, or a personal user site (such as a blog, vlog, online dating site, etc.). A content server 107 may also host a variety of other sites, including, but not limited to business sites, educational sites, dictionary sites, encyclopedia sites, wikis, financial sites, government sites, etc. A content server 107 may further provide a variety of services that include, but are not limited to, web services, third party services, audio services, video services, email services, instant messaging (IM) services, SMS services, MMS services, FTP services, voice over IP (VoIP) services, calendaring services, photo services, or the like. Examples of content may include text, images, audio, video, or the like, which may be processed in the form of physical signals, such as electrical signals, for example, or may be stored in memory, as physical states, for example. Examples of devices that may operate as a content server include desktop computers, multiprocessor systems, microprocessor type or programmable consumer electronics, etc.
For web portals like Yahoo!, advertisements may be displayed on web pages resulting from a user-defined search based at least in part upon one or more search terms. Advertising may be beneficial to users, advertisers or web portals if displayed advertisements are relevant to interests of one or more users. Thus, a variety of techniques have been developed to infer user interest, user intent or to subsequently target relevant advertising to users. One approach to presenting targeted advertisements may include employing demographic characteristics (e.g., age, income, sex, occupation, etc.) for predicting user behavior, such as by group. Advertisements may be presented to users in a targeted audience based at least in part upon predicted user behavior(s). Another approach may include profile-type ad targeting. In this approach, user profiles specific to a user may be generated to model user behavior, for example, by tracking a user's path through a web site or network of sites, and compiling a profile based at least in part on pages or advertisements ultimately delivered. A correlation may be identified, such as for user purchases, for example. An identified correlation may be used to target potential purchasers by targeting content or advertisements to particular users.
Thus, for each online advertisement to be shown, the publisher 404 may contact advertisers 408 that may be interested in the online advertisement display opportunity 402 with relevant information/features thereof. The relevant information/features may include, but may not be limited to, an advertisement key word, website visiting information, information related to where the advertisement will be shown (such as the section of a webpage, a Uniform Resource Locater (URL) of the webpage, a location on the webpage, and/or a size of the advertisement on the webpage) and/or information about the viewers (such as their demographic information, geographic information, and/or information stored in cookies of their computer and/or interne surfing devices) of this opportunity.
Once the advertisers 408 received an annotation 406 of the online advertisement display opportunity 402 from the publisher 404, the publisher 404 may seek monetize the online advertisement display opportunity 402 by holding an online advertisement auction 412 among the advertisers 408.
Various monetization techniques or models may be used in connection with sponsored search advertising, including advertising associated with user search queries, or non-sponsored search advertising, including graphical or display advertising. In an auction-type online advertising marketplace, advertisers may bid in connection with placement of advertisements, although other factors may also be included in determining advertisement selection or ranking. Bids may be associated with amounts advertisers pay for certain specified occurrences, such as pay-per-impression, pay-per-click, pay-per-acquisition, or any other online advertisement auction methodology known in the art. Advertiser payment for online advertising may be divided between parties including one or more publishers or publisher networks, one or more marketplace facilitators or providers, or potentially among other parties. Some models may include guaranteed delivery advertising, in which advertisers may pay based at least in part on an agreement guaranteeing or providing some measure of assurance that the advertiser will receive a certain agreed upon amount of suitable advertising, or non-guaranteed delivery advertising, which may include individual serving opportunities or spot market(s), for example. In various models, advertisers may pay based at least in part on any of various metrics associated with advertisement delivery or performance, or associated with measurement or approximation of particular advertiser goal(s). For example, models may include, among other things, payment based at least in part on cost per impression or number of impressions, cost per click or number of clicks, cost per action for some specified action(s), cost per conversion or purchase, or cost based at least in part on some combination of metrics, which may include online or offline metrics, for example.
The online advertisement auction 412 may adopt a second-price rule with a reserved price 422 set by the publisher 404 prior to the auction 412. To this end, the publisher 404 may send the information of the opportunity 402 to a server 416. The server 416 may search a database of historical online advertisement auctions stored in a medium 418, such as a computer-readable storage medium, through set of instructions stored in the medium 418 and return to the publisher 404 a suggested reserve price. The publisher 404 may then use the suggested reserve price as a reference value for the reserve price 422 and conduct the online advertisement auction 412.
Since the revenue of an auction depends not on the 1st bid price 520 but on the highest of reserve price 510 and 2″d bid price 530, from a perspective of a publisher, a more favorable situation is to set the reserve price 510 as high as possible but not to exceed the 1st bid price (where the auction fails). But due to the random nature of the biding prices in an individual auction, a higher reserve price may increase the risk of cancelling an online advertisement auction. Thus, a wiser strategy may be to balance the revenue of an auction and the risk of the auction being cancelled to compute a suggested reserve price that may statistically provide the highest and/or desired revenue expectation, according to the opportunity to display an advertisement.
Referring back to
For example, each historical online advertisement auction datum may include information associated with its bidders and/or its top two bids, i.e., the 1st bid price and the 2nd bid price; and the opportunity of each historical online advertisement auction may include, but is not limited to, information of an advertisement key word, website visiting information, information related to where the advertisement will be shown (such as the section of its webpage, a URL of the webpage, a location of the advertisement on the webpage, and/or a size of the advertisement on the webpage) and/or information about viewers and/or bidders (such as demographic information, geographic information, and/or information stored in cookies) of this opportunity.
Further, each section 620 may contain historical online advertisement auctions 710 associated with similar opportunities, i.e., each opportunity that is associated with a historical online advertisement auction 710 may have similar features with that of a reference opportunity 720. For example, each opportunity that is associated with a historical online advertisement auction in one section may include a feature that the user of the webpage on which the online advertisement was displayed is a female. As a result, sections 620 are mutually exclusive, and an opportunity of an online historical auction may only match one section. If a section is large and/or not refine enough, the section may be further divided into sub-sections 630 with finer categorized characters of the opportunities until bidding behaviors of the historical online advertisement auctions 710 in each individual sub-section 630 may remain substantially consistent.
The server may divide a section 620 into subsections 630 using a straightforward decision-tree-based approach, in which the server may discretize a joint distribution over the 1st and 2nd bid prices into equal-count bins, treat the bin as the class label, and pass the data set into a C4.5 decision tree. For example, the 1st bid prices and 2nd bid prices may be discretized into a number of levels according to their values, wherein each level is called a “bin” and is represented by a number, such as 1, 2, 3, . . . N. Thus if level 5 represents a price between $0.91 and $1.20, and level 6 represents a price between $1.21 and $1.50, a bidding price of $1.50 may be classified as bin No. 6 and a bidding price of $0.95 may be classified as bin No. 5. Accordingly, for an historical auction in which the 1st bid price is $1.50 and the 2nd bid price is $0.95, the outcome (1st bid price=$1.50, 2nd bid price=$0.95) may be mapped to (6, 5). This cross product expression of (1st bid price bin, 2nd bid price bin) may be used to label the historical auctions. Thus for N=10, i.e., there are ten bins for both the 1st bid price and the 2nd bid price, there will be one hundred 1st bid price bin and 2nd bid price bin combinations to label the historical auctions. To discretize the bid prices into equal-count bins, endpoints (i.e., price ranges) of each bin may be careful selected such that an equal number of bids fall into each bin. For example, the discretization for the 1st bid might be: <$0.20 is bin 1, between $0.21 and $0.45 is bin 2, etc. Further, since the distribution of the 1st bid prices and 2nd bid prices may differ from each other, the endpoints of each bin for the 1st bid prices and the 2nd bid prices may be separately selected.
It should be noted that the equal-count bin method above is merely an example to build a tree. Any other method may be used to build the database 610 into a tree, such as regression trees, which can handle real valued labels.
Referring back to
After the database construction is completed, the server 416 may update the data in the clusters 400 periodically. Once the clusters 400 are updated, the server 416 may obtain and/or compute desired data for each cluster 700 periodically and store the desired data in the medium 418. The period to update the data of clusters 400 may or may not be the same as the period to compute and/or update the desired data for a cluster 700. For example, clusters 400 may be updated and/or selected daily using all data from the past week while the desired data of a cluster 700 may be re-calculated hourly using the last hour of data for that cluster 700. The desired data may include, but may not be limited to, information related to the mean and variance of the 1st and 2nd bids prices, and/or the individual probability distributions and/or joint probability distribution over the 1st and 2nd bid prices of a cluster, and/or a suggested reserve price for the cluster 700.
Before describing the computer implementation of the method, the PHO Method is first introduced as follows. Assuming that there are n historical online advertisement auctions in the cluster 700, according to the example embodiment, the PHO Method may first group all the 1st bid prices F1˜Fn of the n historical online advertisement auctions in the cluster 700 into group 910 and group all the 2nd bid prices S1˜Sn of the n historical online advertisement auctions in the cluster 700 in to group 920. The bid prices of each group may be arranged in a particular order, so that the 2 groups are one-to-one mapping with respect to each other. For example, the 1St bid prices may be listed in ascending order, i.e.:
F
1
≦F
2
≦ . . . ≦F
n,
and the 2nd bid may be listed in ascending order, i.e.:
S
1
≦S
2
≦ . . . <S
n.
Next, the PHO Method may create a group of candidate reserve prices 930 including m candidate prices r1-rm. The group of m candidate reserve prices 930 may be a subgroup of the 1st bid prices 910, which provides m≦n, and each of the m candidate prices r1-rm is a 1st bid price from group 910. The PHO Method then may treat each corresponding pair of prices (e.g. Fj-Sj pair) from groups 910 and 920 as the 1st bid price and 2nd bid price of an imaginary auction. For a particular candidate reserve price ri among r1-rm in group 930, the PHO Method may calculate revenue of each of the n imaginary auctions represented by groups 910 and 920 under the second-price rule. The PHO Method then may sum the revenues of the n imaginary auctions to obtain accumulative revenue R. The accumulative revenue R thus may represent expected total revenue for n online advertisement displays (e.g., n impressions, n clicks, n acquisitions, and/or any other online advertisement auction methodology known in the art) that associate with n opportunities similar to that of the cluster if the publisher 404 set each reserve price as ri.
To obtain maximum and/or desired revenue for the cluster 700, the PHO method may calculate accumulative revenue R that corresponds to each candidate reserve price r1-rm in group 930 (thus obtain a group of cumulative revenue being one-to-one mapping of the candidate reserve price group 930) and select the maximum accumulative revenue Rmax and/or desired accumulative revenue. The PHO Method may then return the corresponding candidate reserve price as a suggest reserve price rsuggested for an online advertisement display opportunity that is substantially similar to that of the cluster 700.
Next, the computer implementation of the PHO Method as shown in
Next, the server 416 may operate the program 420 to create a group of candidate reserve prices 930, which includes m candidate prices r1-rm. The group of m candidate reserve prices 930 may be a subgroup of the 1st bid prices 910, i.e., m≦n, and each of the in candidate prices may be a 1St bid price from group 910.
The server 416 may then operate the program 420 to create two numerical variables Rmax and rsuggested as well as two pointer variables i and j, wherein the two pointer variables i, j respectively point to the ith and jth prices in groups 930 and 920. In step 941, the server 416 may operate the program 420 to assign an initial value to each variable. For example:
i=1, j=0, rsuggested=0, and
R
max=Σp=1nSp.
Then, in step 942, the server 416 may operate the program 420 to assign to a numerical variable r the value of an ith candidate reserve price ri in group 930. The server 416 may then decide in step 943 whether the jth value Sj of the 2nd bid price group 920 is lesser than the value of variable r. If yes, the server 416 may operate the program 420 to move the pointer variable j to the next 2nd bid price in group 920, i.e. to increase the value j by 1, as shown in step 944, until it finds a value Sj≧r. At that point, the server 416 may operate the program 420 to compute cumulative revenue:
R=r(j−i)+Σp=jnSp,
as shown in step 945.
In steps 946-947, the server 416 may operate the program 420 to decide whether the cumulative revenue R is greater than the numerical variable Rmax. If yes, the server 416 may operate the program 420 in step 947 to assign the value of the cumulative revenue R to the numerical variable Rmax and assign the numerical variable rsuggested the value of r before proceeding to step 948. If the cumulative revenue R is not greater than the numerical variable Rmax, the server 416 may operate the program 420 to directly move to step 948. At step 948, the server 416 may decide to end the program 420 if the pointer variable i has already pointed to the last candidate reserve price in group 930. Otherwise, the server 416 may operate the program to move the pointer variable i to the next candidate reserve price at step 949, i.e., i=i+1, return to step 942, and operate the loop between steps 942-948 again until the pointer variable i reaches the last candidate reserve price in group 930. When the server 416 finishes the loop between steps 942-949, the server 416 may return and store the value of rsuggested in the medium 418 as a suggested reserve price associated with the cluster 700, so that when there is an online advertisement display opportunity that is substantially similar to that of the cluster 700, the publisher 404 may use the suggested reserve price rsuggested as the reserve price 422 for the auction 412.
Next, there is provided another suggested reserve price calculating method other than the PHO Method.
Referring to
Referring to
ƒƒ(x)=∫o∞ƒ(x,y)dy;
the probability that a 1st bid price in the cluster 700 falls between [0, p] may be expressed as:
F
s(p)−∫0p∫0∞∫(x,y)dxdy,
and the probability that a 2nd bid price in the cluster 700 falls between [0, p] may be expressed as:
F
ƒ(p)=∫0p∫028ƒ(x,y)dydx.
Next, in step 1012, the test 1010 may calculate a total density value using the equation:
TD=∫P
meaning the probability of a 1St bid price of an historical online advertisement auction 710 in the cluster 700 falls between the price range [Pmin, Pmax]. The test 1010 may also calculate a stochastic density SD, meaning the probability that the 1st bid price is equal to or greater than the 2nd bid price at any point between [Pmin, Pmax] weighed by the 1st bid price distribution ƒƒ(x) at that point. The expression of SD may be:
SD=∫P
but SD only has value when FS(x)≧Fƒ(x). Finally, the test 1010 may determine in step 1013 whether the probability that the 1st bid price is equal to or greater than the 2nd bid price is higher than a threshold value I0, i.e.,
SD≧I0·TD.
If the test 1010 determines
SD<I0·TD,
the 1st bid price distribution may not dominate the 2nd bid price distribution to an extent as wished. In this situation, the BFP Method may return a nominal reserve price r0 as a suggested reserve price, as shown in step 1023. If the test 1010 determines
SD≧I0·TD,
the 1st bid price distribution may dominate the 2nd bid price distribution to an extend as wished. The BFP Method may calculate between a price range [Pmin, Pmax] a suggested reserve price rsuggested associated with maximum and/or desired revenue expectation for the cluster 700, as shown in step 1022 of the calculation 1020. In some implementations, the revenue expectation may be expressed as:
R(p)=p[FS(p)−Fƒ(p)]+∫p∞xdFS(x)
Next, a computer implementation of the BFP Method is described.
In test 1110, a server 416 may operate the program 420 to test the stochastic dominance relationship of the 1st bid price distribution and the 2nd bid price distribution associated with a cluster 700. As shown in step 1111, the program may first assign price boundaries [Pmin, Pmax] of the calculation. Using a price variable x with a step increment , the test 1110 may test the stochastic dominance relationship of the 1st and 2nd price distributions point by point between [Pmin, Pmax].
Over the loop 1112-1116, the server 416 may operate the program 420 to calculate a total density value TD (step 1112). TD may take a form
TD=TD+ƒƒ(x)
as an approximation to the integral of ƒƒ(x) over the range [Pmin, Pmax], which represents the probability that the first bid falls in that range. The loop between steps 1112-1116 may also calculate a stochastic density SD (step 1114) subject to a condition that
F
S(x)≧Fƒ(x)(step 1113).
SD may take a form
SD=SD+ƒƒ(x),
representing an approximation to the integral of ƒƒ(x) over the range [Pmin, Pmax]. SD thus may represent a probability that the 1st bid price is equal to or greater than the 2nd bid price over the range [Pmin, Pmax] weighed by the probability that the 1st bid price falls into that range.
After finishing the loop between steps 1112 and 1116, the server 416 may operate the program 420 to decide in step 1117 whether
SD≧I0·TD,
i.e., whether the probability that the 1st bid price is equal to or greater than the 2nd bid price is higher than a threshold value I0. The value of I0 may be around 0.9.
Now referring to the calculation step 1120, if the test 1110 determines
SD<I0·TD,
the distributions may not behave nicely as wished, i.e., the 1st bid price distribution may not dominate the 2nd bid price distribution to an extent as wished. The server 416 may operate the program 420 to assign a nominal reserve price r0 as a suggested reserve price rsuggested (step 1123). The nominal reserve price r0 may be a minimal reserve price acceptable for an opportunity of online advertisement display that is substantially similar to that of the cluster 700.
If the test 1110 determines
SD≧I0·TD,
the 1st bid price distribution may dominate the 2nd bid price distribution to an extent as wished. The server 416 may operate the program 420 to assign a price range [Pmin, Pmax] and a step increment value , and calculate point by point with the increment
between a price range [Pmin, Pmax] (step 1122) a suggested reserve price associated with maximum and/or desired revenue expectation for an opportunity of online advertisement display that is substantially similar to that of the cluster 700, as shown in the loop of steps 1124-1128. The set of price range and increment value may or may not be the same as used in test 1110.
In some implementations, the revenue expectation may be expressed as:
R(x)=r[FS(x)−Fƒ(x)]+∫x∞pdFS(p),
as shown in step 1124. In steps 1125-1126, the server may operate the program to find the highest revenue expectation value, saved as Rmax, and its corresponding reserve price value, saved as rsuggested. Further, steps 1127 and 1128 may function to keep the loop of steps 1124-1128 running until the server 416 finishes the calculation between the price range [Pmin, Pmax].
When the server 416 finishes the steps between steps 1122-1129, the server 416 may return and store the value of rsuggested in the medium 418 as a suggested reserve price associated with the cluster 700. When the there is an online advertisement display opportunity that is substantially similar to that of the cluster 700, the publisher 404 may use the suggested reserve price rsuggested as the reserve price 422 for the auction 412.
As described above, systems and computer-implemented methods may provide automated reserve-price computation that publishers may use to optimize the yield on their inventory. In some implementations, the described systems and methods may compute a reserve price using bidding data of a cluster of similar historical online advertisement auctions and a Brute-Force Parameter model. In other implementations, the described systems and methods may compute a reserve price using bidding data of a cluster of similar historical online advertisement auctions and a Post-Hoc Optimal model. In addition, the present application also provides programs adopting that described methods, where the programs comprise instructions stored on a computer-readable storage medium that may be executed by a processor of a device such as servers.
However, it is intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, that are intended to define the spirit and scope of this invention.
For example, while the above-described systems and methods have been described with respect to optimizing yields of advertisement display auctions, it will be appreciated that the same systems and methods may be implemented to optimize the yields of auctions that are not related to advertisement display.
Further, while the above-described systems and methods have been described with respect to optimizing the yields of online auctions, it will be appreciated that the same systems and methods may be implemented to optimize the yields of auctions that are not held online and/or not related to online activities.
Also, while the above-described systems and methods have been described with respect to optimizing the yields of auctions held by publishers and bided by advertisers, it will be appreciated that the same systems and methods may be implemented to optimize the yields of auctions held by any auction holder and bided by any auction attendances.
In addition, while example embodiments have been particularly shown and described with reference to
Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, the phrase “in one embodiment” or “in one example embodiment” as used herein does not necessarily refer to the same embodiment and the phrase “in another embodiment” or “in another example embodiment” as used herein does not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter include combinations of example embodiments in whole or in part.
The terminology used in the specification is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the invention. In general, terminology may be understood at least in part from usage in context. For example, terms, such as “and”, “or”, or “and/or,” as used herein may include a variety of meanings that may depend at least in part upon the context in which such terms are used. Typically, “or” if used to associate a list, such as A, B or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B or C, here used in the exclusive sense. In addition, the term “one or more” as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context. In addition, the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
Likewise, it will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between”, “adjacent” versus “directly adjacent”, etc.).
It will be further understood that the terms “comprises”, “comprising,”, “includes” and/or “including”, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof, and in the following description, the same reference numerals denote the same elements.