U.S. patent application number 14/319832 was filed with the patent office on 2015-11-19 for artist tour generation.
The applicant listed for this patent is Edward O'Neil Garcia. Invention is credited to Edward O'Neil Garcia.
Application Number | 20150332384 14/319832 |
Document ID | / |
Family ID | 54480705 |
Filed Date | 2015-11-19 |
United States Patent
Application |
20150332384 |
Kind Code |
A1 |
Garcia; Edward O'Neil |
November 19, 2015 |
ARTIST TOUR GENERATION
Abstract
Systems, computer-implemented methods, and computer-readable
storage mediums for determining tour locations are disclosed. Users
are provided access to items of an online marketplace of a first
user. Data is received from the first user that includes a request
to determine a tour location of a tour. User accesses to the items
of the online marketplace are monitored. Based at least on the
monitored user accesses, values for candidate locations are
determined. One of the candidate locations are selected based at
least on the determined values of the candidate locations. The
selected location of the candidate locations may be provided to the
first user.
Inventors: |
Garcia; Edward O'Neil;
(Redwood City, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Garcia; Edward O'Neil |
Redwood City |
CA |
US |
|
|
Family ID: |
54480705 |
Appl. No.: |
14/319832 |
Filed: |
June 30, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61994044 |
May 15, 2014 |
|
|
|
Current U.S.
Class: |
705/27.1 |
Current CPC
Class: |
G06Q 30/0641
20130101 |
International
Class: |
G06Q 30/06 20060101
G06Q030/06 |
Claims
1. A system comprising: one or more processors; an online
marketplace interface module configured to provide, to a plurality
of users, access to items of an online marketplace of a first user
of the plurality of users; a tour generator interface configured to
receive, from a first client device of the first user, data
including a request to determine a tour location of a tour; a
monitor module configured to monitor, executable by the one or more
processors, user accesses to the items of the online marketplace;
and a location selector module configured to determine values for
candidate locations based at least on the monitored user accesses,
the location selector module being further configured to select one
of the candidate locations based at least on the determined values
of the candidate locations, the tour generator interface being
further configured to provide, to the first user, the selected
location of the candidate locations.
2. The system of claim 1, wherein the data received from the first
user further includes a threshold, the location selector module
being configured to select the selected one of the candidate
locations responsive to the value of the selected one of the
candidate locations being greater than the threshold.
3. The system of claim 1, wherein the data received from the first
user further includes a start time and an end time, the monitor
module being configured to monitor the user accesses between the
start time and the end time, the location selector module being
configured to select the selected one of the candidate locations
responsive to reaching the end time.
4. The system of claim 1, wherein the data received from the first
user further includes geographic parameters, the location selector
module being configured to select the selected one of the candidate
locations in accordance with the geographic parameters.
5. The system of claim 1, wherein the tour generator interface is
further configured to provide, to the plurality of users, rankings
including at least one of the candidate locations or the plurality
of users, the rankings being based on the values determined from
the user accesses.
6. The system of claim 1, wherein the user accesses include at
least one of streaming media content, downloading media content,
purchasing physical merchandise, sharing the online marketplace
with one or more contacts, or pre-ordering a ticket for one of the
candidate locations.
7. The system of claim 1, wherein the monitor module is configured
to monitor the user accesses by at least: receiving, from a second
client device of a second user, a user request to access a selected
one of the items of the online marketplace; and in response to
receiving the user request, determining a locale of the second
user, the determining of the values of the candidate locations
being based at least on the request and the locale.
8. The system of claim 1, wherein the tour generator interface is
configured to provide, responsive to the receiving of the data,
notifications to one or more users of the plurality of users, the
notification providing an indication that a tour generation process
has been initiated.
9. The system of claim 1, wherein the location selector module is
configured to determine the values of the candidate locations by at
least: matching the user accesses to respective candidate
locations; computing respective values of the user accesses; and
combining the computed values of the user accesses matched to
corresponding candidate locations.
10. The system of claim 1, wherein the location selector module is
configured to select the one of the candidate locations by at
least: determining selection parameters based on the data received
from the first client device of the first user; and ranking the
candidate locations based on the determined values of the candidate
locations, the selecting of the selected on of the candidate
locations being based on the ranking of the candidate tour
locations and based on the determined selection parameters.
11. The system of claim 1, wherein the tour generator interface is
further configured to provide a reward to at least a selected user
of the plurality of users based on the values determined from user
accesses.
12. The system of claim 1, wherein the data received from the first
user includes a specified number of tickets reserved for purchase
by users of the plurality of users that have locales matched to the
selected candidate location.
13. A method for tour generation, the method comprising: providing,
to a plurality of users, access to items of an online marketplace
of a first user of the plurality of users; receiving, from a first
client device of the first user, data including a request to
determine a tour location of a tour; monitoring, using one or more
computer processors, user accesses to the items of the online
marketplace; determining values for candidate locations based at
least on the monitored user accesses; selecting one of the
candidate locations based at least on the determined values of the
candidate locations; and providing, to the first user, the selected
location of the candidate locations.
14. The method of claim 13, further comprising: comparing the
determined values for the candidate locations to a threshold
included by the data, wherein the selecting of the one of the
candidate locations is responsive to the value of the selected one
of the candidate locations being greater than the threshold.
15. The method of claim 13, wherein the data received from the
first user further includes geographic parameters, the selection of
the selected one of the candidate locations being in accordance
with the geographic parameters.
16. The method of claim 13, further comprising providing, to the
plurality of users, rankings of at least one of the candidate
locations or the plurality of users, the rankings being based on
the values determined from the user accesses.
17. The method of claim 13, wherein the determining of the values
of the candidate locations comprising: matching the user accesses
to respective candidate locations; computing respective values of
the user accesses; and combining the computed values of the user
accesses matched to corresponding candidate locations.
18. A machine-readable storage medium embodying instructions that,
when executed by a machine, cause the machine to perform operations
comprising: providing, to a plurality of users, access to items of
an online marketplace of a first user of the plurality of users;
receiving, from a first client device of the first user, data
including a request to determine a tour location of a tour;
monitoring, using one or more computer processors, user accesses to
the items of the online marketplace; determining values for
candidate locations based at least on the monitored user accesses;
selecting one of the candidate locations based at least on the
determined values of the candidate locations; and providing, to the
first user, the selected location of the candidate locations.
19. The machine-readable storage medium of claim 18, further
embodying instructions that, when executed by the machine, cause
the machine to perform operations comprising: comparing the
determined values for the candidate locations to a threshold
included by the data, wherein the selecting of the one of the
candidate locations is responsive to the value of the selected one
of the candidate locations being greater than the threshold.
20. The machine-readable storage medium of claim 18, wherein the
data received from the first user further includes geographic
parameters, the selection of the selected one of the candidate
locations being in accordance with the geographic parameters.
Description
PRIORITY CLAIM UNDER 35 USC 119(e)
[0001] The present application claims the benefit of priority under
35 U.S.C. 119(e) of U.S. Provisional Patent Application Ser. No.
61/994,044, filed May 15, 2014, titled "ARTIST TOUR GENERATION,"
which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] Example embodiments of the present application generally
relate to online marketplaces and, more particularly, to a system
and method for facilitating user interactions.
BACKGROUND
[0003] Marketplaces can be online and/or real world (e.g., brick
and mortar). Online marketplaces can include websites or mobile
applications where users may buy or sell goods or services
(referred to collectively as "items") from a provider of the online
marketplace or other users of the online marketplace. The goods or
services (referred to collectively as "items") are described in a
published listing. Similar to online marketplaces, real-world
online marketplaces may have websites that allows users to view
inventory or interact with the real-world online marketplace.
[0004] Artists may provide media content by way of online markets.
In particular, musicians, authors, filmmakers, actors, and the like
may upload digital media content to an online marketplace for
access other users, consumers, and fans. Additionally, consumers
may purchase physical merchandise online.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] In the drawings, which are not necessarily drawn to scale,
like numerals may describe similar components in different views.
Like numerals having different letter or numeric suffixes may
represent different instances of similar components. The drawings
illustrate generally, by way of example, but not by way of
limitation, various embodiments discussed in the present
document.
[0006] FIG. 1 is a network diagram depicting a client-server
system, within which one example embodiment may be deployed.
[0007] FIG. 2 is schematic diagram illustrating an example
embodiment of an artist online marketplace network including
multiple networked devices forming at least a portion of the
client-server system of FIG. 1.
[0008] FIG. 3 is a block diagram illustrating an example embodiment
of a tour generator system including multiple modules forming at
least a portion of the client-server system of FIG. 1.
[0009] FIGS. 4A-4C are interface diagrams illustrating example user
interfaces, according to example embodiments.
[0010] FIG. 5 is a block diagram illustrating example data
structures including data fields for determining tour locations, in
accordance with an example embodiment.
[0011] FIG. 6 is a flowchart illustrating a method for determining
a tour location, in accordance with an example embodiment.
[0012] FIG. 7 is an interaction diagram illustrating a method of
determining a tour location, in accordance with an example
embodiment.
[0013] FIG. 8 is a flowchart illustrating a method for monitoring
user accesses to items of an online market, in accordance with an
example embodiment.
[0014] FIG. 9 is a flowchart illustrating a method for determining
values for candidate locations, in accordance with an example
embodiment.
[0015] FIG. 10 is a flowchart illustrating a method for selecting
one location of the candidate locations, in accordance with an
example embodiment.
[0016] FIG. 11 is a block diagram illustrating a mobile device,
according to an example embodiment.
[0017] FIG. 12 is a block diagram of machine in the example form of
a computer system within which instructions, for causing the
machine to perform any one or more of the methodologies discussed
herein, may be executed.
DETAILED DESCRIPTION
[0018] Reference will now be made in detail to specific example
embodiments for carrying out the inventive subject matter. Examples
of these specific embodiments are illustrated in the accompanying
drawings. It will be understood that they are not intended to limit
the scope of the claims to the described embodiments. On the
contrary, they are intended to cover alternatives, modifications,
and equivalents as may be included within the spirit and scope of
the disclosure as defined by the appended claims. In the following
description, specific details are set forth in order to provide a
thorough understanding of the subject matter. Embodiments may be
practiced without some or all of these specific details. In
addition, well known features may not have been described in detail
to avoid unnecessarily obscuring the subject matter.
[0019] In accordance with the present disclosure, components,
process steps, and/or data structures may be implemented using
various types of operating systems, programming languages,
computing platforms, computer programs, and/or general purpose
machines. In addition, those of ordinary skill in the art will
recognize that devices of a less general purpose or nature, such as
hardwired devices, field programmable gate arrays (FPGAs),
application specific integrated circuits (ASICs), or the like, may
also be used without departing from the scope and spirit of the
concepts disclosed herein. Embodiments may also be tangibly
embodied as a set of computer instructions stored on a computer
readable medium, such as a memory device.
[0020] Example methods and systems for determining tour locations
based on fan-artist interactions are described. In the following
description, for purposes of explanation, numerous specific details
are set forth in order to provide a thorough understanding of
example embodiments. It will be evident, however, to one skilled in
the art that the present invention may be practiced without these
specific details.
[0021] Media content may be accessed (e.g., viewed or purchased)
through a variety of digital means. Internet-based radio stations,
for example, may provide audio content from a variety of musicians
and radio personalities. In some cases, the online radio stations
may be free to the consumers and may provide some on-demand
functionality. Other types of media content may include books,
podcasts, television shows, movies, visual art (e.g., paintings,
photographs, etc.), and the like. Increasingly, consumers are
accessing media content from these online, and sometimes free,
sources. At the same time, there has been a proliferation of new
artists due to the low start-up costs that these digital sources
provide. As a result, selling media content may be less profitable.
Moreover, because of the large amount of media content available to
consumers, these consumers may become overwhelmed by choices, and
artists may find it difficult to gain the attention of consumers
and to create relationships with their fans.
[0022] Systems and methods described herein provide online
marketplaces that facilitate artist-fan interactions, for example,
by determining one or more stops of a tour that is being planned.
Increased artist-fan interactions as described herein may provide
the artist with an opportunity to generate additional revenue, as
well as improve the connection of the fans with the artist.
[0023] An online marketplace may provide media content from a
plurality of content creators/providers ("artists"). An online
marketplace may be a website, desktop application, mobile
application, or other client-server application through which a
user (e.g., "buyer," "consumer," or "fan") may be provided details
and new regarding the artist, access media content from the artist,
as well as purchase merchandise or services (referred to
collectively as "items"). The online marketplace may form part of
an online marketplace application that provides access to a
plurality of individual online marketplaces. For example, the
online marketplace application may include individual online
marketplaces for a plurality of bands, each individual online
marketplace providing items of the artist. As used herein, the term
"online marketplace" may refer to the individual online marketplace
or the online marketplace application that provides one or more
individual online marketplaces. As used herein, the term "accessing
an item" may include downloading or streaming media content,
purchasing media content, purchasing merchandise, sharing artist
information with other contacts, subscribing to receive further
information from the artist, and/or the like.
[0024] The items of the online marketplace may be provided in a
published listing. The listing may indicate various properties or
characteristics of the media content, good, service, or proposed
transaction. The online marketplace may publish the listing in a
view item page or another webpage. In example embodiments, the view
item page includes the description of the item and a number of
options that can be selected by the user viewing the page. The
options may include an option to purchase or bid on the item, an
option to watch the item, an option to send a link to the listing
in an electronic message (e.g., email, text message, private
message within a social network), or to share a link to the listing
via a social network. Social networks include, but are not limited
to TWITTER.TM., FACEBOOK.TM., LINKEDIN.TM., PINTEREST.TM., meet-up
sites, dating sites, and other sites where users can post content
or replies to content.
[0025] As stated, the online marketplace may facilitate artist-fan
interaction. For example, an artist having an associated online
marketplace may initiate a tour campaign that will be implemented
by the online marketplace. During the tour campaign, users of the
online market may take part in, either directly or indirectly,
selecting or "unlock" one or more tour stops. One way in which
users may influence the selection of the tour stops is through the
users' interactions with the online marketplace of the artist. For
example, via the artist's online marketplace, users may download
media content, purchase media content, subscribe or follow the
artist, share the artist to their contacts, and/or pre-order
tickets, among other actions, each of which may earn a certain
amount of points. Additional, fans may perform activities to help
promote the band in order to unlock a tour location. Accordingly,
disclosed embodiments may create a "viral" social networking
component that may increase the exposure of the band.
[0026] The points generated by users may be aggregated by candidate
tour stops--e.g., the points produced by users living near a city
may be combined to form the score of the city. In one embodiment,
the cities having the top scores may be selected to become tour
stops. Additionally or alternatively, each city, possibly up to a
limited number of cities that exceeds a threshold may be selected
to be tour stops.
[0027] FIG. 1 is a network diagram depicting a client-server system
100, within which one example embodiment may be deployed. A
networked system 102, in the example forms a network-based online
marketplace or publication system, provides server-side
functionality, via a network 104 (e.g., the Internet or Wide Area
Network (WAN)) to one or more clients. FIG. 1 illustrates, for
example, a web client 106 (e.g., a browser), and a programmatic
client 108 executing on respective client machines/devices 110 and
112.
[0028] An Application Program Interface (API) server 114 and a web
server 116 are coupled to, and provide programmatic and web
interfaces respectively to, one or more application servers 118.
The application servers 118 host one or more online marketplace
applications 120, and payment applications 122. The application
servers 118 are, in turn, shown to be coupled to one or more
databases servers 124 that facilitate access to one or more
databases 126.
[0029] The online marketplace applications 120 may provide a number
of online marketplace functions and services to users that access
the networked system 102. The payment applications 122 may likewise
provide a number of payment services and functions to users. The
payment applications 122 may allow users to accumulate value (e.g.,
in a commercial currency, such as the U.S. dollar, or a proprietary
currency, such as "points") in accounts, and then later to redeem
the accumulated value for items that are made available via the
online marketplace applications 120.
[0030] Further, while the system 100 shown in FIG. 1 employs a
client-server architecture, the present invention is of course not
limited to such an architecture, and could equally well find
application in a distributed, or peer-to-peer, architecture system,
for example. The various online marketplace and payment
applications 120, 122 could also be implemented as standalone
software programs, which do not necessarily have networking
capabilities.
[0031] In addition, while the various online marketplace and
payment applications 120, 122 have been described above as having
separate functionalities, in alternative embodiments these
functionalities may be performed by any one or more of the various
online marketplace and payment applications 120, 122.
[0032] The web client 106 accesses the various online marketplace
and payment applications 120 and 122 via the web interface
supported by the web server 116. Similarly, the programmatic client
108 accesses the various services and functions provided by the
online marketplace and payment applications 120 and 122 via the
programmatic interface provided by the API server 114. The
programmatic client 108 may, for example, be a seller application
(e.g., the TURBOLISTER.TM. application developed by EBAY INC..TM.,
of San Jose, Calif.) to enable sellers to author and manage
listings on the networked system 102 in an off-line manner, and to
perform batch-mode communications between the programmatic client
108 and the networked system 102.
[0033] FIG. 1 also illustrates a third party application 128,
executing on a third party server machine 130, as having
programmatic access to the networked system 102 via the
programmatic interface provided by the API server 114. For example,
the third party application 128 may, utilizing information
retrieved from the networked system 102, support one or more
features or functions on a website hosted by the third party. The
third party website may, for example, provide one or more
promotional, online marketplace, or payment functions that are
supported by the relevant applications of the networked system
102.
[0034] FIG. 2 is schematic diagram illustrating an example
embodiment of an artist online marketplace network 200 including
multiple networked user devices 110A-110E forming at least a
portion of the client-server system of FIG. 1. Elements common to
FIGS. 1 and 2 share common reference indicia, and only differences
between the Figures are described herein for the sake of brevity.
In particular, the user devices 110A-110E correspond to the client
machine 110 of FIG. 1 and are interconnected by the network 104 and
are communicatively coupled to the application server 126 and the
database(s) 126.
[0035] As illustrated, the user devices 110A-110E may each
correspond to a desktop computer, a laptop computer, tablet
computer, a mobile phone, or another type of device capable of
communicating with the network 104 and/or the application server
118. By way of example, the user devices 110A-110D, in particular,
may correspond to the user devices of users who are content
consumers, viewers, buyers, and/or the like (collectively referred
to as "fans"). Moreover, the user device 110E may correspond to the
device of a user who is a content producer, seller, and/or the like
(collectively referred to as an "artist"). It will be appreciated,
however, that user devices 110A-110E are referred to as either fans
or artists by way of example, and that each of the client devices
110A-110E may correspond to an artist and/or a fan, in accordance
with various use cases of embodiments. Accordingly, as used herein,
artists and fans may each be referred to as users.
[0036] The artist may have a corresponding online marketplace
providing access to one or more items, as well as additional
information related to the artist. Examples of items may include
digital media content, physical merchandise, and/or event tickets
and bookings. Items may also include graphical user interface
objects that allow users to share, like, and/or follow the online
marketplace. Digital media content may include, for example, music,
audio recordings, books, novels, graphic novels, podcasts,
television shows, movies, visual arts (e.g., paintings,
photographs, etc.), and the like. Merchandise may include, for
example, clothing, posters, memorabilia and collectable items,
stickers, autographed items, and the like. As such, examples of
artists include graphic designers, musicians, music producers,
authors, comic book writers and/or artists, filmmakers, actors,
celebrities, chefs, athletes, and the like. However, it will be
appreciated by a person of ordinary skill that artists can be any
user who provides media content and/or merchandise to the artist's
online marketplace. It will also be appreciated by a person of
ordinary skill that access may be given to the items based on a
purchase-based and/or an advertisement-based transactional
model.
[0037] In one example aspect, the artist may initiate a campaign to
plan a tour, wherein one or more locations of the tour may be
determined by the actions of the fans. A campaign, as used herein,
refers to a process for selecting locations of a tour, wherein the
fans may participate in the selection process. As will be described
below in greater detail, fans may influence the selection process
in one or more ways, including accessing items of the marketplace
of the artist. As stated, examples of accessing an item may include
downloading or streaming media content, purchasing media content,
purchasing merchandise, sharing artist information with other
contacts, and/or the like.
[0038] Accordingly, the application server 118 may store and
maintain data related to one or more online marketplaces by way of
the database 126. In particular, the application server 118 may
receive and transmit online marketplace data to and from the user
devices 110A-110E. In one example, the user devices 110A-110E may
implement a client-side application for displaying a user interface
of the online marketplaces to the users. These client-side
applications may retrieve data related to the online marketplaces
from the application server 118. For example, the data related to
the online marketplaces may be stored in the database 126. In an
alternative example, the online marketplaces may be provided as one
or more webpages. As such, the application server 118 may retrieve
data related to the webpages from the database 126 provide the
webpages to the client devices for display.
[0039] The user device 110E of the artist may transmit data related
to the artist's online marketplace to the application server 118.
The data may correspond to artist information, graphics and images,
media content, merchandise, a schedule of events, and the like.
Additionally, the user device 110E may transmit data related to a
campaign to the application server 118. The campaign data may
include a request to initiate a campaign, such as a process to
determine a tour location. In turn, the application server 118 may
update the online marketplace of the artist to include information
regarding the online marketplace and/or the campaign.
[0040] Users may interact with the one or more online marketplaces
via the user devices. For example, the fans may access items
provided by the artist's online marketplace. If there is an ongoing
campaign, the fans' accessing of the items of the online
marketplace may influence the outcome of the tour location
selection process.
[0041] In operation, the application server 118 may assign values
(or "points") for accessing items of the online marketplace. For
example, the application server may assign a predetermined amount
of points for particular types of accesses. In particular,
downloading or streaming media content, purchasing media content,
purchasing merchandise, sharing artists information with other
contacts, and the like may each be assigned a certain amount of
points. Furthermore, the application server 118 may combine points
by location in order to score and rank candidate locations for the
tour. For example, the points generated by users having a locale
associated with Boston can be combined to generate a score for
Boston. In the illustrated embodiment, scores can be generated
likewise for the cities of New York, San Francisco, and San Jose,
among others. Accordingly, cities may be ranked according to the
scores, and tour locations may be determined from the ranking.
Although, as described herein, a user access is described as being
assigned a number of "points" and that points from certain users
can be combined to form a "score," it will be appreciated that in
some embodiments points and scores refer to a quantitative
numerical values.
[0042] As stated, the application server 118 may combine the points
assigned in response to user accesses who have graphically-related
locales. The locale of a user may include the user's residence,
place of business, location in which the access occurred, and the
like. Geographically related locales include locales sharing the
same nearest city under consideration, such as a candidate location
of the tour. Candidate locations may include cities having at least
a predetermined population and being located within geographic
constraints, if any, as specified by the artist. However, in one
embodiment, the user may specify a list of cities to define the
candidate locations under consideration of the campaign.
[0043] Additionally or alternatively, the artist may specify a
threshold distance between candidate tour locations. Accordingly,
the points generated by users of different cities may be combined
together to generate a score for one candidate tour location. For
example, the points generated by the users of the user devices
110C, 110D may be combined to form a score for the "Bay Area"
candidate tour location, whereas the points generated by the users
of user devices 110A, 110B may separately contribute to the scores
of "Boston" and "New York," respectively. However, in some
situations, the artist may specify a (minimum) threshold distance
between candidate locations such that the points generated by the
users of the user devices 110A, 110B may be combined to form one
score, for example, for the "Northeast, USA."
[0044] Furthermore, users of the artist online marketplace network
200 may be able to interact with the online marketplace(s) in a
variety of ways. For instance, fans may be able to search and
browse the one or more online marketplaces in order to find
artists, media content, merchandise, and the like. Additionally,
fans may share, watch, like, subscribe, and the like operations in
order to follow, track, and/or promote artists. In particular, by
providing these operations, the application server 118 may
facilitate the fans' promoting and contributing to the progress of
campaigns.
[0045] FIG. 3 is a block diagram illustrating an example embodiment
of a tour generator system 300 including multiple modules 302-312
forming at least a portion of the client-server system 100 of FIG.
1. The modules 302-312 of the illustrated embodiment include an
online marketplace interface module(s) 302, a data storage
interface module(s) 304, a tour generator interface module(s) 306,
a monitor module(s) 308, a location selector module(s) 310, and a
communication interface modules(s) 312. In some embodiments, the
components of the tour generator system 300 can be included by the
online marketplace application 120 of FIG. 1. However, it will be
appreciated that in alternative embodiments, one or more components
of the tour generator system 300 described below can be included,
additionally or alternatively, by other devices, such as one or
more of the servers 114, 116, 118, 130, the network 104, and/or the
client machines 110, 112 of FIG. 1.
[0046] Accordingly, the modules 302-312 of the tour generator
system 300 may be hosted on dedicated or shared server machines
that are communicatively coupled to enable communications between
server machines. Each of the modules 302-312 is communicatively
coupled (e.g., via appropriate interfaces) to each other and to
various data sources, so as to allow information to be passed
between the modules 302-312 or so as to allow the modules 302-312
to share and access common data. The various modules 302-312 may
furthermore access one or more databases servers 124 that
facilitate access to one or more databases 126.
[0047] The tour generator system 300 may facilitate artist-fan
interactions. In one aspect, the artist may provide input to the
tour generator that defines various aspects of a campaign to
determine one or more locations of an upcoming tour. In turn, fans
may interact with the online marketplace, including a profile page
and a storefront of the artist. Accessing items of the online
marketplace may affect the selection of the locations of the
upcoming tour. For example, a city associated with a high number of
fan activity (e.g., determined by the amount and types of user
accesses) may be awarded a tour stop of the upcoming tour.
Additionally or alternatively, some embodiments of the tour
generator system 300 may award other types of rewards, such as, but
is not limited to, exclusive content (e.g., a recording of one or
more live songs of the out), question-and-answer session via a
virtual chat room or a physical meet-up, merchandise, and the like
rewards that may not correspond include a tour stop. In one
embodiment, these types of rewards may be given to the users of a
selected city or to particular users. For example, users of an
honorable-mention placing city may be awarded a virtual online chat
session, or a highly-ranked user may receive signed memorabilia
from a tour stop of a selected candidate tour location.
[0048] To this end, the tour generator system 300 is shown to
include the online marketplace interface module 302 operatively
coupled to the data storage interface module 304, the tour
generator interface 306, the monitor module 308, the location
selector module 310, and the communication interface modules 312.
The online marketplace interface module 302 may be a
hardware-implemented module which may provide data to facilitate
one or more online marketplaces. For example, the online
marketplace interface module 302 may provide access to items of the
online marketplaces of artists for display on user devices. The
items may include one or more of media content (e.g., music,
videos, books, etc.), event tickets (e.g., concert tickets), and/or
merchandise. A user may access an item by downloading or streaming
media content, purchasing media content, purchasing merchandise,
sharing artist information with other contacts, subscribing to
receive updates from the online marketplace, and/or the like.
Access may be provided in accordance with a purchase transactional
model and/or an advertisement-based transaction model. In addition,
the online marketplaces may serve as a profile page for providing
information regarding the artist, such as background, artistic
vision, current news, images, and the like, displayed in accordance
with a theme of the artist. The online marketplace interface module
302 will be described in greater detail later in connection with
FIGS. 4A-4C.
[0049] The data storage interface module 304 may be a
hardware-implemented module which may store data and provide access
to the stored data. Data may be related to parameters, records, and
progress of the campaign. Additionally, records of user activities
may be recorded even outside the context of a campaign, in order to
provide real-time data to artists regarding fan activities and
trends. Embodiments of example data structures that may be stored
and provided by the storage interface module 304 will be described
in greater detail later in connection with FIG. 5.
[0050] The tour generator interface 306 may be a
hardware-implemented module which may facilitate determining
locations of a tour from one or more candidate tour location. For
example, the tour generator interface 306 module may receive data
from the artist via the online marketplace interface 302 as input.
The data may be related to initializing or requesting the start of
a campaign to use fan interactions to select the one or more tour
locations. Further, based on the data received from the artist, the
tour generator interface 306 may initialize the monitor and
location selector modules 308, 310 to perform activities that
facilitate the selection of the location of the tour, as will be
described below.
[0051] As stated, the tour generator interface 306 may receive,
from the client device of the artist, data including a request to
determine a tour location of a tour. The data received from the
artist may further include one or more thresholds, a start time, an
end time, geographic parameters. An example of a threshold may
correspond to a score of a candidate location in order to be
selected as a tour location. The start time and the end time may
correspond to the duration of the campaign, during which time user
accesses may be monitored and used to determine the selected
location. The geographic parameters may include data indicative of
the candidate location to be considered for the campaign, such as
geographic boundaries (e.g., North America) or a list of candidate
tour locations. As another example, geometric parameters may
include restrictions on the relationships between selected
candidate locations, such as minimum distances between selected
tour locations, number of selected candidate locations for one or
more sub-regions (e.g., four locations for the Northeast, USA;
three locations for the Southeast; etc.).
[0052] Additionally or alternatively, the data received from the
artist may provide an indication of a specified number of tickets
reserved for purchase by users that have locales matched to the
selected candidate location. For example, if a candidate tour
location is selected, then some amount of tickets (e.g., 30%) may
be reserved for users of the online marketplace. In particular,
users who have generated points for the selected location may be
given an opportunity to purchase event tickets before other users.
Furthermore, users may be offered an opportunity to purchase the
event ticket in an order based on the scores generated for each of
the users (for example, users may be offered to purchase tickets in
descending order of points generated by the respective users).
[0053] The tour generator interface 306 may be configured to
provide, responsive to the receiving of the data, notifications to
one or more users. For example, the notification may provide an
indication that a tour generation process has been initiated.
Further, the tour generator interface 306 may be configured to
provide indications to the users of the progress of the campaign or
that the campaign has ended.
[0054] The monitor module 308 may be a hardware-implemented module
which may be configured to monitor the user accesses to the items
of the online marketplace. The user accesses include at least one
of streaming media content, downloading media content, purchasing
physical merchandise, sharing the online marketplace with one or
more contacts, or pre-ordering a ticket for one of the candidate
locations. For example, the monitor module 308 may monitor the user
accesses by receiving a user request to access a selected item of
the online marketplace. In response to receiving the user request,
the monitor module 308 may determine a locale of the user of the
user access. The monitor module 308 will be described in greater
detail later in connection with FIG. 8.
[0055] The location selector module 310 may be a
hardware-implemented module which may determine values for
candidate locations based at least on the monitored user accesses.
For example, the location selector module 310 may receive the
monitored user accesses, including the associated locales, as
inputs from the monitor module 308. Furthermore, the monitor module
308 may determine a score for one more candidate locations. Based
on the determined scores, the location selector module 310 may
select one of the candidate locations. For example, in one
embodiment, the location selector module 310 may select a candidate
location responsive to the score of the selected one of the
candidate locations being greater than the threshold, or responsive
to reaching the end time and based on determining a ranking of
candidate locations.
[0056] The location selector module 310 may be configured to
determine the values of the candidate locations matching the user
accesses to respective candidate locations, computing the
respective values of the user accesses, and combining the computed
values of the user accesses matched to matching candidate
locations. For example, the location selector module 310 may
combine the points generated by users located in proximity to a
city to form the score for the city.
[0057] Additionally or alternatively, the location selector module
310 may be configured to select the one of the candidate locations
by at least determining selection parameters based on the data
received from the artist, ranking the candidate tour locations
based on the values of the candidate locations, and selecting,
based on the ranking, the one of the candidate locations. For
example, the location selector module 310 may select the top ten
highest scoring cities to form a tour based on user input received
from the artist at the onset of initializing the campaign. The
location selector module 310 will be described in greater detail
later in connection with FIGS. 9 and 10.
[0058] As stated, rewards may be provided to selected users. For
example, the tour generator inter 306 may be configured generate a
ranking of a plurality of users based on the points generated by
the users. The tour generator interface 306 may provide a reward to
at least a selected user of the plurality of users based on the
ranking. To provide feedback, the tour generator interface 306 may
provide the rankings, for display, to the users--e.g., as a
leaderboard of users and/or cities.
[0059] The communication interface module 312 may be a
hardware-implemented module which may facilitate the flow of the
information, data, and/or signals between the modules 302-212. In
addition, the communication interface module 312 can be configured
to support communication of the tour generator system 300 between
the servers and client machines of FIG. 1.
Example User Interfaces
[0060] FIGS. 4A-4C are interface diagrams illustrating example user
interfaces, according to example embodiments. FIG. 4A is an
interface diagram illustrating an example home screen interface
400, according to example embodiments. The home screen interface
400 includes a frame element 402 having a sub-frame 404 and a
location display element 406. The sub-frame element 404 includes
one or more online marketplace elements 408A-408E. Each online
marketplace element 408A-408E includes a graphic display element
410A-410E and information display elements 412A-412E. In this
example, the home screen interface 400 may correspond to a
graphical user interface displayed on a client device, such as the
user device 110 of FIG. 1. In one embodiment, the online
marketplace interface module 302 may provide the home screen
interface 400 to the user device 110. The user device 110 may
receive user input and provide the user input to the home screen
interface 400, which may, in turn, be communicated to the modules
302-312 of the tour generator system 300.
[0061] The home screen interface 400 may serve as an interface to
facilitate browsing, searching, and monitoring one or more online
marketplaces. For example, in the illustrated example embodiment of
FIG. 4A, the home screen interface 400 displays the online
marketplace elements 408A-408E of five bands. Each of the graphic
display elements 410A-410E may display images or graphics related
to each of the online marketplaces. Furthermore, the information
display elements 412A-412E may provide information regarding the
online marketplace, such as a name (e.g., band name).
[0062] If one of the online marketplace elements 408A-408E is
associated with an active or on-going campaign, the corresponding
information display element 412A-412E may be configured to display
information regarding the campaign. For example, the information
display elements 412A-412E may be figured to display name of the
event (e.g., a tour name), current state of progress of the
campaign (e.g., in terms of the remaining points to unlock a tour
location related to a locale of the user (e.g., the locale being
indicated by the location display element 406), the time remaining
in the campaign, and the like.
[0063] In some embodiments, the online marketplace elements
408A-408E may be configured to provide a video that can be
selectively played back for the user. For example, the online
marketplace element 408A may include a playback button 414A for
playing a video, such as a promotional video of the corresponding
artist or a corresponding active campaign. For instance, the video
can provide users information related to the campaign, such as an
explanation of the reward or event to be unlocked, how scores may
be determined, and the like parameters of the campaign.
[0064] In operation, the user may select one of the online
marketplace elements 408A-408E to navigate to a view detail
interface of the corresponding band, as will be described in
greater detail in connection with FIG. 4B.
[0065] FIG. 4B is an interface diagram illustrating an example view
detail interface 420, according to example embodiments. The view
detail interface 420 includes a frame element 421 having a message
sub-frame 422, an event sub-frame 424, a content sub-frame 426, and
a store sub-frame 428. In this example, the view detail interface
420 may correspond to a graphical user interface displayed on a
client device, such as the user device 110 of FIG. 1. The view
detail interface 420 may serve as a homepage to an artist's page
providing artist-related information, content, and merchandise. In
one embodiment, the online marketplace interface module 302 may
provide the view detail interface 420 to the user device 110. The
user device 110 may receive user input and provide the user input
to the view detail interface 420, which may, in turn, be
communicated to the modules 302-312 of the tour generator system
300.
[0066] The illustrated embodiment of FIG. 4B shows that the frame
element 421 includes text indicating the name of the artist of the
online marketplace, such as "First Band." The frame element 421
also includes the message sub-frame 422, such as a text box
element. The message sub-frame 422 may be configured to provide
messages about the artist to the viewers of the view detail
interface 420. In the illustrated embodiment, the message sub-frame
422 displays the message "The event is now unlocked. You can
confirm your ticket." This message indicates to the current viewer
of the view detail interface 420 that the event of the campaign has
been unlocked by, for example, exceeding a predetermined threshold
score. However, different users may not see this message. For
example, users of a city corresponding to an unlock location may
receive a different message, e.g., such as, "Keep earning points to
unlock a tour location for your city and to earn other
rewards."
[0067] The content sub-frame 426 of the frame element 421 may be a
user interface element which may be configured to provide, for
display, information concerning and access to media content of the
artist. For example, the content sub-frame 426 may display a
listing of a selection of the artist's media content library, such
as the three most accessed songs of the artist. As such, the
content sub-frame 426 may be a configured to rank a media-content
library of the artist based on various criteria, such as
popularity, published date, and the like. To display a listing of a
plurality of media content using reduced display area, the content
sub-frame 426 may include a scrollable list of media content which
may be selected by the user. When a listing of the content media is
selected, the view detail interface 420 may be configured to
provide the user the selected media content. Furthermore, the
content sub-frame 426 may include a selectable region configured to
navigate the user interface to a media library user interface (not
shown) for display a more complete listing of the media content of
the artist.
[0068] Additionally or alternatively, if there is an active
campaign, the content sub-frame 426 may be configured to display
information regarding the potential values or points that will be
awarded for accessing to the media content. In this way, users may
be incentivized to stream, download, purchase, and/or promote media
content of the artist.
[0069] The store sub-frame 428 of the frame element 421 may be a
user interface element which may be configured to display
information and provide access to items of the corresponding online
marketplace. For example, the store sub-frame 428 may display a
listing of a selection of the artist's store library, such as the
most-purchased merchandise of the artist. As such, the store
sub-frame 428 may be configured to rank a library of store items of
the artist based on various criteria, such as by popularity, date,
price, and the like. To efficiently display a listing of a
plurality of store items, the store sub-frame 420 may include a
scrollable list of store items which may be selected by the user.
When an item of the listing of the content media is selected, the
view detail interface 420 may be configured to provide the user a
view item interface, as will be described later in greater detail
in connection with FIG. 4C. Furthermore, the store sub-frame 428
may include a selectable region configured to navigate the user
interface to a store library user interface (not shown) for display
a more detailed listing of the store library of the artist.
[0070] Additionally or alternatively, if there is an active
campaign, the store sub-frame 428 be configured to display
information regarding the potential values assigned for accessing
to the store items displayed by the store sub-frame 428. In this
way, users may be incentivized to purchase and/or promote store
items, such as merchandise, of the artist.
[0071] FIG. 4C is an interface diagram illustrating an example view
item interface 440, according to example embodiments. The view item
interface 440 includes a frame element 441 having an image view
element 442, a description element 444, and a button 446. In this
example, the view item interface 440 may correspond to a graphical
user interface displayed on a client device, such as the user
device 110 of FIG. 1. The view item interface 440 may serve as a
graphical interface page of a particular item of the artist's
online marketplace in order to provide users details of the
particular item. In one embodiment, the online marketplace
interface module 302 may provide the view item interface 440 to the
user device 110. The view item interface 440 may be provided
responsive to a user input received from the view detail interface
420. When the view item interface 440 is displayed, the user device
110 may receive user input and provide the user input to the view
item interface 440, which may, in turn, be communicated to the
modules 302-312 of the tour generator system 300.
[0072] Accordingly, the image view sub-frame 442 of the frame
element 441 may be a user interface element which may be configured
to display one or more images of the store item. For example, the
image view element 442 may display one or more images of a shirt
for sale. The description sub-frame 444 of the frame element 441
may be a user interface element which may be configured to provide
textual description of the store item. Additionally or
alternatively, if there is an active campaign, the description
sub-frame 444 may provide details regarding the points associated
with accessing the store item. The button 446 of the frame element
441 may be a user interface element which may be configured to
initiate a sales transaction responsive to being selected by the
user.
[0073] It will be understood by a person of ordinary skill that
other embodiments of the user interfaces 400, 420, 440 may include
more or less elements that were shown in FIGS. 4A, 4B, and 4C.
Example Data Structure
[0074] FIG. 5 is a block diagram illustrating example data
structures 502, 504 including data fields for determining tour
locations, in accordance with an example embodiment. The data
structures 502, 504 may be stored in a database 126 communicatively
coupled to the network-based online marketplace 102. Alternatively,
one or more of the elements of the data structures 502, 504 may be
included by any of the servers or client devices of FIG. 1.
[0075] The illustrated data structure 502 of FIG. 5 may serve as a
data structure for storing, organizing, and providing data related
to a particular artist or content creator. The data structure 502
includes an account data field 506, a merchandise data field 508, a
campaign data field 510, a reporting data field 512, a
communication data field 514, and the like data for facilitating an
online marketplace and for facilitating campaigns for determining
tour location. The account data field 506 can correspond to
personal information, account settings, user identification, screen
name, bank account information, and the like. The merchandise data
field 508 can correspond to a catalog of store items. Store items
can include physical goods, services, digital content, and/or
tickets to events.
[0076] The campaign data field 510 of the data structure 502 can
correspond to start and end dates, reward data structures, campaign
rules, geographic parameters, and/or the like data related to
implementing campaigns. The campaign data field can include
assignments of points for different types of user accesses. The
reporting data field 512 may correspond to analytics and statistics
related to popularity of the artist and/or media content of the
artist. In one embodiment, the reporting data field 512 can include
a ranking of artists, for example, in terms of popularity within
one or more cities. Moreover, the reporting data field 512 can
include a list of cities ordered in terms of the corresponding
artist's popularity in the cities. In this way, the artist can
receive analytics determined from user accesses in order, for
example, to determine in which cities and/or demographics the
artist is having success. Furthermore, the reporting data field 512
may facilitate providing rewards to fans outside of an announced
campaign.
[0077] The communication data field 514 of the data structure 502
can correspond to data from managing communications between the
artist and the fans by email, social network, etc. Communications
may be direct communications that may be addressed to particular
fans or groups of fans. Additionally or alternatively,
communications may be broadcasted indirectly to fans by the artist
by publishing the communications on the artist's view detail user
interface (e.g., interface 420 of FIG. 4B).
[0078] The illustrated data structure 504 of FIG. 5 may serve as a
data structure for storing, organizing, and providing data related
to a particular user, such as a fan. The data structure 504 may
include an account data field 516, a contacts data field 518, a
content-creator data field 520, a points data field 522, a activity
history data field 524, and the like data for facilitating viewing
and access content of an online marketplace, and for facilitating
participating and promoting campaigns for determining tour
location.
[0079] The account data field 516 of the data structure 504 can
correspond to personal information, account settings, user
identification, screen name, bank account information, social
network and/or social media account information, and the like. The
contacts data field 518 of the data structure 504 can correspond to
links one or more other users of the online marketplace. The
content-creator data field 520 of the data structure 504 can
correspond to content creators (e.g., those users having an online
marketplace, such as an artist) whom the user is following, such as
the user's "favorite" artists. The points data field 522 of the
data structure 504 can correspond to the accumulated points that
the user has contributed to one or more campaigns, as well as an
ongoing count of points accumulated by the user for respective one
or more artists. The ongoing count serves to determine a listing of
an artist's most active fans. The activity history data field 524
of the data structure 504 can correspond to a purchase history of
the user.
Example Process for Determining a Tour Location
[0080] FIG. 6 is a flowchart illustrating a method 600 for
determining a tour location, in accordance with an example
embodiment. In this example, the method 600 may include operations
such as providing access to items 604, receiving a request to
determine a tour location 606, monitoring user accesses 608,
determining values for candidate locations 610, selecting one of
the candidate locations 612, and providing the selection 614. The
example method 600 will be described, by way of explanation, below
as being performed by certain modules. It will be appreciated,
however, that the operations of the example method 600 can be
performed in any suitable order by any number of the modules shown
in FIG. 3.
[0081] At operation 602, the method 600 starts at block 602 and
proceeds to block 604 for providing access to items of an online
marketplace of a first user of a plurality of users. In one
embodiment, the online marketplace interface module 302 may provide
to the plurality of users data for a user interface of the online
marketplace. In some embodiments, the online marketplace may
provide a listing of a plurality of online marketplaces, such as,
for example, the home screen interface 400 of FIG. 4A. Additionally
or alternatively, the online marketplace may correspond to a
marketplace dedicated to one artist or group. The online
marketplace may be provided as a website or an application
implemented on a client device of a user. Furthermore, users may be
provided additional information and/or other user interfaces such
as the view detail interface 420 of FIG. 4B and/or the view item
interface 440 of FIG. 4C.
[0082] By interacting with these user interfaces, the users may
provide input to their client devices in order to access items of
the online marketplace. Users may be able to stream or download
media content provided by the artist. The online marketplace may
also provide access to merchandise for sale. Furthermore, users may
be able to share or watch activities related to the online
marketplace. For example, a user may be to share a link to the
online marketplace to one or more contacts of the user, for
example, via a social network system. In another example, the user
may be able to subscribe or follow the online marketplace. A
subscription provides the user automatic notifications in response
to updates of the online marketplace.
[0083] At block 606, the method 600 may include receiving data that
includes a request to determine a tour location of a tour. For
example, the tour generator interface 306 of FIG. 3 may be
configured to receive the data, either directly or indirectly, from
a client device of the artist. The data may correspond to a request
to initiate a process ("campaign") to determine one or more
locations of a tour. As such, the data may include one or more
parameters defining aspects of the tour that may be determined by
the tour generator system 300. The parameters for various
embodiments are described in greater detail above in connection
with FIG. 3.
[0084] As previously stated, an artist may provide parameters
defining geographic preferences and/or constraints, such as, but is
not limited to, selection parameters, as will be described in
greater detail below in connection with FIG. 10. In one embodiment,
the artist may be able to restrict the candidate tour locations to
be located within one or more geographical boundaries. The artist
may also be able to provide the number of tour locations to be
selected for each of the geographical boundaries. Another parameter
may define how a location are to be selected to be considered a
candidate locations, and how users are to be associated with the
candidate locations. For example, the data provided by the artists
may indicate to the tour generator system 300 that candidate tour
locations should correspond to cities having a population greater
than a predetermined threshold, and that the candidate tour
locations and/or selected tour locations should be separated by
distance of at least a predetermined threshold. Another parameter
may define a threshold for selecting a candidate tour location
based on a score determined for the candidate tour location. For
example, in response to a score of a candidate tour location
exceeding the threshold provided by the data, the tour generate
system 300 can select the candidate tour location to be included as
part of the tour.
[0085] As previously stated, the data received from the artist may
additionally or alternatively include time preferences and/or
constraints. In one embodiment, the artist may provide data
indicative of the desired tour dates. The artist may also provide
data indicative of a start and end time of the campaign to
determine tour locations. In some embodiments, the artist may
provide more or less data than what has been described, and omitted
data may be supplied default values.
[0086] At block 608, the method 600 may include monitoring user
accesses to the items of the online marketplace. Example of user
accesses include streaming media content, downloading media
content, purchasing merchandise, sharing the online marketplace
with one or more contacts, subscribing to the online marketplace,
and pre-ordering tickets for purchase subject to the user's
location being selected. In one embodiment, the monitor module 308
of FIG. 3 may be configured to receive data indicative of user
accesses from the market interface module 302. The data can be
stored for later processing or can be transmitted to the location
module 310 for contemporaneous processing. An example method of
block 608 will be described in greater detail later in connection
with FIG. 8.
[0087] At block 610, the method 600 may include determining values
for candidate locations based at least on the monitored user
accesses. The determined values can correspond to points as
determined by a point system. In one embodiment, the location
module 310 of FIG. 3 can receive data indicative of user accesses
from the monitor module 308. Based on the type of user access, the
location module 310 may assign points to the user access. The
points of a plurality of user accesses may be combined or added to
determine a score of a location, or to determine a score of a
particular user. The location may correspond to a locale of the
corresponding user. As stated, the locale can be matched to one of
the candidate location based on one or more considerations, such as
based on proximity or other consideration in accordance with rules
or parameters, if any, provided by the artist. An example method of
block 610 will be described in greater detail later in connection
with FIG. 9
[0088] At block 612, the method 600 may include selecting one of
the candidate locations based at least on the determined values of
the candidate locations. In some embodiments, the selection may be
responsive to an event or trigger. For example, the location
selector module 310 of FIG. 3 may be configured to select a
candidate location at the expiration of a duration of the campaign.
The duration may be specified by the artist, for example, by
providing start and end times. In another embodiment, the location
selector module 310 may be configured to select a candidate
location based on comparing the score location to a threshold
value. If the candidate location has a score that exceeds the
threshold value, the location selector module 310 may be configured
to automatically select the location. The campaign, in such an
embodiment, may conclude after a predetermined number of candidate
locations have been selected. For example, the artist may specify
that the campaign is to select up to ten locations for a tour.
After the selection of the tenth candidate location, the tour
generator system 300 may initiate ending the campaign. An example
method of block 612 will be described in greater detail later in
connection with FIG. 10.
[0089] At block 614, the method 600 may include providing an
indication of the selected location of the candidate locations. In
one embodiment, the tour generator system 300 may be configured to
provide a notification to the artist that the candidate location
has been selected. Additionally or alternatively, the online
marketplace interface module 302 may provide a notification to
users (e.g., by email or a broadcast notification on the view
detail interface 420) that the location has been selected. Once the
selected location has been provided, the method 600 may end at
block 616.
[0090] FIG. 7 is an interaction diagram illustrating a method 700
of determining a tour location, in accordance with an example
embodiment. In particular, FIG. 7 illustrates interactions between
users and components of the tour generator system 300 of FIG.
3.
[0091] At operation 702, a first user 701A may provide profile data
to the online marketplace interface module 302. The profile data
may be used by the marketplace interface module 302 to configure an
online marketplace of the first user 701A. For example, the profile
data may correspond to one or more of the data fields 506-514 of
FIG. 5. At operation 704, the online marketplace interface module
302 may provide access to the profile. For example the first user
or the second users 701A, 701B may access the online
marketplace.
[0092] At operation 706, the first user may provide campaign data
to the tour generator interface 306. As stated, the campaign data
may include a request to initiate a tour, including data indicative
of the start and end times, geographic preferences, rewards, and
like. At operation 708, the tour generator interface 306 may
initiate the campaign. For example, based on the campaign data
received at operation 706, the tour generator interface 306 may
signal to the monitor module 308 to initiate monitoring user
accesses of the online marketplace interface module 302.
[0093] At operations 710A-710D, the second users 701B may access
the profile provided by the online marketplace interface module
302. For example, the second users 701B may access items of the
online marketplace of the first user by downloading media content,
purchasing media content, sharing the online marketplace with one
or more contacts of the second users, subscribing to the online
marketplace, and/or pre-ordering a ticket.
[0094] At operation 712, the monitor module 308 may initiate
monitoring of user access of the online marketplace. For example,
in one embodiment, the monitor module 308 may signal to the
marketplace interface module 302 to provide the monitor module 308
data indicative of the user accesses. In particular, the monitor
module 308 may provide callback data that configures the
marketplace interface module 302 to provide user access data to the
monitor module 308 in response to the second users' 701B accessing
items of the online marketplace.
[0095] At operations 714A-714B, the online marketplace interface
module 302 may provide user access data to the monitor module 308.
At operation 716, the monitor module 308 may provide an update to
the location selector module 310. In some embodiments, operations
716 may be repeated a plurality of times. In an alternative
embodiment, operation 716 may be omitted. Operation 716 may
facilitate real-time tracking of scores.
[0096] At operation 718, the location selector module 310 may
update scores of the candidate locations. For example, the location
selector module 310 may provide the updated scores to the online
marketplace interface module 302. The example method for
determining scores for candidate locations will be described later
in greater detail in connection with FIG. 9. By providing updates
to the online marketplace interface module 302, the online
marketplace may provide the first user and second users 701A, 701B
notifications of the progress of the campaign. In one embodiment,
the online marketplace interface module 302 may provide a
leaderboard displaying a ranking of the highest scoring locations
and or individual users.
[0097] At operation 720, the tour generator interface 306 may
initiate termination of the campaign. As stated, the campaign may
be terminated based on one or more types of events or triggers. To
initiate the termination of the campaign, the tour generating
interface module 306 may signal to the monitor module 308 that that
campaign is to be terminated. In turn, at operation 722, the
monitor module 308 may signal to the online marketplace interface
module 302 to end monitoring. For example, the signal may indicate
to the tour generator interface 306 that the tour generating
interface module 306 should stop providing user access data to the
monitor module 308.
[0098] At operation 724, the monitor module 308 may provide an
update of the access data to the location selector module 310. For
example, the monitor module 308 may buffer user access data and
provide the user access data in batches to the location selector
module 310. Accordingly, providing an update at operation 724 may
provide the location selector module 310 with the remaining
buffered user access data.
[0099] At operation 726, the monitor module 308 may signal to the
location selector module 310 to perform the selection of one or
more candidate locations. An example of a method for selecting a
candidate location will be described in greater detail later in
connection with FIG. 10. At operation 728, the location selector
module 310 may provide the results of the selection to the online
marketplace interface module 302 for notifying the first and second
users 701A, 701B.
[0100] FIG. 8 is a flowchart illustrating a method 608 for
monitoring user accesses to items of an online market, in
accordance with an example embodiment. In this example, the method
608 may include operations such as receiving a user request 802 and
determining a locale of the second user 804. The example method 608
will be described, by way of explanation, below as being performed
by certain modules. It will be appreciated, however, that the
operations of the example method 608 can be performed in any
suitable order by any number of the modules shown in FIG. 3.
Moreover, more or less operations may be included by the example
method 608.
[0101] The method 608 starts at block 801 and proceeds to block 802
for receiving a user request to access a selected one of the items
of the online marketplace. In one embodiment, the monitor module
308 may be configured to receive data from the online marketplace
interface module 302. At block 804, the method 608 may include
determining a locale of the second user. For example, the monitor
module 308 may determine the locale based on location information
included in the access data. Alternatively, the monitor module 308
may request locale data of the corresponding user by querying the
online marketplace interface module 302. For example, the online
marketplace interface module 302 may access account data (e.g.,
account data 516 of data structure 504 of FIG. 5) associated with
the corresponding user. In some embodiments, the monitor module 308
may store data indicative of the user access and of the locale for
later retrieval. Alternatively, the monitor module 308 may
immediately provide the data to the location selector module
310.
[0102] FIG. 9 is a flowchart illustrating a method 610 for
determining values for candidate locations, in accordance with an
example embodiment. In this example, the method 610 may include
operations such as matching the user accesses to locations 902,
computing the values of the user accesses 904, and combining the
computed values 906. The example method 610 will be described, by
way of explanation, below as being performed by certain modules. It
will be appreciated, however, that the operations of the example
method 610 can be performed in any suitable order by any number of
the modules shown in FIG. 3.
[0103] The method 610 can start at block 901 and proceeds to block
902 for matching the user accesses to respective candidate
locations. In one embodiment, the location selector module 310 may
match a particular user access to a candidate location based on a
locale determined during the monitoring of the user access (e.g.,
block 804 of method 608 of FIG. 8). Candidate locations may be
determined based on user input (e.g., campaign data provided by the
artist). In the alternative embodiments, candidate locations can be
determined dynamically by automatically identifying candidate
locations by matching a locale of the user to a nearby city. For
example, the location selector module 310 may be configured to
identify, based on the locale of the user access, the nearest city
that has at least a threshold population.
[0104] At block 904, the method 610 may include computing the
respective values of the user accesses. For example, the location
selector module 310 may assign points to a particular user access
based on a scoring system determined based on the campaign data
received from the artist as input. Alternatively, the scoring
system may be determined based on default values. At block 906, the
method 610 may include combining the computed values of the user's
accesses matched to the matching candidate locations. At block 906,
the method 610 may end.
[0105] FIG. 10 is a flowchart illustrating a method 612 for
selecting one location of the candidate locations, in accordance
with an example embodiment. In the illustrated example embodiment,
the method 612 may include operations such as determining selection
parameters 1004, ranking the candidate tour locations 1006, and
selecting one of the candidate locations 1008. The example method
612 will be described, by way of explanation, below as being
performed by certain modules. It will be appreciated, however, that
the operations of the example method 612 can be performed in any
suitable order by any number of the modules shown in FIG. 3.
[0106] The method 612 may start at block 1002 and may proceed to
block 1004 for determining selection parameters. The selection
parameters may include the number of candidate locations be
selected, the duration of the campaign, a threshold score for
selecting a candidate location, regional preferences or
constraints, and/or the like. The selection parameters may be
determined from data received from the artist.
[0107] At block 1006, the method 612 may include a ranking the
candidate tour locations based on the values of the candidate
locations. The candidate tour locations may be provided scores as
described in greater detail in connection with method 610 of FIG.
9. At block 1008, the method 612 may include selecting one of the
candidate locations. For example, the selection may be based on the
selection parameters determined at block 1004 as well as the
ranking performed at block 1006. For example, the selection
parameters may indicate that the top five cities are to be selected
based on the scores. Accordingly, the location selector module 310
may select the top five cities of the ranking determined at block
1006. The selected cities may be included in the tour. The method
612 may end at block 1010.
Example Mobile Device
[0108] FIG. 11 is a block diagram illustrating a mobile device
1100, according to an example embodiment. The mobile device 1100
may include a processor 1102. The processor 1102 may be any of a
variety of different types of commercially available processors
suitable for mobile devices (for example, an XScale architecture
microprocessor, a Microprocessor without Interlocked Pipeline
Stages (MIPS) architecture processor, or another type of
processor). A memory 1104, such as a random access memory (RAM), a
Flash memory, or other type of memory, is typically accessible to
the processor. The memory 1104 may be adapted to store an operating
system (OS) 1106, as well as application programs 1108, such as a
mobile location enabled application that may provide Location Based
Services (LBSs) to a user. The processor 1102 may be coupled,
either directly or via appropriate intermediary hardware, to a
display 1110 and to one or more input/output (I/O) devices 1112,
such as a keypad, a touch panel sensor, a microphone, and the like.
Similarly, in some embodiments, the processor 1102 may be coupled
to a transceiver 1114 that interfaces with an antenna 1116. The
transceiver 1114 may be configured to both transmit and receive
cellular network signals, wireless data signals, or other types of
signals via the antenna 1116, depending on the nature of the mobile
device 1100. Further, in some configurations, a GPS receiver 1118
may also make use of the antenna 1116 to receive GPS signals.
Modules, Components and Logic
[0109] Certain embodiments are described herein as including logic
or a number of components, modules, or mechanisms. Modules may
constitute either software modules (e.g., code embodied (1) on a
non-transitory machine-readable medium or (2) in a transmission
signal) or hardware-implemented modules. A hardware-implemented
module is tangible unit capable of performing certain operations
and may be configured or arranged in a certain manner. In example
embodiments, one or more computer systems (e.g., a standalone,
client or server computer system) or one or more processors may be
configured by software (e.g., an application or application
portion) as a hardware-implemented module that operates to perform
certain operations as described herein.
[0110] In various embodiments, a hardware-implemented module may be
implemented mechanically or electronically. For example, a
hardware-implemented module may comprise dedicated circuitry or
logic that is permanently configured (e.g., as a special-purpose
processor, such as a field programmable gate array (FPGA) or an
application-specific integrated circuit (ASIC)) to perform certain
operations. A hardware-implemented module may also comprise
programmable logic or circuitry (e.g., as encompassed within a
general-purpose processor or other programmable processor) that is
temporarily configured by software to perform certain operations.
It will be appreciated that the decision to implement a
hardware-implemented module mechanically, in dedicated and
permanently configured circuitry, or in temporarily configured
circuitry (e.g., configured by software) may be driven by cost and
time considerations.
[0111] Accordingly, the term "hardware-implemented module" should
be understood to encompass a tangible entity, be that an entity
that is physically constructed, permanently configured (e.g.,
hardwired) or temporarily or transitorily configured (e.g.,
programmed) to operate in a certain manner and/or to perform
certain operations described herein. Considering embodiments in
which hardware-implemented modules are temporarily configured
(e.g., programmed), each of the hardware-implemented modules need
not be configured or instantiated at any one instance in time. For
example, where the hardware-implemented modules comprise a
general-purpose processor configured using software, the
general-purpose processor may be configured as respective different
hardware-implemented modules at different times. Software may
accordingly configure a processor, for example, to constitute a
particular hardware-implemented module at one instance of time and
to constitute a different hardware-implemented module at a
different instance of time.
[0112] Hardware-implemented modules can provide information to, and
receive information from, other hardware-implemented modules.
Accordingly, the described hardware-implemented modules may be
regarded as being communicatively coupled. Where multiple of such
hardware-implemented modules exist contemporaneously,
communications may be achieved through signal transmission (e.g.,
over appropriate circuits and buses) that connect the
hardware-implemented modules. In embodiments in which multiple
hardware-implemented modules are configured or instantiated at
different times, communications between such hardware-implemented
modules may be achieved, for example, through the storage and
retrieval of information in memory structures to which the multiple
hardware-implemented modules have access. For example, one
hardware-implemented module may perform an operation, and store the
output of that operation in a memory device to which it is
communicatively coupled. A further hardware-implemented module may
then, at a later time, access the memory device to retrieve and
process the stored output. Hardware-implemented modules may also
initiate communications with input or output devices, and can
operate on a resource (e.g., a collection of information).
[0113] The various operations of example methods described herein
may be performed, at least partially, by one or more processors
that are temporarily configured (e.g., by software) or permanently
configured to perform the relevant operations. Whether temporarily
or permanently configured, such processors may constitute
processor-implemented modules that operate to perform one or more
operations or functions. The modules referred to herein may, in
some example embodiments, comprise processor-implemented
modules.
[0114] Similarly, the methods described herein may be at least
partially processor-implemented. For example, at least some of the
operations of a method may be performed by one or processors or
processor-implemented modules. The performance of certain of the
operations may be distributed among the one or more processors, not
only residing within a single machine, but deployed across a number
of machines. In some example embodiments, the processor or
processors may be located in a single location (e.g., within a home
environment, an office environment or as a server farm), while in
other embodiments the processors may be distributed across a number
of locations.
[0115] The one or more processors may also operate to support
performance of the relevant operations in a "cloud computing"
environment or as a "software as a service" (SaaS). For example, at
least some of the operations may be performed by a group of
computers (as examples of machines including processors), these
operations being accessible via a network (e.g., the Internet) and
via one or more appropriate interfaces (e.g., Application Program
Interfaces (APIs).)
Electronic Apparatus and System
[0116] Example embodiments may be implemented in digital electronic
circuitry, or in computer hardware, firmware, software, or in
combinations of them. Example embodiments may be implemented using
a computer program product, e.g., a computer program tangibly
embodied in an information carrier, e.g., in a machine-readable
medium for execution by, or to control the operation of, data
processing apparatus, e.g., a programmable processor, a computer,
or multiple computers.
[0117] A computer program can be written in any form of programming
language, including compiled or interpreted languages, and it can
be deployed in any form, including as a stand-alone program or as a
module, subroutine, or other unit suitable for use in a computing
environment. A computer program can be deployed to be executed on
one computer or on multiple computers at one site or distributed
across multiple sites and interconnected by a communication
network.
[0118] In example embodiments, operations may be performed by one
or more programmable processors executing a computer program to
perform functions by operating on input data and generating output.
Method operations can also be performed by, and apparatus of
example embodiments may be implemented as, special purpose logic
circuitry, e.g., a field programmable gate array (FPGA) or an
application-specific integrated circuit (ASIC).
[0119] The computing system can include clients and servers. A
client and server are generally remote from each other and
typically interact through a communication network. The
relationship of client and server arises by virtue of computer
programs running on the respective computers and having a
client-server relationship to each other. In embodiments deploying
a programmable computing system, it will be appreciated that that
both hardware and software architectures require consideration.
Specifically, it will be appreciated that the choice of whether to
implement certain functionality in permanently configured hardware
(e.g., an ASIC), in temporarily configured hardware (e.g., a
combination of software and a programmable processor), or a
combination of permanently and temporarily configured hardware may
be a design choice. Below are set out hardware (e.g., machine) and
software architectures that may be deployed, in various example
embodiments.
Example Machine Architecture and Machine-Readable Medium
[0120] FIG. 12 is a block diagram of machine in the example form of
a computer system 1200 within which instructions, for causing the
machine to perform any one or more of the methodologies discussed
herein, may be executed. In alternative embodiments, the machine
operates as a standalone device or may be connected (e.g.,
networked) to other machines. In a networked deployment, the
machine may operate in the capacity of a server or a client machine
in server-client network environment, or as a peer machine in a
peer-to-peer (or distributed) network environment. The machine may
be a personal computer (PC), a tablet PC, a set-top box (STB), a
Personal Digital Assistant (PDA), a cellular telephone, a web
appliance, a network router, switch or bridge, or any machine
capable of executing instructions (sequential or otherwise) that
specify actions to be taken by that machine. Further, while only a
single machine is illustrated, the term "machine" shall also be
taken to include any collection of machines that individually or
jointly execute a set (or multiple sets) of instructions to perform
any one or more of the methodologies discussed herein.
[0121] The example computer system 1200 includes a processor 1202
(e.g., a central processing unit (CPU), a graphics processing unit
(GPU) or both), a main memory 1204 and a static memory 1206, which
communicate with each other via a bus 1208. The computer system
1200 may further include a video display unit 1210 (e.g., a liquid
crystal display (LCD) or a cathode ray tube (CRT)). The computer
system 1200 also includes an alphanumeric input device 1212 (e.g.,
a keyboard or a touch-sensitive display screen), a user interface
(UI) navigation device 1214 (e.g., a mouse), a disk drive unit
1216, a signal generation device 1218 (e.g., a speaker) and a
network interface device 1220.
Machine-Readable Medium
[0122] The disk drive unit 1216 includes a machine-readable medium
1222 on which is stored one or more sets of instructions and data
structures (e.g., software) 1224 embodying or utilized by any one
or more of the methodologies or functions described herein. The
instructions 1224 may also reside, completely or at least
partially, within the main memory 1204 and/or within the processor
1202 during execution thereof by the computer system 1200, the main
memory 1204 and the processor 1202 also constituting
machine-readable media.
[0123] While the machine-readable medium 1222 is shown in an
example embodiment to be a single medium, the term
"machine-readable medium" may include a single medium or multiple
media (e.g., a centralized or distributed database, and/or
associated caches and servers) that store the one or more
instructions or data structures. The term "machine-readable medium"
shall also be taken to include any non-transitory, tangible medium
that is capable of storing, encoding or carrying instructions for
execution by the machine and that cause the machine to perform any
one or more of the methodologies of the present invention, or that
is capable of storing, encoding or carrying data structures
utilized by or associated with such instructions. The term
"machine-readable medium" shall accordingly be taken to include,
but not be limited to, solid-state memories, and optical and
magnetic media. Specific examples of machine-readable media include
non-volatile memory, including by way of example semiconductor
memory devices, e.g., Erasable Programmable Read-Only Memory
(EPROM), Electrically Erasable Programmable Read-Only Memory
(EEPROM), and flash memory devices; magnetic disks such as internal
hard disks and removable disks; magneto-optical disks; and CD-ROM
and DVD-ROM disks.
Transmission Medium
[0124] The instructions 1224 may further be transmitted or received
over a communications network 1226 using a transmission medium. The
instructions 1224 may be transmitted using the network interface
device 1220 and any one of a number of well-known transfer
protocols (e.g., HTTP). Examples of communication networks include
a local area network ("LAN"), a wide area network ("WAN"), the
Internet, mobile telephone networks, Plain Old Telephone (POTS)
networks, and wireless data networks (e.g., WiFi and WiMax
networks). The term "transmission medium" shall be taken to include
any intangible medium that is capable of storing, encoding or
carrying instructions for execution by the machine, and includes
digital or analog communications signals or other intangible media
to facilitate communication of such software.
[0125] Although an embodiment has been described with reference to
specific example 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.
Accordingly, the specification and drawings are to be regarded in
an illustrative rather than a restrictive sense. The accompanying
drawings that form a part hereof, show by way of illustration, and
not of limitation, specific embodiments in which the subject matter
may be practiced. The embodiments illustrated are described in
sufficient detail to enable those skilled in the art to practice
the teachings disclosed herein. Other embodiments may be utilized
and derived therefrom, such that structural and logical
substitutions and changes may be made without departing from the
scope of this disclosure. This Detailed Description, therefore, is
not to be taken in a limiting sense, and the scope of various
embodiments is defined only by the appended claims, along with the
full range of equivalents to which such claims are entitled.
[0126] Such embodiments of the inventive subject matter may be
referred to herein, individually and/or collectively, by the term
"invention" merely for convenience and without intending to
voluntarily limit the scope of this application to any single
invention or inventive concept if more than one is in fact
disclosed. Thus, although specific embodiments have been
illustrated and described herein, it should be appreciated that any
arrangement calculated to achieve the same purpose may be
substituted for the specific embodiments shown. This disclosure is
intended to cover any and all adaptations or variations of various
embodiments. Combinations of the above embodiments, and other
embodiments not specifically described herein, will be apparent to
those of skill in the art upon reviewing the above description.
* * * * *