U.S. patent application number 17/316353 was filed with the patent office on 2021-08-26 for method and system for online conversion attribution.
The applicant listed for this patent is Twitter, Inc.. Invention is credited to Bill Darrow, Santosh Kancha, Tom Larson, Travis Lull, Xiaochuan Qin, Ameet Ranadive, Shariq Rizvi, Abhishek Shrivastava, Yimin Wu, Wenchang Zhou.
Application Number | 20210266356 17/316353 |
Document ID | / |
Family ID | 1000005570061 |
Filed Date | 2021-08-26 |
United States Patent
Application |
20210266356 |
Kind Code |
A1 |
Rizvi; Shariq ; et
al. |
August 26, 2021 |
Method and System for Online Conversion Attribution
Abstract
A system for online conversion attribution. The system includes
a short uniform resource locator (URL) service programmed to, in
response to receiving a short URL from a device: provide a cookie
that includes a short URL ID to the device, and provide a short URL
descriptor including the short URL ID to a user mapping service.
The system further includes the user mapping service programmed to
receive the short URL descriptor, receive a social media descriptor
including a social media ID, map the short URL ID to the social
media ID using the short URL descriptor and the social media
descriptor, and attribute, using the mapping, a conversion on a
website accessed using the device based upon receipt of the short
URL ID from the device.
Inventors: |
Rizvi; Shariq; (San
Francisco, CA) ; Ranadive; Ameet; (San Francisco,
CA) ; Shrivastava; Abhishek; (San Francisco, CA)
; Zhou; Wenchang; (San Francisco, CA) ; Darrow;
Bill; (San Francisco, CA) ; Kancha; Santosh;
(San Francisco, CA) ; Lull; Travis; (San
Francisco, CA) ; Larson; Tom; (San Francisco, CA)
; Wu; Yimin; (San Francisco, CA) ; Qin;
Xiaochuan; (San Francisco, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Twitter, Inc. |
San Francisco |
CA |
US |
|
|
Family ID: |
1000005570061 |
Appl. No.: |
17/316353 |
Filed: |
May 10, 2021 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
16818108 |
Mar 13, 2020 |
11012494 |
|
|
17316353 |
|
|
|
|
16251853 |
Jan 18, 2019 |
10594767 |
|
|
16818108 |
|
|
|
|
15009709 |
Jan 28, 2016 |
10187447 |
|
|
16251853 |
|
|
|
|
62108909 |
Jan 28, 2015 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 69/329 20130101;
G06Q 30/0269 20130101; G06Q 30/0271 20130101; G06Q 30/00 20130101;
G06Q 30/02 20130101; G06F 16/9535 20190101; G06Q 50/01 20130101;
H04L 67/02 20130101; G06Q 30/0241 20130101 |
International
Class: |
H04L 29/08 20060101
H04L029/08; G06F 16/9535 20060101 G06F016/9535; G06Q 30/00 20060101
G06Q030/00; G06Q 30/02 20060101 G06Q030/02; G06Q 50/00 20060101
G06Q050/00 |
Claims
1. A system, comprising: at least one computer processor; and a
memory configured to store instructions that are executable by the
at least one computer processor to: provide, for incorporation into
a first webpage of a set of webpages associated with a second
system, the first webpage displayable on a web browser application
executing on a user device, browser-executable code for detecting a
first user activity associated with the first webpage; receive,
from a second application executing on the user device and upon
user interaction of a user of the user device with the second
application, an indication of user selection of a short uniform
resource locator (URL) address; generate a first descriptor
including a user identifier for the user and the short URL address;
receive, from the web browser application executing on the user
device, a request for the short URL address; generate: a cookie
including a short URL identifier (ID) associated with the short URL
address; and a second descriptor including the short URL ID and the
short URL address; resolve the short URL address to a corresponding
long URL address, wherein the long URL address is associated with
the set of webpages including the first webpage incorporating the
browser-executable code; transmit the long URL and the cookie to
the web browser application on the user device; receive, from the
web browser application, when the web browser application loads the
first webpage and upon detection of the first user activity on the
first webpage at the user device, the short URL ID upon extraction
of the short URL ID by the browser-executable code from the cookie
on the user device; associate the second descriptor with the
detected first user activity based on matching the extracted short
URL ID with the short URL ID of the second descriptor; and
associate the first descriptor with the detected first user
activity based on matching the short URL address of the first
descriptor with the short URL address of the second descriptor.
2. The system of claim 1, wherein the first descriptor further
includes a first timestamp associated with the received indication
of the user selection of the short URL address.
3. The system of claim 2, wherein the second descriptor further
includes a second timestamp associated with the received request
for the short URL address.
4. The method of claim 3, wherein the associating the first
descriptor with the detected first user activity is further based
on the difference between the first timestamp and the second
timestamp being within a predetermined threshold.
5. The method of claim 4, wherein the predetermined threshold is
one day or less.
6. The method of claim 4, wherein the predetermined threshold is at
least one day.
7. The method of claim 1, wherein the browser-executable code is a
tracking pixel code that is configurable to specify the first user
activity.
8. The method of claim 7, wherein the first user activity includes
one or more of a user purchase, an order confirmation, the first
webpage loading on the web browser application, or a form
submission.
9. The method of claim 1, wherein the first descriptor and the
second descriptor constitute a first pair of descriptors, and
wherein the memory is further configured to store instructions that
are executable by the at least one computer processor to associate
a second pair of descriptors with detected second user
activity.
10. The method of claim 1, wherein the first descriptor and the
second descriptor constitute a first pair of descriptors, and
wherein the memory is further configured to store instructions that
are executable by the at least one computer processor to: evaluate
a second pair of descriptors against detected second user activity;
and deem the second pair of descriptors as not associable with the
detected second user activity.
11. A method, comprising: providing, for incorporation into a first
webpage of a set of webpages associated with a second system, the
first webpage displayable on a web browser application executing on
a user device, browser-executable code for detecting a first user
activity associated with the first webpage; receiving, from a
second application executing on the user device and upon user
interaction of a user of the user device with the second
application, an indication of user selection of a short uniform
resource locator (URL) address; generating a first descriptor
including a user identifier for the user and the short URL address;
receiving, from the web browser application executing on the user
device, a request for the short URL address; generating: a cookie
including a short URL identifier (ID) associated with the short URL
address; and a second descriptor including the short URL ID and the
short URL address; resolving the short URL address to a
corresponding long URL address, wherein the long URL address is
associated with the set of webpages including the first webpage
incorporating the browser-executable code; transmitting the long
URL and the cookie to the web browser application on the user
device; receiving, from the web browser application, when the web
browser application loads the first webpage and upon detection of
the first user activity on the first webpage at the user device,
the short URL ID upon extraction of the short URL ID by the
browser-executable code from the cookie on the user device;
associating the second descriptor with the detected first user
activity based on matching the extracted short URL ID with the
short URL ID of the second descriptor; and associating the first
descriptor with the detected first user activity based on matching
the short URL address of the first descriptor with the short URL
address of the second descriptor.
12. The system of claim 11, wherein the first descriptor further
includes a first timestamp associated with the received indication
of the user selection of the short URL address.
13. The system of claim 12, wherein the second descriptor further
includes a second timestamp associated with the received request
for the short URL address.
14. The method of claim 13, wherein the associating the first
descriptor with the detected first user activity is further based
on the difference between the first timestamp and the second
timestamp being within a predetermined threshold.
15. The method of claim 11, wherein the browser-executable code is
a tracking pixel code that is configurable to specify the first
user activity.
16. The method of claim 15, wherein the first user activity
includes one or more of a user purchase, an order confirmation, the
first webpage loading on the web browser application, or a form
submission.
17. A non-transitory computer readable medium encoded with
instructions that, when executed causes a processor to: provide,
for incorporation into a first webpage of a set of webpages
associated with a second system, the first webpage displayable on a
web browser application executing on a user device,
browser-executable code for detecting a first user activity
associated with the first webpage; receive, from a second
application executing on the user device and upon user interaction
of a user of the user device with the second application, an
indication of user selection of a short uniform resource locator
(URL) address; generate a first descriptor including a user
identifier for the user and the short URL address; receive, from
the web browser application executing on the user device, a request
for the short URL address; generate: a cookie including a short URL
identifier (ID) associated with the short URL address; and a second
descriptor including the short URL ID and the short URL address;
resolve the short URL address to a corresponding long URL address,
wherein the long URL address is associated with the set of webpages
including the first webpage incorporating the browser-executable
code; transmit the long URL and the cookie to the web browser
application on the user device; receive, from the web browser
application, when the web browser application loads the first
webpage and upon detection of the first user activity on the first
webpage at the user device, the short URL ID upon extraction of the
short URL ID by the browser-executable code from the cookie on the
user device; associate the second descriptor with the detected
first user activity based on matching the extracted short URL ID
with the short URL ID of the second descriptor; and associate the
first descriptor with the detected first user activity based on
matching the short URL address of the first descriptor with the
short URL address of the second descriptor.
18. The system of claim 17, wherein the first descriptor further
includes a first timestamp associated with the received indication
of the user selection of the short URL address, and wherein the
second descriptor further includes a second timestamp associated
with the received request for the short URL address.
19. The method of claim 18, wherein the associating the first
descriptor with the detected first user activity is further based
on the difference between the first timestamp and the second
timestamp being within a predetermined threshold.
20. The method of claim 17, wherein the browser-executable code is
a tracking pixel code that is configurable to specify the first
user activity.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is continuation of U.S. application Ser.
No. 16/818,108, filed Mar. 13, 2020, which is a continuation of
U.S. application Ser. No. 16/251,853, filed Jan. 18, 2019, which is
a continuation of Ser. No. 15/009,709, filed Jan. 28, 2016, now
U.S. Pat. No. 10,187,447, which claims the benefit of U.S.
Provisional Patent Application No. 62/108,909 filed Jan. 28, 2015,
the entire contents of each of which are incorporated by reference
herein.
BACKGROUND
[0002] In order to determine the effectiveness of online
advertising campaigns, companies have traditionally used cookies.
Cookies were originally designed to be used on web browsers
executing on desktop systems. With the increased use of mobile
devices (e.g., smart phones, etc.), advertisers are interested in
understanding and tracking the effectiveness of advertising
campaigns for mobile device users. However, by default, may of the
mobile devices do not enable and/or permit the use of cookies in
the same manner as these cookies have traditionally been used on
web browsers executing on desktop systems. Accordingly, additional
steps may need to be performed in order to use cookies on mobile
devices.
SUMMARY
[0003] Embodiments of the technology enable online conversion
attribution.
[0004] Specifically, online conversion may be identified in systems
where a user interacts with, for example, a social media network
using an application executing on a portable device. Even though
the application may not support cookies, conversion attribution may
be performed successfully, based on the matching of various
identifiers that enable the reconstruction of an identity and
subsequently, attribution of the conversion to the social media
network, based on the reconstructed identity.
[0005] In one embodiment of the invention, a short URL (uniform
resource locator) service is used to generate and place cookies on
mobile devices where the cookies include a short URL ID. Further,
the short URL service and the social media network server obtain
and provide information to a user mapping service. The user mapping
service subsequently generates a mapping between a social media ID
of a user and the short URL ID.
[0006] The above mapping, in accordance with an embodiment of the
invention, enables the connection between the user having selected
the advertisement, and the subsequently completed purchase. Thus,
the purchase (or other activities) may be attributed, with
confidence, to a particular user on a particular social
network.
[0007] In scenarios in which a short URL is more suitable than a
long URL (e.g., the latter does not fit due to size restrictions or
consumes too much display space within an advertisement), a short
URL service may be used to generate a short URL that fits into the
advertisement. Once the short URL is included within an
advertisement, the effectiveness of the advertisement may be
determined in accordance with one or more embodiments of the
invention.
[0008] In general, in one aspect, the invention relates to a
system, the system including a short uniform resource locator (URL)
service programmed to, in response to receiving a short URL from a
device: provide a cookie that includes a short URL ID to the
device, and provide a short URL descriptor including the short URL
ID to a user mapping service. The system further includes the user
mapping service programmed to receive the short URL descriptor,
receive a social media descriptor including a social media ID, map
the short URL ID to the social media ID using the short URL
descriptor and the social media descriptor, and attribute, using
the mapping, a conversion on a website accessed using the device
based upon receipt of the short URL ID from the device.
[0009] In general, in one aspect, the invention relates to a method
for conversion attribution, including obtaining a social media
descriptor including a social media ID associated with a user, a
short uniform resource locator (URL) address, a first timestamp and
an Internet Protocol (IP) address of a device; obtaining a short
URL descriptor including a short URL ID, the short URL address, the
IP address of the device, and a second timestamp; generating, using
the social media descriptor and the short URL descriptor, a mapping
between the short URL ID and the social media ID; and attributing,
using the mapping, a conversion on a website of a partner when the
user associated with the short URL ID accesses the website within a
predetermined period of time after viewing an advertisement on the
device.
[0010] In general, in one aspect, the invention relates to a
non-transitory computer readable medium comprising instructions for
performing a method, the method comprising obtaining a social media
descriptor including a social media ID associated with a user, a
short uniform resource locator (URL) address, a first timestamp and
an Internet Protocol (IP) address of a device; obtaining a short
URL descriptor including a short URL ID, the short URL address, the
IP address of the device, and a second timestamp; generating, using
the social media descriptor and the short URL descriptor, a mapping
between the short URL ID and the social media ID; and attributing,
using the mapping, a conversion on a website of a partner when the
user associated with the short URL ID accesses the website within a
predetermined period of time after viewing an advertisement on the
device.
BRIEF DESCRIPTION OF DRAWINGS
[0011] FIG. 1A shows a system in accordance with one or more
embodiments of the invention.
[0012] FIG. 1B shows descriptors in accordance with one or more
embodiments of the invention.
[0013] FIGS. 2-6 show methods in accordance with a first embodiment
of the invention.
[0014] FIG. 7 shows methods in accordance with a second embodiment
of the invention.
[0015] FIG. 8 shows a computing system in accordance with one or
more embodiments of the technology.
DETAILED DESCRIPTION
[0016] Specific embodiments of the technology will now be described
in detail with reference to the accompanying figures. Like elements
in the various figures are denoted by like reference numerals for
consistency.
[0017] In the following detailed description of embodiments of the
technology, numerous specific details are set forth in order to
provide a more thorough understanding of the technology. However,
it will be apparent to one of ordinary skill in the art that the
technology may be practiced without these specific details. In
other instances, well-known features have not been described in
detail to avoid unnecessarily complicating the description.
[0018] Throughout the application, ordinal numbers (e.g., first,
second, third, etc.) may be used as an adjective for an element
(i.e., any noun in the application). The use of ordinal numbers is
not to imply or create any particular ordering of the elements nor
to limit any element to being only a single element unless
expressly disclosed, such as by the use of the terms "before",
"after", "single", and other such terminology. Rather, the use of
ordinal numbers is to distinguish between the elements. By way of
an example, a first element is distinct from a second element, and
the first element may encompass more than one element and succeed
(or precede) the second element in an ordering of elements.
[0019] In general, embodiments of the invention relate to methods
for attributing an online conversion. For example, embodiments of
the invention enable attributing an online conversion to a platform
(e.g. a social media platform) that displays an advertisement,
thereby providing a quantifiable measure to the effectiveness of
the advertisement on the platform. More specifically, one or more
embodiments of the invention enable the attribution of online
conversions in systems where user access the platform using
applications executing on portable devices, e.g. smartphones and or
tablet applications executing on a smartphone and/or tablet
computer, respectively. In one embodiment of the invention, the
attribution is enabled by determining a correspondence between a
social media ID, e.g., the login name of the social media account,
and a short URL ID affiliated with a completed conversion. Based on
this correspondence, a causal relationship between the user having
viewed an advertisement and the subsequent conversion may be
established.
[0020] FIG. 1A shows a system in accordance with one or more
embodiments of the invention. As shown in FIG. 1A, the system has
multiple components including at least one portable device (101), a
short Uniform Resource Locator (URL) service (107), a user mapping
service (109), a third-party advertisement system (111), a social
media network web server (113), and an advertiser web server (115).
Each of these components is described below.
[0021] In one or more embodiments of the invention, the portable
device (101) is a tablet computer, an electronic reader (e-reader),
a cable box, a kiosk, a smart phone, a personal digital assistant
(PDA), or any other type of hardware device capable of executing at
least one of the steps shown in FIG. 2. The portable device (101)
may include a processor, persistent storage, and memory to execute
an application (103) and/or a browser (105). Further, the portable
device (101) includes functionality to communicate with one or more
of the other components in the system using any form of wired
and/or wireless communication.
[0022] In one or more embodiments of the invention, the application
(103) is a software application of any type (e.g., a messaging
application, a social media application, a game, etc.). In one
embodiment of the invention, the application is a stand-alone
application that does not require a browser for its execution. The
application may further not support cookies.
[0023] The application (103) may include an application user
interface (UI) (103A) that enables a user to interact with the
application by providing content to the user and by accepting input
from the user. In one embodiment of the invention, the application
UI displays an advertisement(s).
[0024] In one embodiment of the invention, the application further
includes a browser user interface (UI) (103B). The browser UI may
provide an interface within the application that may enable the
application to support web technologies including, for example,
HyperText Markup Language (HTML), JavaScript, Cascading Style
Sheets (CSS), etc. The browser UI (103B) may be used to execute web
content, received in response to, for example, clicking the
advertisement displayed in the application UI (103A). The browser
UI (103B) may be based on webview technology, e.g., iOS.RTM. or
Android.TM. webview.
[0025] In one embodiment of the invention, a browser (105) executes
on the portable device (101). Analogous to the browser UI (103B),
the browser (105) may be used to execute web content, received in
response to clicking the advertisement displayed in the application
UI (103A). However, unlike the browser UI (103B) which is
integrated in the application (103), the browser (105) is separate
from the application (103). The browser (105) may be used in
scenarios where the application does not provide a browser UI. If
both a browser and a browser UI are available, a configuration
parameter may determine whether the browser and/or the browser UI
is used.
[0026] In one or more embodiments of the invention, one or more
advertisements or other external content, i.e., non-application
content, is placed into the application. An advertisement placement
may be a predefined space in the application UI (103A) used to
display one or more native or non-native online advertisements. For
example, the advertisement placement may be at a specific location
within the user interface of the application. In another example,
the advertisement placement may be associated with a feature in the
application, e.g., with a news feed, a message feed, or a stream.
In one embodiment of the invention, the stream is a presentation
of, list of, or other organization of content within the
application UI (103A). The stream may include both content and ads
(which may include native ads).
[0027] In one or more embodiments of the invention, the short URL
service (107) is a server that enables the use of short aliases for
redirection of long URLs. The short URL service (107) may be
implemented on a computing device similar to the computing system
shown in FIG. 8. The short URL service (107) may or may not be
separate from the social media network web server (113) and may or
may not be separate from the user mapping service (109). The short
URL service (107) may shorten protocols including, but not limited
to, HTTP, HTTPS, FTP, FTPS, MAILTO, MMS, RTMP, RTMPT, ED2K, POP,
IMAP, NNTP, NEWS, LDAP, GOPHER, DICT, and DNS. In one embodiment of
the invention, the short URL service (107) adds a unique alias
(e.g., a short URL ID) in its database for every advertisement and
establishes a short URL that corresponds to a long URL associated
with the advertisement. When the short URL service (107) is
contacted by another computing device, e.g., by the portable
device, with a request that includes a short URL, the short URL
service may resolve the long URL corresponding to the short URL and
may return the long URL.
[0028] In one or more embodiments of the invention, the short URL
service (107) further records parameters including, but not limited
to, a timestamp of when another computing device contacted the
short URL service (107), the Internet protocol (IP) address of the
computing device from which the request to access the short URL was
made, the operating system of the computing device from which the
request was made and/or the short URL included in the request. The
aforementioned parameters, along with the short URL ID may be saved
as a short URL descriptor. The short URL service (107) may store
many such short URL descriptors for later retrieval.
[0029] In one embodiment of the invention, the short URL service
(107) is configured to communicate, directly or indirectly, with
the portable device (101), the user mapping service (109), and the
third-party advertisement system (111).
[0030] In one or more embodiments of the invention, the social
media network web server (113) is configured to allow an
application (103) executing on a portable device (101) to interface
with the social media network web server, for example, in order to
receive and store user-provided content from the application and/or
to provide content, stored on the social media network web server
or elsewhere, to the user accessing the application. Further, the
social media network web server may support similar interactions
via the browser (105). Accordingly, users may interact with a
social network (e.g., Twitter), via either a portable device
application, or via a browser-based web page that connects to the
social media network web server.
[0031] The social media network web server (113) may be implemented
on a computing device similar to the computing system shown in FIG.
8. The social media network web server (113) may be configured to
communicate, directly or indirectly, with the portable device (101)
and the user mapping service (109).
[0032] In one embodiment of the invention, the social media network
web server (113) is configured to receive and store information
associated with an access of the application (103), an access of
the application UI (103A), an access of the browser UI (103B)
and/or an access of the browser (105). Information may include, but
is not limited to, an IP address of the device used for the access,
a timestamp associated with the access, a user ID associated with
the access, a device ID associated with the portable device (101)
accessing the application (103), an operating system of the
portable device, etc. In one embodiment of the invention, some or
all of this information, captured by the social media network web
server is provided to the user mapping service (109).
[0033] In one or more embodiments of the invention, the user
mapping service (109) may include functionality to receive from,
and/or deliver information to, the portable device (101), the short
URL service (107) and/or the social media network web server (113).
The user mapping service (109) may receive and store information
associated with the application (103), the application UI (103A),
the browser UI (103B), and/or the browser (105) attempting to
access content, e.g. external (non-social network) content such as
an advertisement. This information may include, but is not limited
to, the IP address of the portable device (101) used for the
access, a timestamp associated with the access, the operating
system of the portable device, the social media ID (e.g. a login
name) of the user making the access request, a portable device ID,
etc. Those skilled in the art will recognize that the gathered
information is not limited to the above identifiers. Rather, any
type of information that may be employed for the identification of
a user and/or device used for accessing content may be stored.
[0034] The user mapping service (109) may be implemented on a
computing device similar to the computing system shown in FIG. 8.
The user mapping service (109) may or may not be separate from the
social media network web server (113) and may or may not be
separate from the short URL service (107). The user mapping service
(109) may be configured to communicate, directly or indirectly,
with the device (101), the short URL service (107), and the social
media network web server (113).
[0035] The user mapping service (109) may also be capable of
directly retrieving information including, for example, the short
URL address (also referred to as a short URL), the IP address used
to access the advertiser web server (115), the timestamp associated
with the access, the operating system used for the access, the
social media ID associated with the access, a partner user ID of
the user associated with the access, personal information (e.g.,
phone number, electronic mail address, facsimile number, physical
mailing address, etc.) associated with the partner ID, etc.
[0036] In one or more embodiments of the invention, the
aforementioned information obtained by the user mapping service
(109) may be stored in accordance with current privacy and/or data
protection requirements.
[0037] Having communicated with both the short URL service (107)
and the social media network server (113), the user mapping service
(109), in accordance with an embodiment of the invention, possesses
two sets of information and creates mappings between these sets of
information when certain conditions are met. The first set
information is summarized in a social media descriptor and the
second set of information is summarized in a short URL descriptor.
These sets of information are subsequently described in FIG.
1B.
[0038] In one embodiment of the invention, the user mapping service
(109) may store or may have access to many social media descriptors
and many short URL descriptors. The user mapping service, in
accordance with an embodiment of the invention, determines mappings
between corresponding social media descriptors and short URL
descriptors on the basis of a match between content in the two
descriptors. The resulting mappings may be used to identify related
events. These related events may thus be uniquely attributed to a
particular social media ID. For example, the mapping may enable
causality between an advertisement shown to a user having a
particular social media ID in the application (103), and a purchase
subsequently made by the user in the browser (105) to be
established, even though the browser (105) and the application
(103) are independent from one another. Specifically, even as the
user interacts with the advertisement in the application (103) and
is redirected to a page by the advertiser web server (115), which
is outside the application UI (103 A), the application (103) can
still be credited with displaying an effective advertisement.
[0039] The mapping, determined by the user mapping service may thus
help quantify the effectiveness of an online advertisement. Details
of using the mappings to attribute conversions to online
advertisements, in accordance with one or more embodiments, are
described in FIGS. 2-7.
[0040] The advertiser web server (115), in accordance with an
embodiment of the invention, stores the advertisement content (or
other external content) to be presented to the user of the
application (103) on the portable device (101) upon selection by
the user. The advertisement content may be any type of visual
and/or audio content and further may include options to interact
with the content. For example, the content may include a purchasing
interface, enabling the user to select, view and purchase an
advertised product. In one embodiment of the invention, the
advertiser web server (115) may be reached using a long URL address
(as referred to as a long URL). This long URL address may not be
initially available on the portable device, upon selection of the
advertisement. Instead, selection of the advertisement results in
the portable device using a short URL to contact the short URL
service (107). The short URL service (107), in response, may
provide the long URL, thus enabling the portable device to reach
the advertiser web server (115).
[0041] In one or more embodiments of the invention, the third-party
advertisement system (111) may include an advertisement network, a
partner, and an advertisement server system. In one or more
embodiments of the invention, the advertisement network, the
partner, and the advertisement server system work in congruence to
facilitate the fulfillment of native or non-native advertisements
in the application (103) using, e.g., a real-time bidding (RTB).
Technical details pertaining to how advertisements are populated,
bid, and fulfilled are omitted for the sake of brevity.
[0042] While FIG. 1A shows a system in accordance with one or more
embodiments of the invention, the architecture of the system is not
limited to the components shown in FIG. 1A. Those skilled in the
art will recognize that the system may, for example, include
additional servers. For example, there may not be a single social
media network web server. Instead, multiple servers may be
necessary to support a large user base. Further, various
functionalities that are separately described may be combined on a
single server. For example, the short URL service and the user
mapping service may execute on the same server. Also, the
components of the system, including the portable device (101), the
short URL service (107), the user mapping service (109), the
third-party advertisement system (111), the social media network
web server (113) and the advertiser web server (115) may
communicate using any combination of wired and/or wireless
communication protocols. The network used to connect the above
components may include wide area network segments (e.g., the
Internet), and/or a local area network segments (e.g. enterprise or
home networks). The communication between the components may
include any combination of secured (e.g., encrypted) and non-secure
(e.g., un-encrypted) communication. The manner in which the
components communicate may vary based on the implementation of the
invention.
[0043] FIG. 1B shows the relationship between various components in
accordance with one or more embodiments of the invention. As shown
in FIG. 1B and further described in FIGS. 5-6, the user mapping
service using includes functionality to generate a mapping between
the social media ID (122) and a short URL ID (124) using a social
media descriptor (121) and a short URL descriptor (123). More
specifically, FIG. 1B shows the various types of information that
may be included in the descriptors (121, 123), stored by the user
mapping service (109). These descriptors, in accordance with an
embodiment of the invention, are generated whenever a user accesses
an advertisement (or other external content) displayed in an
application (103), as described in detail below. The social media
descriptor (121) may be generated by the social media network web
server (113), whereas the short URL descriptor (123) may be
generated by the short URL service (107). Both descriptors (121,
123) may be stored by the user mapping service (109). Those skilled
in the art will recognize that many descriptors (121, 123) may
coexist simultaneously, in particular for large social media
networks where many users interact with the social media
application and may select external content (e.g. applications)
while using the social media application.
[0044] The information described below may be stored in one or more
data structures. Any data structure type (e.g., arrays, linked
lists, hash tables, etc.) may be used to store the descriptors
(121, 123) and the information in the descriptors and to maintain
relationships (as described below) between corresponding social
media descriptors (121) and short URL descriptors (123). The user
mapping service (109), in accordance with one or more embodiments
of the invention, establishes and maintains mappings between social
media IDs (122) and the short URL IDs (124).
[0045] The social media descriptor (121) may include the IP address
of the portable device (101) executing the application (103), the
operating system of the portable device, the short URL to an
advertisement selected by the user, and a timestamp generated by
the social media network web server. The social media descriptor
(121) may further include a social media ID, e.g., a user name
associated with a social media network, including but not limited
to, Twitter. The user name may be the login name of the user
accessing the application on the portable device. The social media
descriptor may be generated by the social media network web server.
The social media descriptor may include additional and/or other
information without departing from the invention.
[0046] The short URL descriptor (123) may include the IP address of
the portable device (101) executing the application (103), the
operating system of the portable device, the short URL to an
advertisement selected by the user, and a timestamp generated by
the short URL service. Further, a short URL ID, i.e., a unique
identifier (typically including numbers and alphabets) may be
included in the short URL descriptor (123). The short URL
descriptor may include additional and/or other information without
departing from the invention.
[0047] A mapping between a particular social media ID and a
particular short URL ID may be established based on a comparison of
the social media descriptor (121) and the short URL descriptor
(123). Once such a mapping has been established, it may be used for
online conversion attribution, i.e., to prove that a particular
activity (e.g., a purchase of a product, viewing of an
advertisement, etc.) by a user, affiliated with the social media ID
stored in the social media descriptor, is causally related to the
user initially accessing an advertisement of the product (or other
external content) via the social network that the user is
accessing, as described below with reference to FIGS. 2-7.
[0048] FIGS. 2-6 show methods for online conversion attribution, in
accordance with a first embodiment of the invention. FIG. 2
describes steps performed by the portable device, FIG. 3 describes
steps performed by the short URL service, FIG. 4 describes steps
performed by the social media network web server and FIGS. 5 and 6
describe steps performed by the user mapping service. The execution
of the method described in FIGS. 2-6 may be triggered by a user
selecting an advertisement (or other external content) in an
application, e.g. in a social media application.
[0049] While the various steps in the flowcharts are presented and
described sequentially, one of ordinary skill will appreciate that
some or all of these steps may be executed in different orders, may
be combined or omitted, and some or all of the steps may be
executed in parallel. In one embodiment of the invention, the steps
shown in FIGS. 2-6 may be performed in parallel with any other
steps shown in FIGS. 2-6 without departing from the invention.
[0050] FIG. 2 shows a method in accordance with one or more
embodiments of the invention, performed by the portable device.
More specifically, FIG. 2 relates to a scenario in which a user is
accessing an application executing on the portable device and,
within the application, selects an advertisement (or other external
content), for example, by clicking on a link displayed by the
application user interface. Selection of the advertisement triggers
the execution of the method of FIG. 2, and may subsequently also
invoke other steps described in FIGS. 3-6.
[0051] In Step 201, a user selection is received by the application
executing on the portable device. The user selection may be, for
example, a link to an advertisement, clicked by the user. The link,
in accordance with an embodiment of the invention, is a short URL
that may not directly point to the advertisement, but instead may
need to be resolved by the short URL service in order to obtain the
long URL that points to the advertisement. The advertisement may be
displayed in the application.
[0052] In Step 203, the application notifies the social media
network web server of the user selection. The notification may
include the short URL, the IP address of the portable device and/or
the operating system of the portable device.
[0053] In Step 205, a browser user interface (UI) or a browser is
opened on the portable device.
[0054] In Step 207, the browser UI or the browser sends a short URL
request to the short URL service. The request may be, for example
an HTTP GET request based on the short URL. The request may include
the short URL, the IP address of the portable device and/or the
operating system of the portable device.
[0055] In Step 209, a cookie, sent by the short URL service, is
received by the browser UI or by the browser. The cookie, returned
by the URL service in response to the request made in Step 207, may
include a short URL ID. As previously described, the short URL ID
may have been generated by the short URL service and may have been
included in a short URL descriptor. The generation of the short URL
descriptor is described in Step 305 of FIG. 3.
[0056] In Step 211, the long URL, sent by the short URL service, is
received by the browser UI or by the browser. The long URL, in
accordance with an embodiment of the invention, is the URL to be
used to reach the advertisement on the advertiser web server.
[0057] In Step 213, the browser UI or the browser contacts the
advertiser web server using the long URL in order to obtain the
advertisement content.
[0058] In Step 215, the advertisement content, provided by the
advertiser web server, is received by the browser or the browser
UI. In one embodiment of the invention, the content includes a
tracking pixel. The tracking pixel may be an element that, after
detection of a particular user activity, signals that the user
activity has occurred. Specifically, the tracking pixel may be used
to signal the detection of a conversion. A conversion may occur,
for example, when a user purchases the advertised product, when a
specified web page is accessed, when the user lands on an order
confirmation page, when the user submit a certain form, etc. Those
skilled in the art will recognize that what constitutes a
conversion may be configurable.
[0059] The tracking pixel may be, for example, a segment of HTML,
JavaScript or any other type of browser-executable code, etc. that
executes once the conversion is detected. In one embodiment of the
invention, the tracking pixel includes code that, when the tracking
pixel fires, i.e., when the tracking pixel code is executed,
extracts the short URL ID from the cookie obtained in Step 209, and
sends the short URL ID to the user mapping service. Alternatively,
or in addition, the tracking pixel may include information
including, but not limited to, sales amounts, order quantities,
order IDs, or a combination thereof. In accordance with one or more
embodiments of the invention, a partner (e.g., the entity that is
attempting to send customers to its website using advertisements)
may weigh the one or more of various factors and compute a value of
a conversion. Thus, not all conversions are necessarily equal. In
particular, a partner may want to identify highly valuable users
who convert upon interacting with the advertisement. The additional
information in the tracking pixel gives the partner the ability to
assign a value to a conversion that is reflective of the value that
the user has to the partner.
[0060] In one embodiment of the invention, the tracking pixel may
be implemented by modifying an HTML file of the advertiser webpage.
A non-limiting example of HTML that may be added to the HTML file
is shown below.
TABLE-US-00001 <script src=''//platform.twitter.com/oct.js''
type=''text/javascript''></script> <script
type=''text/javascript''>
twttr.conversion.attributionPid('l4jtt', { tw_sale_amount: 0,
tw_order_quantity: 0 });</script> <noscript> <img
height=''1'' width=''1'' style=''display:none;'' alt='' ''
src=''https://analytics.twitter.com/i/adsct?txn_id=l4jtt&p_id=Twit-
ter&tw_sale_amount=0&tw_order_quantity=0'' /> <img
height=''1'' width=''1'' style=''display:none;'' alt='' ''
src=''//t.co/i/adsct?txn_id=l4jtt&p_id=Twitter&tw_sale_amount=0&tw_or-
der_quantity=0'' /></noscript>
[0061] In Step 217, a determination is made about whether a
conversion has occurred. The execution of any subsequent steps may
be delayed until a conversion is detected. Once the conversion is
detected, based on the specified conversion criteria, the method
may proceed to Step 219.
[0062] In Step 219, the tracking pixel fires. As the tracking pixel
code is executed, in Step 221, the short URL ID is extracted from
the cookie received in Step 209, and, in Step 223, the extracted
short URL ID is sent (directly or indirectly) to the user mapping
service. In one embodiment of the invention, the short URL ID
extracted from the cookie may be sent to another component and/or
service in the system, where this component and/or service
subsequently sends the short URL ID to the user mapping
service.
[0063] In another embodiment of the invention, the short URL ID is
sent to the component or service that performs the online
conversion attribution, where the component or service is not the
user mapping service (see e.g., FIG. 5, step 507).
[0064] FIG. 3 shows a method in accordance with one or more
embodiments of the invention, performed by the short URL
service.
[0065] In Step 301, the short URL request, sent by the portable
device in Step 207, is received. The received short URL request may
include the short URL to be resolved and may also include
additional information such as the IP address of the portable
device and the operating system of the portable device.
[0066] In Step 303, a timestamp, T.sub.2, is generated for the
received request. The timestamp indicates the time when the request
was received by the short URL service.
[0067] In Step 305, the short URL descriptor is generated. The
short URL descriptor may include the short URL ID generated for the
received short URL request, the IP address of the portable device,
the operating system of the portable device, the timestamp,
T.sub.2, and/or the short URL.
[0068] In Step 307, a cookie that includes the short URL ID is
generated and sent to the browser user interface (UI) or the
browser that was opened on the portable device in Step 205.
[0069] In Step 309, the long URL that corresponds to the short URL
is identified, and the identified long URL is sent to the portable
device.
[0070] FIG. 4 shows a method in accordance with one or more
embodiments of the invention, performed by the social media network
web server.
[0071] In Step 401, the user selection notification, sent from the
portable device in Step 203, is received.
[0072] In Step 403, a timestamp, T.sub.1, is generated for the
received notification. The timestamp, T.sub.1, indicates the time
when the notification was received by the social media network web
server. In one embodiment of the invention, the time base used for
timestamping by the social media network web server is at least
periodically synchronized with the time base used for timestamping
by the short URL service.
[0073] In Step 405, a social media descriptor is generated that may
include the social media ID, the IP address of the portable device,
the operating system of the portable device, the timestamp,
T.sub.1, and/or the short URL.
[0074] In Step 407, the social media descriptor is sent to the user
mapping service.
[0075] FIG. 5 shows a method in accordance with one or more
embodiments of the invention, performed by the user mapping
service.
[0076] In Step 501, the social media descriptor, sent by the social
media network web server in Step 407, is received. The received
social media descriptor may be stored by the user mapping service,
along with other, previously received social media descriptors.
[0077] In Step 503, the short URL descriptor, sent by the browser
UI or browser of the portable device in Step 223, is received. The
received short URL descriptor may be stored by the user mapping
service, along with other, previously received short URL
descriptors.
[0078] In Step 505, matching social media and short URL descriptors
are identified. The result of step 505 maybe one or more mappings
between social media IDs and short URL IDs. The details of Step 505
are described in FIG. 6
[0079] In Step 507, when a short URL ID is received by the user
mapping service (e.g., as a result of steps 217-223 being
performed), the short URL ID is compared to the mappings generated
in step 505. If there is a match, then the online conversion is
attributed to the social media platform. In one embodiment of the
invention, the short URL ID that is received in response to steps
217-223 being performed is associated with a timestamp (T.sub.3).
In such scenarios, attribution may only occur if there is a match
between the short URL ID and a social media ID and if the
difference between: (i) T.sub.3 and T.sub.1 or (ii) T.sub.3 and
T.sub.2 is less than a predetermined amount of time (e.g., 30
minutes, 1 hour, 5 hours, 1 day, etc.) Attribution may take many
forms including, for, example, providing monetary compensation to
social media platform for every pixel that fires.
[0080] In one embodiment of the invention, steps 505 and 507 may be
performed in real-time or near real-time (e.g., in close temporal
proximity to the time that: (i) the social media descriptor is
generated, (ii) the short URL descriptor is generated; and (iii)
the short URL ID is received by the user mapping service). In
another embodiment of the invention, the user mapping services may
obtain social media descriptors, the short URL descriptors, and the
short URL IDs for a period of time (e.g., one hour, one day, once
week, etc.) and then perform steps 505 and 507.
[0081] In one embodiment of the invention, a component or service
other than the user mapping service may perform all or a portion of
step 507. More specifically, the user mapping service may provide
the mappings generated in step 505 to another component or system.
This component and/or service may also obtain from directly or
indirectly the short URL ID generated as a result of step 217-223
being performed.
[0082] FIG. 6 shows a method for matching a social media descriptor
with a short URL descriptor, in accordance with one or more
embodiments of the invention. The method may be performed, for
example, after receipt of the short URL descriptor. The method may
be re-executed to match the short URL descriptor with stored social
media descriptors until a matching media descriptor is
identified.
[0083] In Step 601, a social media descriptor is obtained. The
obtained social media descriptor may be the most recently received
social media descriptors (Step 501). The social media descriptor
may include but is not limited to, the social media ID, the short
URL address, the portable device IP address, the portable device
operating system and/or the timestamp, T.sub.1, associated with a
user interacting with the advertisement (see e.g., Step 403).
[0084] In Step 603, a short URL descriptor is obtained. The
obtained short URL descriptor may be the most recently received
short URL descriptor (Step 503). The short URL descriptor may
include, but is not limited to, a short URL address, a portable
device IP address, a portable device operating system and/or a
timestamp, T.sub.2, associated with a user interacting with the
advertisement (see e.g., Step 303).
[0085] In Step 605, a determination is made about whether the
entries of the short URL descriptor match with the entries of the
social media descriptor. In order to make this determination, for
example, IP addresses, short URL addresses, operating systems, or
combinations thereof may be compared. If a match is detected, it is
assumed that the social media descriptor and the short URL
descriptor originate from the same user and/or portable device, and
the method may proceed to Step 607. If no match is detected,
execution of the method may terminate, and subsequently another
pair of short URL and social media descriptors may be analyzed in
another execution of the method shown in FIG. 6.
[0086] In Step 607, a determination is made about whether the
timestamps, T.sub.1 and T.sub.2, were created within a short time
interval. A short time interval may indicate that both timestamps
were a result of a single user activity, whereas a longer time
interval may suggest that the timestamps are not attributed to the
same user activity. If the difference between T.sub.1 and T.sub.2
is below a predetermined threshold, the method may proceed to Step
609. If the difference between T.sub.1 and T.sub.2 is above the
predetermined threshold, the execution of the method may terminate,
and subsequently another pair of short URL and social media
descriptor may be analyzed in another execution of the method shown
in FIG. 6.
[0087] In Step 609, the social media ID is mapped to the short URL
ID, thus unambiguously affiliating the user and/or the social
network with the user activity that resulted in the conversion.
Example 1
[0088] The use case scenario described below is intended to provide
an example of the method for online conversion attribution,
described in FIGS. 2-6. The use case scenario is based on the
exemplary system shown in FIGS. 1A and 1s for illustrative purposes
only. The methods described by FIGS. 2-6 are limited to neither the
system shown in FIG. 1A, nor to the use case scenario below.
[0089] Consider a scenario in which Kevin is using a smartphone to
execute an application. As Kevin browses content and advertisements
in the application via an application UI, he encounters an
advertisement from a partner, a sportswear company. Kevin interacts
with the advertisement by clicking on a link (i.e., a short URL,
e.g., "www.t.co/sports") in the advertisement.
[0090] Selecting the link results in the following information
being transmitted to the social media network web server: Kevin's
social media ID, the IP address of Kevin's smartphone and the short
URL, "www.t.co/sports". A timestamp is generated by the social
media network server.
[0091] In addition, selection of the link also opens a webview
(browser user interface) in the application. The application, via
the webview, subsequently, sends an HTTP GET request to
"www.t.co/sports". Upon receipt of the request, the t.co server
(i.e., the short URL service in this example) generates a short URL
descriptor that stores the following information: the short URL ID,
the IP address of Kevin's smartphone, "www.t.co/sports", and a
timestamp, generated by the short URL service. The t.co server
subsequently sends the short URL ID to the application executing on
Kevin's smartphone. In addition, the t.co server also provides the
long URL (e.g., "www.sportsco.com/homepage/basketball") to the
webview.
[0092] The webview subsequently sends an HTTP GET request to
"www.sportsco.com/homepage/basketball", which results in the
sportswear company webpage being displayed in the webview. At some
later point in time, a pixel on the webpage fires that results in
the short URL ID being sent to the user mapping service. Based on
the short URL ID, the user mapping service picks the corresponding
short URL descriptor and identifies the matching social media
descriptor. Using the short URL descriptor and the matching social
media descriptor, a correspondence is established between Kevin's
social media ID and the short URL ID, thus confirming that Kevin,
by clicking on the advertisement in the social media application
was redirected to the sportswear company This finding may then be
used to quantitatively assess the effectiveness of the
advertisement in the application and/or attribute the conversion to
application accordingly.
[0093] FIG. 7 shows a method in accordance with a second embodiment
of the invention. While the various steps in the flowchart are
presented and described sequentially, one of ordinary skill will
appreciate that some or all of the steps can be executed in
different orders and some or all of the steps can be executed in
parallel. Further, in one or more embodiments of the invention, one
or more of the steps can be omitted, repeated, and/or performed in
a different order. Accordingly, the specific arrangement of steps
shown in FIG. 7 should not be construed as limiting the scope of
the invention. In Step 701, the user executes an application on a
portable device.
[0094] At some point after the application has been executed, in
Step 703, a browser UI or a browser is opened in the portable
device. In one embodiment of the invention, the initial opening of
the application may trigger Step 703.
[0095] In Step 705, the user is directed from the application UI in
the application to a social media webpage associated with the
application in either the browser UI or the browser. The social
media webpage may be accessed via the social media network web
server. The browser UI may be based on webview technology, e.g.,
iOS.RTM. or Android.TM. webview.
[0096] In Step 707, the social media webpage requests that the user
input his or her login credentials including, but not limited to, a
social media ID, a password associated with the social media ID, a
Completely Automated Public Turing test to tell Computers and
Humans Apart (CAPTCHA), a security answer to a security question,
or the like. The information provided to the social media webpage
in Step 707 may be the same or substantially the same information
that the user is required to provide to when initially opening the
application.
[0097] In step 709, the social media network web server may (after
a user has successfully logged in using the credentials provided in
Step 707) provide a cookie to the browser UI or the browser, where
the cookie includes the social media ID of the user.
[0098] In step 711, the user is redirected back to the application
UI in the application.
[0099] In Step 713, when the user interacts (as discussed above)
with an advertisement in the application, a data log entry is
recorded. The data log entry includes information including, but
not limited to, a social media ID, an IP address, a timestamp
associated with the interaction between the user and the
advertisement.
[0100] In Step 715, the browser UI or the browser, in response to
the interaction in Step 713, obtains and displays a webpage based
on the obtained HTML file.
[0101] At time after Step 715, as the user interacts the webpage
(i.e., the webpage obtained in Step 715), information in the cookie
(i.e., the cookie generated and stored in Step 709) may be provided
(directly or indirectly) to the social media network web server.
This information may then be used for attribution, e.g., as
described in Step 507 of FIG. 5.
[0102] The following description includes a set of non-limiting
examples that describe various aspects of one or more embodiments
of the invention.
Example 2
[0103] Kevin is using a smartphone to execute an application. When
Kevin opens the application, he is redirected to a social media
webpage in the webview (as discussed above) where the webview
displays a login page for a social media network. Kevin is
requested to input his credentials, including his social media ID
(121) and password. When Kevin's identification is authenticated, a
cookie possessing Kevin's social media ID is sent to the
application and associated with the webview. At some time after the
cookie is obtained, Kevin is redirected back to the Application UI
(i.e., user interface of the application and not the webview).
[0104] Subsequently, when Kevin interacts with an advertisement
within the application UI (e.g., a sportswear company advertisement
from the above example), Kevin's social media ID, IP address, and a
timestamp associated with Kevin's interaction with the
advertisement are recorded and forwarded to a social media network
web server, which is associated with the application. In this
example, the advertisement includes the full URL (e.g.,
www.sportsco.com/homepage/basketball) and, as such Kevin is able to
directly access the website of the sportswear company.
[0105] At some later point in time, a pixel on the webpage fires,
which results in the social media ID being sent to the social
network web server. The information captured by the social network
web server may be used quantitatively assess the effectiveness of
the advertisement in the application and/or attribute the
conversion to the application accordingly.
Example 3
[0106] Kevin is a gold member with a partner, a sportswear company.
Purchase conversions made by gold members with the partner are
valued at three times those made by regular members. When Kevin
interacts with an advertisement for the sportswear company by using
the method in either Example 1 or Example 2, Kevin lands at a
sportswear company page. When Kevin lands at the sportswear company
page, a first pixel fires and Kevin's conversion is assigned 1
point. When Kevin makes a purchase and arrives at an order
confirmation page, a second pixel having Kevin's gold member
identifier is fired and Kevin's conversion is assigned 3 points.
Kevin's gold member identifier may be the header "G" associated
with the order confirmation number, e.g., G0123456789. In total,
Kevin's conversion is assigned 4 points.
[0107] On the other hand, Sam, who is a regular member with the
sportswear company, is assigned 1 point for firing the first pixel
and assigned 1 more point for firing the second pixel. Sam's
regular member identifier may be the header "R" associated with the
order confirmation number, e.g., R9876543210, or simply the absence
of the header "G," e.g., 9876543210. In total, Sam's conversion is
assigned 2 points.
[0108] The use of the tracking pixels may enable various entities
to obtain more granular information about how users are interacting
with a given website.
[0109] The above-examples are not intended to limit the scope of
the invention. One of ordinary skill in the art with the benefit of
the detailed specification would understand that variations to the
invention, including the addition and/or the removal of certain
steps, features, components, are possible and fall within the scope
of the invention. For example, in Example 3, the assigning of
points may be determined by the quantity of items ordered, by the
monetary value of items ordered, or a combination thereof.
[0110] Further, in addition to attributing conversions and
assigning and quantifying values of the conversions, the mapping,
as described above, may be used for advertisement retargeting. That
is, being able to reconstruct a relationship between a user's
social media ID, and the short URL's accessed by the user, a
partner may be interested in bidding for advertisement placements
in the third-party advertisement system so as to increase the
frequency in which the advertisement appears to the user in the
application.
[0111] Embodiments of the technology may be implemented on a
computing system. Any combination of mobile, desktop, server,
embedded, or other types of hardware may be used. For example, as
shown in FIG. 8, the computing system (800) may include one or more
computer processor(s) (802), associated memory (804) (e.g., random
access memory (RAM), cache memory, flash memory, etc.), one or more
storage device(s) (806) (e.g., a hard disk, an optical drive such
as a compact disk (CD) drive or digital versatile disk (DVD) drive,
a flash memory stick, etc.), and numerous other elements and
functionalities. The computer processor(s) (802) may be an
integrated circuit for processing instructions. For example, the
computer processor(s) may be one or more cores, or micro-cores of a
processor. The computing system (800) may also include one or more
input device(s) (810), such as a touchscreen, keyboard, mouse,
microphone, touchpad, electronic pen, or any other type of input
device. Further, the computing system (800) may include one or more
output device(s) (808), such as a screen (e.g., a liquid crystal
display (LCD), a plasma display, touchscreen, cathode ray tube
(CRT) monitor, projector, or other display device), a printer,
external storage, or any other output device. One or more of the
output device(s) may be the same or different from the input
device(s). The computing system (800) may be connected to a network
(812) (e.g., a local area network (LAN), a wide area network (WAN)
such as the Internet, mobile network, or any other type of network)
via a network interface connection (not shown). The input and
output device(s) may be locally or remotely (e.g., via the network
(812)) connected to the computer processor(s) (802), memory (804),
and storage device(s) (806). Many different types of computing
systems exist, and the aforementioned input and output device(s)
may take other forms.
[0112] Software instructions in the form of computer readable
program code to perform embodiments of the technology may be
stored, in whole or in part, temporarily or permanently, on a
non-transitory computer readable medium such as a CD, DVD, storage
device, a diskette, a tape, flash memory, physical memory, or any
other computer readable storage medium. Specifically, the software
instructions may correspond to computer readable program code that,
when executed by a processor(s), is configured to perform
embodiments of the technology.
[0113] Further, one or more elements of the aforementioned
computing system (800) may be located at a remote location and
connected to the other elements over a network (812). Further,
embodiments of the technology may be implemented on a distributed
system having a plurality of nodes, where each portion of the
technology may be located on a different node within the
distributed system. In one embodiment of the technology, the node
corresponds to a distinct computing device. Alternatively, the node
may correspond to a computer processor with associated physical
memory. The node may alternatively correspond to a computer
processor or micro-core of a computer processor with shared memory
and/or resources.
[0114] While the invention has been described with respect to a
limited number of embodiments, those skilled in the art, having
benefit of this disclosure, will appreciate that other embodiments
can be devised which do not depart from the scope of the technology
as disclosed herein. Accordingly, the scope of the technology
should be limited only by the attached claims.
* * * * *
References