U.S. patent application number 12/870996 was filed with the patent office on 2012-03-01 for instructional interface machine.
This patent application is currently assigned to eBay Inc.. Invention is credited to Belmer Perella Garcia Negrillo, Naoki Ogishi, Ben Pu, Famous Rhodes, Henry James Robinson, Brian Williams.
Application Number | 20120054026 12/870996 |
Document ID | / |
Family ID | 45698414 |
Filed Date | 2012-03-01 |
United States Patent
Application |
20120054026 |
Kind Code |
A1 |
Robinson; Henry James ; et
al. |
March 1, 2012 |
INSTRUCTIONAL INTERFACE MACHINE
Abstract
An instructional interface may be provided to a user device by
an instructional interface machine. The instructional interface is
configured to present a first textual instruction contemporaneously
with first media content. The instructional interface is configured
to receive a request that a second textual instruction be
presented. The instructional interface is further configured to
present the second textual instruction contemporaneously with
second media content, and to present a reference to a product that
is pertinent to the first textual instruction, pertinent to the
second textual instruction, or pertinent to both. The instructional
interface machine may provide the instructional interface, the
first textual instructions and the first media content to the user
device. The instructional interface machine may then detect the
request and provide the second textual instructions and the second
media content to the user device, in response to the request.
Inventors: |
Robinson; Henry James; (Palo
Alto, CA) ; Negrillo; Belmer Perella Garcia; (San
Francisco, CA) ; Pu; Ben; (Cupertino, CA) ;
Williams; Brian; (San Carlos, CA) ; Ogishi;
Naoki; (Redwood City, CA) ; Rhodes; Famous;
(San Jose, CA) |
Assignee: |
eBay Inc.
San Jose
CA
|
Family ID: |
45698414 |
Appl. No.: |
12/870996 |
Filed: |
August 30, 2010 |
Current U.S.
Class: |
705/14.49 |
Current CPC
Class: |
A61N 1/3968 20130101;
G06Q 30/0251 20130101; A61N 1/3937 20130101; G06Q 30/02 20130101;
A61N 1/3918 20130101 |
Class at
Publication: |
705/14.49 |
International
Class: |
G06Q 30/00 20060101
G06Q030/00 |
Claims
1. A method comprising: providing an instructional interface
configured to: present a first textual instruction
contemporaneously with first media content, the first textual
instruction being executable by a user of a user device, the first
media content being illustrative of at least a portion of the first
textual instruction; receive a request that a second textual
instruction be presented, the second textual instruction being
executable by the user subsequent to execution of the first textual
instruction; present the second textual instruction
contemporaneously with second media content, the second media
content being illustrative of at least a portion of the second
textual instruction; and present a reference to a product pertinent
to at least one of the first textual instruction or the second
textual instruction; providing the first textual instruction and
the first media content; detecting the request that the second
textual instruction be presented, the request being submitted using
the instructional interface; providing the second textual
instruction and the second media content in response to the
request, the providing of the second textual instruction being
performed by a processor of a machine; and causing the
instructional interface to present the reference to the
product.
2. The method of claim 1, wherein: the product is at least one of a
hardware part or a hardware tool; and the instructional interface
is configured to present the reference in a list pertinent to at
least one of the first textual instruction or the second textual
instruction, the list including a name of at least one of the
hardware part or the hardware tool.
3. The method of claim 1, wherein: the instructional interface is
configured to present a price of the product; and the method
further comprises providing the price of the product to the user
device.
4. The method of claim 1, wherein: the instructional interface is
configured to present a time period during which the product is
available for purchase; and the method further comprises providing
the time period to the user device.
5. The method of claim 1, wherein: the instructional interface is
configured to present a number of bids submitted to purchase the
product at auction; and the method further comprises providing the
number of bids to the user device.
6. The method of claim 1, wherein: the instructional interface is
configured to present an advertisement that describes the product
as available for purchase, the advertisement including the
reference to the product; and the method further comprises
providing the advertisement to the user device.
7. The method of claim 1, wherein: at least one of the first media
content or the second media content is illustrative of the product;
and the reference includes a hyperlink to an electronic storefront
configured to initiate a purchase of the product by the user.
8. The method of claim 1, wherein: the reference is a first
reference to a first product; the instructional interface is
configured to present the first reference and to present a second
reference to the second product; and the method further comprises
identifying the second product as being recommended to a further
user based on the first and second product being presented in the
instructional interface.
9. The method of claim 1, wherein: the first textual instruction,
when presented by the instructional interface, is presented in the
instructional interface without the second textual instruction
being presented in the instructional interface; and the second
textual instruction, when presented by the instructional interface,
is presented in the instructional interface contemporaneously with
the first textual instruction being presented in the instructional
interface.
10. The method of claim 1, wherein: the first media content, when
presented by the instructional interface, is presented in the
instructional interface without the second media content being
presented in the instructional interface; and the second media
content, when presented by the instructional interface, is
presented in the instructional interface contemporaneously with the
first media content being presented in the instructional
interface.
11. The method of claim 1, wherein: at least one of the providing
of the first textual instruction, the providing of the first media
content, the providing of the second textual instruction, or the
providing of the second media content includes providing the
reference to the product.
12. The method of claim 1, wherein: the providing of the
instructional interface includes communicating the instructional
interface to a web server accessible by the user device; and the
detecting of the request includes receiving the request from the
user device.
13. The method of claim 1, wherein: at least one of the first media
content or the second media content includes at least one of a
video clip, a still image, a three-dimensional model, or an audio
clip.
14. The method of claim 1 further comprising: providing a creation
interface configured to receive creative input submitted by a
further user, the creative input including the first textual
instruction and the second textual instruction, the creative input
being sufficient to identify the first media content and the second
media content; and generating the instructional interface based on
the creative input.
15. The method of claim 14, wherein: the creative input includes
the reference to the product; and the method further comprises:
determining that the reference is at least one of presented in the
instructional interface or clicked in the instructional interface;
and incrementing a stored value account of the further user by a
revenue share value in response to the determining.
16. The method of claim 14, wherein: the creative input includes
the reference to the product; and the method further comprises:
determining that the product is purchased by the user; and
incrementing a stored value account of the further user by a
revenue share value in response to the determining.
17. A system comprising: a provision module configured to: provide
an instructional interface configured to: present a first textual
instruction contemporaneously with first media content, the first
textual instruction being executable by a user of a user device,
the first media content being illustrative of at least a portion of
the first textual instruction; receive a request that second
textual instruction be presented, the second textual instruction
being executable by the user subsequent to execution of the first
textual instruction; present the second textual instruction
contemporaneously with second media content, the second media
content being illustrative of at least a portion of the second
textual instruction; and present a reference to a product pertinent
to at least one of the first textual instruction or the second
textual instruction; provide the first textual instruction and the
first media content; provide the second textual instruction and the
second media content in response to the request; and cause the
instructional interface to present the reference to the product;
and a detection module configured to detect the request, the
request being submitted using the instructional interface.
18. The system of claim 17, wherein: the product is at least one of
a hardware part or hardware tool; the instructional interface is
configured to present the reference in a list pertinent to at least
one of the first textual instruction or the second textual
instruction; the reference includes a hyperlink to an electronic
storefront configured to initiate a purchase of the product by the
user of the user device.
19. The system of claim 17 further comprising: a creation module
configured to provide a creation interface, the creation interface
being configured to receive creative input submitted by a further
user, the creative input including the first textual instruction
and the second textual instruction, the creative input being
sufficient to identify the first media content and the second media
content; and a generation module configured to generate the
instructional interface based on the creative input.
20. The system of claim 19 further comprising: a determination
module configured to: determine that the further user is designated
as a recipient of a revenue share value; and increment a stored
value account of the further user by the revenue share value in
response to the determining.
21. A non-transitory machine-readable storage medium comprising
instructions that, when executed by one or more processors of a
machine, cause the machine to perform a method comprising:
providing an instructional interface configured to: present a first
textual instruction contemporaneously with first media content, the
first textual instruction being executable by a user of a user
device, the first media content being illustrative of at least a
portion of the first textual instruction; receive a request that a
second textual instruction be presented, the second textual
instruction being executable by the user subsequent to execution of
the first textual instruction; present the second textual
instruction contemporaneously with second media content, the second
media content being illustrative of at least a portion of the
second textual instruction; and present a reference to a product
pertinent to at least one of the first textual instruction or the
second textual instruction; providing the first textual instruction
and the first media content; detecting the request that the second
textual instruction be presented, the request being submitted using
the instructional interface; providing the second textual
instruction and the second media content in response to the
request; and causing the instructional interface to present the
reference to the product.
Description
TECHNICAL FIELD
[0001] The subject matter disclosed herein generally relates to the
processing of data. Specifically, the present disclosure addresses
systems and methods of providing an instructional interface.
BACKGROUND
[0002] Generally, instructions may take the form of instructions
for a machine or instructions for a person. An instruction for a
machine (e.g., software) is a machine-readable command that causes
the machine to perform one or more functions indicated (e.g.,
encoded using a computer language) in the command. An example of
instructions for a machine is a computer program (e.g., an
application, an applet, or a script). In contrast, an instruction
for a person (e.g., a user of the device) is a human-perceivable
command that instructs (e.g., directs, teaches, or prompts) the
person to perform one or more functions described (e.g., using a
written language, symbols, or pictures) in the command. The
instruction may be perceived (e.g., received) by the person via any
one or more senses (e.g., sight, sound, or touch), and the
instruction may thereafter be executable by that person in the
performance of the one or more functions. Examples of instructions
for a person include a "how-to" manual that describes how to
perform a task, a set of transportation directions to guide a
traveler to a destination, or a recipe to prepare a particular
food. In many cases, an instruction for a person is expressed using
a written language as textual information (e.g., text).
Accordingly, the instruction for the person may be referred to as a
"textual instruction."
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] Some embodiments are illustrated by way of example and not
limitation in the figures of the accompanying drawings in
which:
[0004] FIG. 1-2 are diagrams illustrating an example of an
instructional interface, according to some example embodiments;
[0005] FIG. 3 is a diagram illustrating another example of an
instructional interface, according to some example embodiments;
[0006] FIG. 4 is a diagram illustrating a further example of an
instructional interface, according to some example embodiments;
[0007] FIG. 5 is a network diagram illustrating an instructional
interface machine, a web server, and user devices, according to
some example embodiments;
[0008] FIG. 6 is a block diagram illustrating components of an
instructional interface machine, according to some example
embodiments;
[0009] FIG. 7-9 are flowcharts illustrating operations in a method
of providing an instructional interface, according to some example
embodiments;
[0010] FIG. 10 is a flowchart illustrating operations in a method
of presenting textual instructions with media content, according to
some example embodiments; and
[0011] FIG. 11 is a block diagram illustrating components of a
machine, according to some example embodiments, able to read
instructions from a machine- readable medium and perform any one or
more of the methodologies discussed herein.
DETAILED DESCRIPTION
[0012] Example methods and systems are directed to providing an
instructional interface. Examples merely typify possible
variations. Unless explicitly stated otherwise, components and
functions are optional and may be combined or subdivided, and
operations may vary in sequence or be combined or subdivided. In
the following description, for purposes of explanation, numerous
specific details are set forth to provide a thorough understanding
of example embodiments. It will be evident to one skilled in the
art, however, that the present subject matter may be practiced
without these specific details.
[0013] An instructional interface may be provided (e.g., to a user
device) by an instructional interface machine (e.g., a computer
system modified by special software). According to various example
embodiments, the instructional interface is configured to present a
first textual instruction with first media content (e.g.,
contemporaneously). The first textual instruction is a
human-perceivable instruction that is executable by a user of a
user device, and the first media content is illustrative of at
least a portion of the first textual instruction. The instructional
interface is configured to receive a request that a second textual
instruction be presented. Like the first textual instruction, the
second textual instruction is a human-perceivable instruction that
is executable by the user. The instructional interface is further
configured to present the second textual instruction with second
media content (e.g., contemporaneously), and to present a reference
to a product that is pertinent to the first textual instruction,
pertinent to the second textual instruction, or pertinent to both.
In various example embodiments, media content (e.g., first media
content or second media content) refers to a video clip, still
image, a three-dimensional model, an audio clip, or any suitable
combination thereof.
[0014] The instructional interface machine may provide the
instructional interface, the first textual instructions, the first
media content, or any suitable combination thereof, to the user
device of the user. The instructional interface machine may then
detect the request that the second textual instruction be
presented. The request may be submitted to the instructional
interface machine using the instructional interface (e.g., from the
user device of the user). The instructional interface machine may
next provide the second textual instructions, the second media
content, the reference to the product to the user device, or any
suitable combination thereof, to the user device. The second
textual instruction, the second media content, or both, may be
provided in response to the request.
[0015] In various example embodiments, the product is a hardware
part, a hardware tool, or both, and the reference to the product
may be presented in the instructional interface. Moreover, the
reference may be presented in a list, where the list is pertinent
to the first textual instruction, pertinent to the second text
instruction, or pertinent to both.
[0016] The instructional interface may be configured to present a
price of the product, and the instructional interface machine may
provide the price to the user device. Additionally, the
instructional interface may be configured to present a time period
during which the product is available for purchase, and the
instructional interface machine may provide the time period to the
user device. Furthermore, the instructional interface may be
configured to present a number of bids submitted to purchase the
product (e.g., at auction), and the instructional interface machine
may provide the number of bids to the user device. Also, the
instructional interface may be configured to present an
advertisement pertinent to the product, and the instructional
interface machine may provide the advertisement to the user device.
For example, the advertisement may include a reference to a product
and may describe the product as being available for purchase (e.g.,
immediate purchase).
[0017] In certain example embodiments, the first media content, the
second media content, or both, are illustrative of the product, and
the reference may include a hyperlink to an electronic storefront
(e.g., an online shopping interface) that is configured to initiate
a purchase of the product (e.g., by the user of the user device).
Moreover, the instructional interface may be configured to present
multiple references to multiple products (e.g., a first reference
to a first product and a second reference to a second product). The
multiple references may be presented in a list (e.g., a list of
hardware parts, hardware tools, or both). Any one or more of the
multiple products may be identified as being recommended to a
further user (e.g., of a further user device), and the
identification of one or more of such products may be based on the
multiple references being presented in the list. In other words, if
the further user indicates interest in one product referenced in
the list, another product referenced in the list may be identified
(e.g., by a machine with a recommendation module) as being
recommended to the further user.
[0018] According to some example embodiments, textual instructions,
media content, or both are presented by the instructional interface
in a cumulative fashion. For example, the first textual
instruction, when presented by the instruction interface, may be
presented without the second textual instruction being present in
the instructional interface. However, the second textual
instruction, when presented by the instructional interface, may be
presented with the first textual instruction, both the first and
second textual instructions being presented contemporaneously.
Similarly, the first media content, when presented by the
instructional interface, may be presented without the second media
content being present in the instructional interface. However, the
second media content, when presented by the instructional
interface, may be presented with the first media content, both the
first and second media content being presented contemporaneously.
This cumulative presentation of the second textual instruction, the
second media content, or both, may be in response to the request
that the second textual instruction be presented. Alternatively,
the second textual instruction, the second media content, or both,
may be presented in a sequential fashion.
[0019] Moreover, the reference to the product may be provided by
the instructional interface machine to the user device. The
instructional interface machine may provide the reference with the
providing of the first textual instruction, the providing of the
first media content, the providing of the second textual
instruction, the providing of the second media content, or any
suitable combination thereof.
[0020] In some example embodiments, the instructional interface
machine provides the instructional interface by communicating the
instructional interface to a web server that is accessible by the
user device (e.g., a web server communicatively coupled to the user
device). In other words, the instructional interface machine need
not provide the instructional interface directly to the user
device, but may provide the instructional interface through one or
more intermediary machines. Similarly, the detecting of the request
may include receiving the request from the user device, directly or
indirectly.
[0021] The instructional interface machine may provide a creation
interface to facilitate creating the instructional interface. For
example, the creation interface may be configured to receive
creative input submitted by a further user (e.g., of a further user
device). The instructional interface machine may then generate the
instructional interface based on the received creative input. The
creative input received by the creation interface may include the
first textual instruction, the second textual instruction, or both.
Moreover, the creative input may be sufficient to identify the
first media content, the second media content, or both. For
example, the creative input may contain a first identifier (e.g., a
serial number, a hash, or a uniform resource locator (URL)) that is
specific to the first media content and a second identifier that is
specific to the second media content. In some example embodiments,
the creative input actually includes the first media content, the
second media content, or both (e.g., as uploaded from a user device
of the further user). Furthermore, the creative input may include
the reference to the product (e.g., in a list of hardware parts,
hardware tools, or both, as specified by the further user).
[0022] In certain example embodiments, the instructional interface
machine determines that the reference is presented (e.g., in the
instructional interface), clicked (e.g., in the instructional
interface), or both. In response to this determination, the
instructional interface machine may increment a stored value
account (e.g., a running balance of points, money, or other
incentives) of the further user who submitted the creative input.
This may have the effect of providing a revenue share to the
further user for a page view, a clickthrough, or both, related to
the instructional interface generated from the creative input.
[0023] According to various example embodiments, the instructional
interface machine determines that the product corresponding to the
reference is purchased by the user to whom the reference is
presented. The determination that the product is purchased may be
based on initiation of a purchase transaction for the product via
an electronic storefront. In response to this determination, the
instructional interface machine may increment the stored value
account of the further user who submitted the creative input. This
may have the effect of providing revenue share to the further user
for a product purchase influenced (e.g., prompted, triggered, or
caused) by the instructional interface generated from the creative
input.
[0024] FIG. 1-2 are diagrams illustrating an example of
instructional interface 100, according to some example embodiments.
As shown in FIG. 1, the instructional interface 100 includes first
media content 110, a first textual instruction 120, a list 130 of
parts and tools, a feedback interface 140, and a creation interface
initiator button 150. As shown in FIG. 2, the instructional
interface 100 includes second media content 210 and a second
textual instruction 220, as well as the list 130 of parts and
tools, the feedback interface 140, and the creation interface
initiator button 150.
[0025] The instructional interface 100 is provided by the
instructional interface machine to a user device of a user. The
instructional interface 100 initially appears as shown in FIG. 1.
In particular, the instructional interface 100 presents the first
textual instruction 120 contemporaneously with the first media
content 110.
[0026] The instructional interface machine detects a request that
the second textual instruction 220 be presented in the
instructional interface 100. The request may be submitted (e.g.,
via a user device) using the instructional interface 100. According
to various example embodiments, the request may take the form of a
mouse click on a portion of the instructional interface 100. For
example, the mouse click may be on the phrase "3. Snorkel Removal 2
of 2," the phrase "Disassembly Steps 1-8," or the first media
content 110.
[0027] In response to the detected request, the instructional
interface 100 changes appearance to that shown in FIG. 2. In
particular, the instructional interface 100 presents the second
textual instruction 220 contemporaneously with the second media
content 210.
[0028] In certain example embodiments, the first media content 110
and the second media content 210 are entirely different media
content (e.g., different video clips, different portions of a
single video clip, different still images, different
three-dimensional models, different audio clips, or different
portions of a single audio clip). However, in various example
embodiments, the first media content 110 and the second media
content 210 are similar in appearance, and the second media content
210 may be cumulative with respect to the first media content 110.
For example, the second media content 210 may include a
modification to the first media content 110 (e.g., an overlay
image, a highlighted portion, or markup). As shown in FIG. 2, the
second media content 210 overlays three circles, three leader
lines, and the phrase "Pins" onto the image shown in the first
media content 110.
[0029] The list 130 of parts and tools is pertinent to the first
textual instruction 120 and the second textual instruction 220. In
various example embodiments, the list 130 may be pertinent to only
the first textual instruction 120 or only the second textual
instruction 220. According to various example embodiments, the list
130 may indicate one or more parts, one or more tools, or any
suitable combination thereof, some or all of which may be on
display in the instructional interface 100.
[0030] The list 130 includes references to products available for
purchase. As shown in FIG. 1-2, a reference 132 is a reference to
such a product. The reference 132 may include a name of the
corresponding product (e.g., "BMW Fan Clutch E46 330i parts," or
"BMW E46 323i Convertible Clutch). The reference 132 may be
pertinent to the first textual instruction 120, the first media
content 110, the second textual instruction 220, the second media
content 210, or any suitable combination thereof.
[0031] The reference 132 may include a hyperlink to a web page that
describes the corresponding product. Moreover, the reference 132
may be presented in the instructional interface 100 with a price of
the corresponding product (e.g., "$53.99" or "$30.00"), with a time
period during which the product is available for purchase (e.g., "3
d 11 h" signifying 3 days and 11 hours), with a number of bids
submitted for the purpose of purchasing the product at auction
(e.g., "12 bids"), with an advertisement that describes the
corresponding product as being available for purchase (e.g., "Buy
It Now"), or with any suitable combination thereof.
[0032] In various example embodiments, the list 130 may be limited
to hardware parts or limited to hardware tools. As shown in FIG.
1-2, the list 130 includes controls to "show only tools" or "show
only parts." The list 130, in some example embodiments, includes
related products (e.g., accessories) that are pertinent to other
members of the list 130.
[0033] The feedback interface 140 may include ratings, reviews, or
other subjective information describing at least some of the
instructional interface 100. As shown in FIG. 1-2, the feedback
interface 140 includes information with respect to satisfaction,
descriptive detail, media support, accuracy, usefulness, or any
suitable accommodation thereof The feedback interface 140 may
provide one or more interactive elements (e.g., a drop-down menu to
select a sorting parameter).
[0034] The creation interface initiator button 150 is operable
(e.g., by a mouse click) to initiate a creation interface (not
shown). The creation interface initiator button 150 may be operated
by a cursor control device (e.g., a mouse, a touch screen, a
trackball, or a stylus). The creation interface is configured to
receive creative input, and the creative input may be used to
generate an instructional interface (e.g., one similar to the
instructional interface 100). The creation interface may be
configured to receive one or more textual instructions (e.g., the
first textual instruction 120), media content (e.g., the first
media content 110), one or more identifiers of media content, or
any suitable combination thereof.
[0035] FIG. 3 is a diagram illustrating an example of an
instructional interface 300, according to some example embodiments.
As shown in FIG. 3, the instructional interface 300 includes the
first media content 110 and the first textual instruction 120, as
shown in FIG. 1-2. The instructional interface 300, however,
includes a list 330 of parts and tools that is different in
appearance from the list 130 of parts and tools shown in FIG.
1-2.
[0036] The feedback interface 140 and the creation interface
initiator button 150 described in FIG. 1-2 appear again in FIG. 3.
The feedback interface 140 and the creation interface initiator
button 150 are described above with respect to FIG. 1-2.
[0037] The list 330 of parts and tools includes references to
products available for purchase. As shown in FIG. 3, a reference
332 need not include a name of the corresponding product. However,
a name for a product may be presented in the instructional
interface 300 upon occurrence of a triggering event (e.g., a
mouse-over event). As shown in FIG. 3, the phrase "BMW Fan Clutch
330 330i 330ci 330xi parts" appears in a balloon (e.g., a pop-up
window) corresponding to one of the references. Similar to the list
130 shown in FIG. 1-2, the list 330 may present the reference 332)
with a price of a corresponding product (e.g., "$53.99), a time
period during which the product is available (e.g., "15 h 41 m"
signifying 15 hours and 41 minutes), a number of bids submitted to
purchase the product (e.g., "1 bid"), an advertisement that
describes the corresponding product as being available for purchase
(e.g., "Buy It Now"), or any suitable combination thereof.
[0038] The list 330 includes a tab labeled "Parts" and a tab
labeled "Tools." These tabs are operable to refine the presentation
of references to products. In some example embodiments, the list
330 is presented in the instructional interface 300 after a
triggering event (e.g., a mouse click event) occurs with respect to
the list 130 shown in FIG. 1-2 (e.g., a mouse click on the phrase
"show only parts"). According to various example embodiments, the
list 330 may include one or more parts, one or more tools, or any
suitable combination thereof, some or all of which may be on
display in the instructional interface 300.
[0039] FIG. 4 is a diagram illustrating an example of the
instructional interface 400, according to some example embodiments.
As shown in FIG. 4, the instructional interface 400 includes
further media content 410 that is illustrative of a product
available for purchase. The instructional interface 400 may also
include a list 420 of tools pertinent to the product (e.g., used in
installing the product). The list 420 may include one or more
parts, one or more tools, or any suitable combination thereof, some
or all of which may coincide with parts or tools included in the
list 130.
[0040] Additionally, the instructional interface 400 may include a
balloon 460 (e.g., a pop-up window) that provides information
pertinent to the product available for purchase. As shown in FIG.
4, the balloon 460 may be presented upon occurrence of a triggering
event (e.g., a mouse-over event) and may include a name of the
product (e.g., "BMW Fan Clutch E46 330i parts"), a price of the
product (e.g., "$53.99"), a time period during which the product is
available (e.g., "3 days, 11 hours" or "3 d 11 h"), a number of
bids submitted to purchase a product (e.g., "12 bids"), an
advertisement that describes the corresponding product is available
for purchase, or any suitable combination thereof.
[0041] The feedback interface 140 and the creation interface
initiator button 150 described in FIG. 1-2 appear again in FIG. 4.
The feedback interface 140 and the creation interface initiator
button 150 are described above with respect to FIG. 1-2.
[0042] As shown, the instructional interface 400 includes the list
130 of parts and tools and the reference 132 to a product available
for purchase, which are described above with respect to FIG.
1-2.
[0043] FIG. 5 is a network diagram illustrating a system 500 with
an instructional interface machine 510, a web server 520, and user
devices 530 and 540, according to some example embodiments. The
system 500 includes the instructional interface machine 510, the
web server 520, the user devices 530 and 540, and a database 550,
all communicatively coupled to each other via a network 590.
[0044] Any machine, server, device, or database shown in FIG. 5 may
be implemented in a general-purpose computer modified (e.g.,
configured or programmed) by software (e.g., special-purpose
software) to be a special-purpose computer that is able to perform
the functions described herein for that machine. For example, a
machine able to implement any one or more of the methodologies
described herein is discussed below with respect to FIG. 11.
Moreover, any two or more of the machines illustrated in FIG. 5 may
be combined into a single machine, and the functions described
herein for any single machine may be subdivided among multiple
machines.
[0045] The network 590 may be any network that enables
communication between machines (e.g., instructional interface
machine 510 and user device 530). Accordingly, the network 590 may
be a wired network, a wireless network, or any suitable combination
thereof. The network 590 may include one or more portions that
constitute a private network, a public network (e.g., the
Internet), or any suitable combination thereof.
[0046] FIG. 6 is a block diagram illustrating components of the
instructional interface machine 510, according to some example
embodiments. The instructional interface machine 510 includes a
provision module 610, a detection module 620, a creation module
630, a recommendation module 640, a generation module 650, and a
determination module 660, all configured to communicate with each
other (e.g., via a bus, a shared memory, or a switch). Any one or
more of these modules may be implemented using hardware or a
combination of hardware and software (e.g., within the machine
discussed below with respect to FIG. 11). Moreover, any two or more
of these modules may be combined into a single module (e.g., a
single hardware module), and the functions described herein for a
single module may be subdivided among multiple modules (e.g.,
multiple hardware modules).
[0047] The provision module 610 is configured to provide an
instructional interface (e.g., instructional interface 100) and
provide one or more textual instructions (e.g., first textual
instruction 120 or second textual instruction 220), media content
(e.g., first media content 110 or second media content 210), or any
suitable combination thereof. The instructional interface may be
configured to present the one or more textual instructions, the
media content, or any suitable combination thereof, as well as
receive a request (e.g., submitted via the user device 530) that
one or more particular textual instructions (e.g., second textual
instructions 220) be presented. Moreover, the instructional
interface may be configured to present a reference to a product
that is pertinent to a textual instruction, media content, or any
suitable combination thereof.
[0048] As an example, the provision module 610 may be configured to
provide the instructional interface 100. The instructional
interface 100 is configured to present the first textual
instruction 120 contemporaneously with the first media content 110,
to receive a request that the second textual instruction 220 be
presented, to present the second textual instruction 220
contemporaneously with the second media content 210, and to present
the reference 132. The provision module 610 may be further
configured to provide the first textual instruction 120 and the
first media content 110. The provision module 610 may be still
further configured to provide, in response to the request, the
second textual instruction 220 and the second media content
210.
[0049] The detection module 620 may be configured to detect the
request received by the instructional interface (e.g.,
instructional interface 100) that was provided by the provision
module 610. Continuing the previous example, the detection module
620 may detect the request that the second textual instruction 220
be presented.
[0050] The creation module 630 is configured to provide a creation
interface (e.g., in response to operation of the creation interface
initiator button 150). The creation module 630 may provide the
creation interface to a user device (e.g., user device 540),
thereby enabling a user (e.g., a further user) of the user device
to submit creative input for creating an instructional interface
(e.g., instructional interface 100). The creative input may include
the first textual instruction 120, the second textual instruction
220, or both. The creative input may further identify the first
media content 110, the second media content 210, or both. For
example, the creative input may include one or more references
(e.g., identifiers, pointers, hyperlinks, addresses, or locators)
to media content. In some example embodiments, the creative input
actually includes the first media content 110, the second media
content 210, or both. Furthermore, the creative input may include
one or more references (e.g., reference 132) to products that are
associated with the instructional interface (e.g., pertinent to the
first textual instruction 120, or pertinent to the second textual
instruction 220).
[0051] The recommendation module 640 is configured to identify one
or more products as being recommended to a user (e.g., a further
user) of a user device (e.g., user device 540). An instructional
interface (e.g., instructional interface 100) may be configured to
present multiple references to multiple products. The
recommendation module 640 may identify a recommended product based
on the product being presented with another product in the
instructional interface 100. For example, the instructional
interface may present a first reference (e.g., reference 132) to a
first product (e.g., a fan clutch) and a second reference to a
second product (e.g., a belt tensioner), and a user may indicate
interest in the first product (e.g., the fan clutch). The
recommendation module 640 may detect an indication of interest by
the user (e.g., by receiving an indicator from the web server 520
or from the user device 540). In response, the recommendation
module 640 may identify the second product (e.g., the belt
tensioner) as being recommended for the user. The recommendation
module 640 may then communicate this identification (e.g., as a
reference to the second product) to the user device of the
user.
[0052] The generation module 650 is configured to generate an
instructional interface (e.g., instructional interface 100) based
on the creative input received by the creation interface provided
by the creation module 630. For example, the received creative
input may include identifiers of the first media content 110 and of
the second media content 210, as well as the first textual
instruction 120 and the second textual instruction 220, and the
generation module 650 may generate the instructional interface 110
based on the creative input.
[0053] The determination module 660 is configured to determine that
a particular user (e.g., a further user) is designated as a
recipient of a revenue share value. The revenue share value is a
value that represents a share of revenue associated with an
instructional interface (e.g., instructional interface 100).
Accordingly, the revenue share value may represent money, points,
or some other measurable reward. In some example embodiments, the
revenue share value may function as an incentive to create an
instructional interface (e.g., instructional interface 100).
Moreover, the revenue share value may be fixed or may vary
according to a degree of popularity or effectiveness of the
instructional interface.
[0054] For example, suppose the reference 132 is included in the
creative input submitted by a particular user (e.g., a further
user). The determination module 660 may determine that the
reference 132 is presented in the instructional interface 100, and
the determination module may increment a stored value account of
the particular user by the revenue share value (e.g., $0.01). This
may have the effect of rewarding the particular user when another
user views the reference 132 in the instructional interface 100. In
other words, the particular user may be rewarded based on page
views of the reference 132 that the particular user contributed to
the instructional interface 100.
[0055] The stored value account is a data structure (e.g., stored
on the database 550) configured to store an aggregate value
corresponding to the particular user (e.g., a monetary account or a
points balance). The incrementing of the stored value account may
be in response to the determination that the reference 132 is
presented.
[0056] As another example, the determination module 660 may
determine that the reference 132 is activated (e.g., clicked) in
the instructional interface 100. Based on this determination, the
determination module 660 increments the stored value account by a
revenue share value (e.g., $0.10). This may have the effect of
rewarding the particular user when another user activates (e.g.,
clicks on) the reference 132. In other words, the particular user
may be rewarded based on one or more clickthroughs associated with
the reference 132 that the particular user contributed to the
instructional interface 100.
[0057] In some example embodiments, where a particular user
submitted creative input that includes the reference 132, the
determination module 660 may determine that the product
corresponding to the reference 132 is purchased by another user
(e.g., after viewing or clicking on the reference 132 in the
instructional interface 100). Based on this determination, the
determination module 660 increments the stored value account by a
revenue share value (e.g., $5.00). This may have the effect of
rewarding the particular user for a purchase of the product by
another user, where the purchase is directly or indirectly
traceable to the inclusion of the reference 132 in the creative
input submitted by the particular user. In other words, the
particular user may be rewarded with a finder fee, advertiser fee,
royalty, sales commission, or any suitable combination thereof.
[0058] FIG. 7-9 are flowcharts illustrating operations in a method
700 of providing an instructional interface (e.g., instructional
interface 100), according to some example embodiments. The method
700 may be performed by the instructional interface machine 510,
using modules described above with respect to FIG. 6. As shown in
FIG. 7, the method 700 includes operations 710-780.
[0059] In operation 710, the provision module 610 provides the
instructional interface 100. The provision module 610 may provide
the instructional interface 100 (e.g., via the network 590) to the
user device 530, to the web server 520, or to both. For example,
the instructional interface 100 may be provided directly to the
user device 530 or indirectly to the user device 530 via the web
server 520. As noted above, the instructional interface 100 is
configured to present the first textual instruction 120
contemporaneously with the first media content 110, to receive a
request that the second textual instruction 220 be presented, to
present the second textual instruction 220 contemporaneously with
the second media content 210, and to present the reference 132 to a
product. The reference 132 to the product may be pertinent to the
first textual instruction 120, the second textual instruction 220,
or both.
[0060] In operation 720, the provision module 610 provides the
first textual instruction 120 and provides the first media content
110. The provision module 610 may provide one or both of these
(e.g., via the network 590) to the user device 530, to the web
server 520, or to both. For example, the provision module 610 may
provide the first textual instruction 120, the first media content
110, or both, directly to the user device 530 or indirectly to the
user device 530 via the web server 520.
[0061] In operation 730, the detection module 620 detects the
request that the second textual instruction 220 be presented (e.g.,
presented in the instructional interface 100). For example, the
request may be received by the instructional interface 100, and the
detection module 620 may detect that the request has been received.
Detection of the request may include detecting, for example, a
mouse click event, a mouse over event, a key press, a gesture, a
voice command, an eye movement command, a foot switch event, or any
suitable combination thereof.
[0062] In operation 740, the provision module 610 provides the
second textual instruction 220 and provides the second media
content 210. The provision module 610 may provide the second
textual instruction 220 (e.g., via the network 590) to the user
device 530, to the web server 520, or to both. For example, the
provision module 610 may provide the second textual instruction
220, the second media content 210, or both, directly to the user
device 530 or indirectly to the user device 530 via the web server
520. The second textual instruction 220 may be provided in response
to the request detected in operation 730. As an example, in
operation 730, the detection module 620 may detect a mouse click as
being the request that the second textual instruction 220 be
presented, and in operation 740, the provision module 610 may
provide the second textual instruction 220 in response to the
detected mouse click.
[0063] In some example embodiments, the instructional interface 100
is configured to present a price of the product referenced by the
reference 132. For example, the reference 132 may refer to a fan
clutch, and the instructional interface 100 may be configured to
present a price of the fan clutch (e.g., "$53.99"). In operation
750, the provision module 610 provides the price. The price may be
provided, for example, via the network 590 to the user device 530,
to the web server 520, or to both.
[0064] In certain example embodiments, the instructional interface
100 is configured to present a time period during which the product
is available for purchase. For example, a product may be in the
process of being sold at an auction that is scheduled to close in
three days and eleven hours, and the instructional interface 100
may be configured to present the remaining time available to bid on
the product (e.g., "3 days, 11 hours" or "3 d 11 h"). In operation
760, the provision module 610 provides the time period. The time
period may be provided, for example, via the network 590 to the
user device 530, to the web server 520, or to both.
[0065] In various example embodiments, the instructional interface
100 is configured to present a number that indicates a degree of
interest in the product. For example, the product may be in the
process of being sold at an auction, and the number may be a number
of bids placed on the product by potential buyers (e.g., "12
bids"). In operation 770, the provision module 610 provides the
number. The number may be provided, for example, via the network
590 to the user device 530, to the web server 520, or to both.
[0066] In particular example embodiments, the instructional
interface 100 is configured to present an advertisement. For
example, the advertisement may describe the product as being
available for purchase and may include a reference to the product
(e.g., reference 132). Moreover, the advertisement may encourage a
purchase of the product (e.g., an immediate purchase). In operation
780, the provision module 610 provides the advertisement. The
advertisement may be provided, for example, via the network 590 to
the user device 530, to the web server 520, or to both.
[0067] As shown in FIG. 8, the method 700 may include operations
810-850, according to some example embodiments. Operation 810 may
be included within operation 710; operation 820 may be included in
operation 720; operation 830 may be included in operation 730; and
operation 840 may be included in operation 740. As shown, operation
850 may be performed subsequent to operation 780.
[0068] As noted above, the provision module 610 provides the
instructional interface 100 in operation 710. In operation 810, the
provision module 610 communicates the instructional interface 100
to the web server 520, which is accessible by the user device 530.
Accordingly, operation 810 may support an indirect provision of the
instructional interface 100 to the user device 530.
[0069] In some example embodiments, the product referenced by the
reference 132 is pertinent to the first textual instruction 120. In
operation 820, the provision module 610 provides the reference 132
while providing the first textual instruction 120, providing the
first media content 110, or providing both. Accordingly, operation
820 may facilitate a presentation of one or more products likely to
be perceived as being relevant to the first textual instruction
120.
[0070] As noted above, in operation 730, the detection module 620
detects the request that the second textual instruction 220 be
presented. In operation 830, the detection module 620 receives the
request via the network 590. For example, the request may be
received directly from the user device 530. As another example, the
request may be received indirectly from the user device 530 (e.g.,
via the web server 520).
[0071] In certain example embodiments, the product referenced by
the reference 132 is pertinent to the second textual instruction
220. In operation 840, the provision module 610 provides the
reference 132 while providing the second textual instruction 220,
providing the second media content 210, or providing both.
Accordingly, operation 840 may facilitate a presentation of one or
more products likely to be perceived as being relevant to the
second textual instruction 220.
[0072] In various example embodiments, the instructional interface
100 is configured to present multiple references to multiple
products (e.g., in the list 130 of parts and tools). For example,
the instructional interface 100 may be configured to present a
first reference to a first product (e.g., a fan clutch) and a
second reference to second product (e.g., a belt tensioner), either
or both of the products being pertinent to the first textual
instruction 120, the second textual instruction 220, the first
media content 110, the second media content 210, or any suitable
combination thereof. In operation 850, the recommendation module
640 identifies a product as being recommended to a user (e.g., a
further user) of the user device (e.g., user device 540). The
identification may be based on the first product (e.g., the fan
clutch) and the second product (e.g., the belt tensioner) being
presented in the instructional interface 100. For example, the
recommendation module 640 may identify the second product (e.g.,
the belt tensioner) in response to an indication of interest by the
user in the first product (e.g., a fan clutch). The recommendation
module 640 may then provide an indication of the second product
(e.g., product number corresponding to the belt tensioner) to one
or more users, one or more user devices, a product recommendation
system, a product merchandising system, or any suitable combination
thereof.
[0073] As shown in FIG. 9, the method 700 may include operations
910-960, according to some example embodiments. Operations 910-920
may be performed prior to operation 710. Each of operations 930-950
may be performed after any of operations 710-780 and operations
820-840. As shown, operation 960 may be performed after any of
operations 930-950.
[0074] In operation 910, the creation module 630 provides a
creation interface. The creation interface may be provided in
response to detection of an initiation event, which may be received
by the instructional interface 100 (e.g., operation of the creation
interface initiator button 150). The creation module 630 may
provide the creation interface (e.g., via the network 590) to a
user device (e.g., user device 540) of a user (e.g., a further
user). For example, the creation interface may be provided directly
to the user device 540 or indirectly to the user device 540 via the
web server 520.
[0075] The creation interface is configured to receive creative
input usable in creating an instructional interface (e.g.,
instructional interface 100). For example, the creation interface
may enable a user (e.g., a further user) of the user device 540 to
submit the creative input to the instructional interface machine
510. Moreover, the creative input may be received, via the creation
interface, by the creation module 630. As discussed above with
respect to FIG. 6, the creative input may include the first textual
instruction 120, the second textual instruction 220, or both, and
the creative input may further identify the first media content
110, the second media content 210, or both. Furthermore, the
creative input may include the reference 132 to a product available
for purchase (e.g., a fan clutch).
[0076] Provision of the creation interface, therefore, allows the
user to create at least part of the instructional interface 100 for
subsequent provision to another user device (e.g., user device
530). The user (e.g., the further user) that created at least part
of the instructional interface 100 may be entitled to a revenue
share, based on usage of the instructional interface 100 by other
users. In particular, entitlements to the revenue share may be
based on an event pertinent to the reference 132 being included in
the creative input submitted by a user. Such an event may include,
for example, a viewing of the instructional interface 100, a mouse
click on the reference 132, a purchase of the product referenced by
the reference 132, or any suitable combination thereof.
[0077] In operation 920, the generation module 650 generates the
instructional interface 100 based on the creative input received
using the creation interface. Accordingly, the generation module
650 prepares the instructional interface 100 for subsequent
providing (e.g., to the user device 530) by the provision module
610 in operation 710.
[0078] According to some example embodiments, in operation 930, the
determination module 660 determines that the reference 132 is
presented in the instructional interface 100 (e.g., by virtue of
the provision module 610 providing the instructional interface
100). According to certain example embodiments, in operation 940,
the determination module 660 determines that the reference 132 is
clicked (e.g., is subject to a mouse click event) in the
instructional interface 100 (e.g., as communicated by the
instructional interface 100). In further example embodiments, the
determination module 660 determines that the reference 132 is
presented and clicked. According to various example embodiments, in
operation 950, the determination module 660 determines that the
product referenced by the reference 132 is purchased (e.g., by the
user of the user device 530).
[0079] In response to one or more of the determinations described
with respect to operations 930-950, the determination module 660,
in operation 960, increments a stored value account of the user
(e.g., the further user) that created at least part of the
instructional interface 100. This may have the effect of rewarding
the user for including the reference 132 in the creative input used
to generate the instructional interface 100 in operation 920. As
noted above with respect to FIG. 6, the stored value account
corresponds to the user (e.g., the further user) that submitted the
creative input, and the stored value account may be stored in the
database 550. The determination module 660, in incrementing the
stored value account, may cause money, points, or some other
measurable reward to accrue to the user.
[0080] FIG. 10 is a flowchart illustrating operations in a method
1000 of presenting textual instructions with media content,
according to some example embodiments. The method 1000 may be
performed by an instructional interface (e.g., instructional
interface 100) provided by the provision module 610. For example,
the user device 530 may receive the instructional interface 100
from the instructional interface machine 510, and the method 1000
may be performed by the user device 530 while presenting (e.g.,
displaying) the instructional interface 100 to a user of the user
device 530. The method 1000 includes operations 1010-1080.
[0081] In operation 1010, the instructional interface 100 presents
the first textual instruction 120 contemporaneously with the first
media content 110. For example, the first textual instruction 120
may include the statement "Remove snorkel by removing 3 plastic
pins," and the first media content 110 may include an image of a
car engine. Hence, the instructional interface 100 may present the
statement alongside the image, as shown in FIG. 1.
[0082] In operation 1020, the instructional interface 100 receives
the request (e.g., submitted by a user of the user device 530) that
the second textual instruction 220 be presented. For example, the
instructional interface 100 may receive, for example, a mouse click
event, a mouse over event, a key press, a gesture, a voice command,
an eye movement command, a foot switch event, or any suitable
combination thereof, that indicates the second textual instruction
220 is to be presented.
[0083] In operation 1030, the instructional interface 100 presents
the second textual instruction 220 contemporaneously with the
second media content 210. For example, the second textual
instruction 220 may include a statement "There are three pins to
remove," and the second media content 210 may include highlights
that emphasize portions of the image of the car engine. Hence, the
instructional interface 100 may present the statement alongside the
highlights, as shown in FIG. 2.
[0084] In operation 1040, the instructional interface 100 presents
the reference 132 to a product. As noted above, the product may be
a hardware part, a hardware tool, or both. Moreover, the product
may be pertinent to the first textual instruction 120, the second
textual instruction 220, the first media content 110, a second
media content 210, or any suitable combination thereof.
[0085] In some example embodiments, the instructional interface 100
is configured to present multiple references (e.g., reference 132)
to multiple products. Accordingly, in operation 1045, the
instructional interface 100 presents another reference (e.g., a
further reference) to another product (e.g., a further product).
For example, where the reference 132 is a first reference to a
first product (e.g., a fan clutch), a further reference to a
further product (e.g., a belt tensioner) may be presented in the
instructional interface 100. As noted above, presentation of the
reference 132 and the further reference in the instructional
interface 100 may form a basis to determine that the product or the
further product is recommended to a further user.
[0086] In operation 1050, the instructional interface 100 presents
a price of a product (e.g., "$53.99"). In operation 1060, the
instructional interface 100 presents a time period for which the
product is available (e.g., "3 days, 11 hours" or "3 d 11 h"). In
operation 1070, the instructional interface 100 presents a number
pertinent to the product (e.g., a number of bids placed to purchase
the product at auction). In operation 1080, the instructional
interface 100 presents an advertisement for the product (e.g., "Buy
It Now").
[0087] According to various example embodiments, one or more of the
methodologies described herein may facilitate efficiency, speed,
effectiveness, or any suitable combination thereof, with respect to
identifying one or more products that are pertinent to an
instruction presented in an instructional interface. Moreover, one
or more of the methodologies described herein may facilitate
provision of one or more recommendations, suggestions, promotions,
or any suitable combination thereof, with respect to identifying
one or more products that are pertinent to another product.
Accordingly, one or more of the methodologies discussed herein may
obviate the need for certain user efforts or computing resources
involved in identifying products. Such computing resources may
include, for example, processor cycles, network traffic, memory
usage, storage space, power consumption, or cooling capacity.
[0088] FIG. 11 illustrates components of a machine 1100, according
to some example embodiments, that is able to read instructions from
a machine-readable medium (e.g., a machine-readable storage medium)
and perform any one or more of the methodologies discussed herein.
Specifically, FIG. 11 shows a diagrammatic representation of the
machine 1100 in the example form of a computer system and within
which instructions 1124 (e.g., software) for causing the machine
1100 to perform any one or more of the methodologies discussed
herein may be executed. The instructions 1124 may constitute one or
more instructions for the machine 1100. In alternative embodiments,
the machine 1100 operates as a standalone device or may be
connected (e.g., networked) to other machines. In a networked
deployment, the machine 1100 may operate in the capacity of a
server machine or a client machine in a server-client network
environment, or as a peer machine in a peer-to-peer (or
distributed) network environment. The machine 1100 may be a server
computer, a client computer, a personal computer (PC), a tablet
computer, a laptop computer, a netbook, a set-top box (STB), a
personal digital assistant (PDA), a cellular telephone, a
smartphone, a web appliance, a network router, a network switch, a
network bridge, or any machine capable of executing the
instructions 1124 (sequentially 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 a
collection of machines that individually or jointly execute the
instructions 1124 to perform any one or more of the methodologies
discussed herein.
[0089] The machine 1100 includes a processor 1102 (e.g., a central
processing unit (CPU), a graphics processing unit (GPU), a digital
signal processor (DSP), an application specific integrated circuit
(ASIC), a radio-frequency integrated circuit (RFIC), or any
suitable combination thereof), a main memory 1104, and a static
memory 1106, which are configured to communicate with each other
via a bus 1108. The machine 1100 may further include a graphics
display 1110 (e.g., a plasma display panel (PDP), a liquid crystal
display (LCD), a projector, or a cathode ray tube (CRT)). The
machine 1100 may also include an alphanumeric input device 1112
(e.g., a keyboard), a cursor control device 1114 (e.g., a mouse, a
touchpad, a trackball, a joystick, a motion sensor, or other
pointing instrument), a storage unit 1116, a signal generation
device 1118 (e.g., a speaker), and a network interface device
1120.
[0090] The storage unit 1116 includes a machine-readable medium
1122 on which is stored the instructions 1124 (e.g., software)
embodying any one or more of the methodologies or functions
described herein. The instructions 1124 may also reside, completely
or at least partially, within the main memory 1104, within the
processor 1102 (e.g., within the processor's cache memory), or
both, during execution thereof by the machine 1100. Accordingly,
the main memory 1104 and the processor 1102 may be considered as
machine-readable media. The instructions 1124 may be transmitted or
received over a network 1126 (e.g., network 590) via the network
interface device 1120.
[0091] As used herein, the term "memory" refers to a
machine-readable medium able to store data temporarily or
permanently and may be taken to include, but not be limited to,
random-access memory (RAM), read-only memory (ROM), buffer memory,
flash memory, and cache memory. While the machine-readable medium
1122 is shown in an example embodiment to be a single medium, the
term "machine-readable medium" should be taken to include a single
medium or multiple media (e.g., a centralized or distributed
database, or associated caches and servers) able to store
instructions (e.g., instructions 1124). The term "machine-readable
medium" shall also be taken to include any medium that is capable
of storing instructions (e.g., software) for execution by the
machine, such that the instructions, when executed by one or more
processors of the machine (e.g., processor 1102), cause the machine
to perform any one or more of the methodologies described herein.
The term "machine-readable medium" shall accordingly be taken to
include, but not be limited to, a data repository in the form of a
solid-state memory, an optical medium, a magnetic medium, or any
suitable combination thereof.
[0092] Throughout this specification, plural instances may
implement components, operations, or structures described as a
single instance. Although individual operations of one or more
methods are illustrated and described as separate operations, one
or more of the individual operations may be performed concurrently,
and nothing requires that the operations be performed in the order
illustrated. Structures and functionality presented as separate
components in example configurations may be implemented as a
combined structure or component. Similarly, structures and
functionality presented as a single component may be implemented as
separate components. These and other variations, modifications,
additions, and improvements fall within the scope of the subject
matter herein.
[0093] 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 on a
machine-readable medium or in a transmission signal) or hardware
modules. A "hardware module" is a tangible unit capable of
performing certain operations and may be configured or arranged in
a certain physical manner. In various example embodiments, one or
more computer systems (e.g., a standalone computer system, a client
computer system, or a server computer system) or one or more
hardware modules of a computer system (e.g., a processor or a group
of processors) may be configured by software (e.g., an application
or application portion) as a hardware module that operates to
perform certain operations as described herein.
[0094] In some embodiments, a hardware module may be implemented
mechanically, electronically, or any suitable combination thereof.
For example, a hardware module may include dedicated circuitry or
logic that is permanently configured to perform certain operations.
For example, a hardware module may be a special-purpose processor,
such as a field programmable gate array (FPGA) or an ASIC. A
hardware module may also include programmable logic or circuitry
that is temporarily configured by software to perform certain
operations. For example, a hardware module may include software
encompassed within a general-purpose processor or other
programmable processor. It will be appreciated that the decision to
implement a hardware 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.
[0095] Accordingly, the term "hardware module" should be understood
to encompass a tangible entity, be that an entity that is
physically constructed, permanently configured (e.g., hardwired),
or temporarily configured (e.g., programmed) to operate in a
certain manner or to perform certain operations described herein.
As used herein, "hardware-implemented module" refers to a hardware
module. Considering embodiments in which hardware modules are
temporarily configured (e.g., programmed), each of the hardware
modules need not be configured or instantiated at any one instance
in time. For example, where the hardware modules comprise a
general-purpose processor configured by software to become a
special-purpose processor, the general-purpose processor may be
configured as respectively different hardware modules at different
times. Software may accordingly configure a processor, for example,
to constitute a particular hardware module at one instance of time
and to constitute a different hardware module at a different
instance of time.
[0096] Hardware modules can provide information to, and receive
information from, other hardware modules. Accordingly, the
described hardware modules may be regarded as being communicatively
coupled. Where multiple hardware modules exist contemporaneously,
communications may be achieved through signal transmission (e.g.,
over appropriate circuits and buses) that connect the hardware
modules. In embodiments in which multiple hardware modules are
configured or instantiated at different times, communications
between such hardware modules may be achieved, for example, through
the storage and retrieval of information in memory structures to
which the multiple hardware modules have access. For example, one
hardware 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 module may then, at a later time,
access the memory device to retrieve and process the stored output.
Hardware modules may also initiate communications with input or
output devices, and can operate on a resource (e.g., a collection
of information).
[0097] 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 described herein. As used herein,
"processor-implemented module" refers to a hardware module
implemented using one or more processors.
[0098] 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 more 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.
[0099] 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), with
these operations being accessible via a network (e.g., the
Internet) and via one or more appropriate interfaces (e.g., an
application program interface (API)).
[0100] 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 one or more processors or
processor-implemented modules may be located in a single geographic
location (e.g., within a home environment, an office environment,
or a server farm). In other example embodiments, the one or more
processors or processor-implemented modules may be distributed
across a number of geographic locations.
[0101] Some portions of this specification are presented in terms
of algorithms or symbolic representations of operations on data
stored as bits or binary digital signals within a machine memory
(e.g., a computer memory). These algorithms or symbolic
representations are examples of techniques used by those of
ordinary skill in the data processing arts to convey the substance
of their work to others skilled in the art. As used herein, an
"algorithm" is a self-consistent sequence of operations or similar
processing leading to a desired result. In this context, algorithms
and operations involve physical manipulation of physical
quantities. Typically, but not necessarily, such quantities may
take the form of electrical, magnetic, or optical signals capable
of being stored, accessed, transferred, combined, compared, or
otherwise manipulated by a machine. It is convenient at times,
principally for reasons of common usage, to refer to such signals
using words such as "data," "content," "bits," "values,"
"elements," "symbols," "characters," "terms," "numbers,"
"numerals," or the like. These words, however, are merely
convenient labels and are to be associated with appropriate
physical quantities.
[0102] Unless specifically stated otherwise, discussions herein
using words such as "processing," "computing," "calculating,"
"determining," "presenting," "displaying," or the like may refer to
actions or processes of a machine (e.g., a computer) that
manipulates or transforms data represented as physical (e.g.,
electronic, magnetic, or optical) quantities within one or more
memories (e.g., volatile memory, non-volatile memory, or any
suitable combination thereof), registers, or other machine
components that receive, store, transmit, or display information.
Furthermore, unless specifically stated otherwise, the terms "a" or
"an" are herein used, as is common in patent documents, to include
one or more than one instance. Finally, as used herein, the
conjunction "or" refers to a non-exclusive "or," unless
specifically stated otherwise.
* * * * *