U.S. patent application number 14/327325 was filed with the patent office on 2014-10-30 for method and apparatus for content presentation in association with a telephone call.
The applicant listed for this patent is Wendell Brown. Invention is credited to Wendell D. Brown.
Application Number | 20140321627 14/327325 |
Document ID | / |
Family ID | 49487903 |
Filed Date | 2014-10-30 |
United States Patent
Application |
20140321627 |
Kind Code |
A1 |
Brown; Wendell D. |
October 30, 2014 |
METHOD AND APPARATUS FOR CONTENT PRESENTATION IN ASSOCIATION WITH A
TELEPHONE CALL
Abstract
A method and apparatus are provided for presenting multimedia
content to a caller and/or a called party in association with a
telephone call. Content may be presented pre-ring (before the
called party's telephone rings), in-call, and/or post-call. Content
presented to a party may be related to another party participating
in the call or may be related to a third party (e.g., an advertiser
that paid for the ability to have its content presented). Presented
content may be actuable, to allow a caller to change the
destination of a call, take advantage of an offer presented to him
or her, redeem a coupon, schedule or queue a subsequent call, etc.
To find a desired destination party, a caller may initiate a manual
or automatic search of his or her local contacts (on his telephone)
and/or a central or global directory or contact list.
Inventors: |
Brown; Wendell D.;
(Henderson, NV) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Brown; Wendell |
Henderson |
NV |
US |
|
|
Family ID: |
49487903 |
Appl. No.: |
14/327325 |
Filed: |
July 9, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14041879 |
Sep 30, 2013 |
8804930 |
|
|
14327325 |
|
|
|
|
12563112 |
Sep 18, 2009 |
8577000 |
|
|
14041879 |
|
|
|
|
61167105 |
Apr 6, 2009 |
|
|
|
Current U.S.
Class: |
379/93.17 |
Current CPC
Class: |
H04M 15/8351 20130101;
H04M 15/85 20130101; H04W 4/23 20180201; H04M 1/72583 20130101;
H04M 15/61 20130101; H04M 15/8355 20130101; H04M 15/846 20130101;
H04W 4/20 20130101; H04M 7/0051 20130101; H04W 4/12 20130101; H04M
2203/6054 20130101; H04W 4/21 20180201; H04M 1/00 20130101; H04M
1/72572 20130101; H04M 15/00 20130101; H04M 2215/7231 20130101;
H04M 15/83 20130101; H04M 7/0036 20130101; H04M 15/8353 20130101;
H04W 4/18 20130101; G06Q 30/0241 20130101; H04M 2242/30 20130101;
H04M 3/42059 20130101; H04M 3/42051 20130101; H04M 3/4365 20130101;
H04M 15/848 20130101; H04M 3/4878 20130101; H04M 15/8083 20130101;
H04M 1/72555 20130101; H04W 4/16 20130101 |
Class at
Publication: |
379/93.17 |
International
Class: |
H04M 7/00 20060101
H04M007/00 |
Claims
1. A method of controlling presentation of content on a
communication device, the method comprising: receiving electronic
notification of initiation of a call from a first communication
device operated by a first private individual to a second
communication device operated by a second private individual;
transmitting a signal to the first communication device to delay
dialing the call, without soliciting action by the first private
individual; and for at least one of the first private individual
and the second private individual: retrieving social media content
associated with the one private individual; and transmitting the
social media content to the communication device operated by the
other of the first private individual and the second private
individual.
2. The method of claim 1, wherein the social media content is
transmitted to the other of the first communication device and the
second communication device after receiving the electronic
notification and before the call rings at the second communication
device.
3. The method of claim 1, wherein the social media content is
transmitted to the other of the first communication device and the
second communication device during the call.
4. The method of claim 1, wherein the social media content is
transmitted to the other of the first communication device and the
second communication device after the call.
5. The method of claim 1, wherein the social media transmitted to
one of the first communication device and the second communication
device is received from the other of the first communication device
and the second communication device.
6. The method of claim 1, wherein the social media comprises a
previous communication between the first private individual and the
second private individual.
7. The method of claim 1, wherein the social media is a most-recent
social posting by the one private individual.
8. The method of claim 1, wherein the social media is retrieved
from a social networking site.
9. The method of claim 1, wherein the social media is obtained
during the delay.
10. The method of claim 1, wherein the social media identifies a
location of the one private individual.
11. The method of claim 1, wherein the social media includes custom
content configured by the one private individual.
12. The method of claim 11, wherein: each of the first
communication device and the second communication device store
multiple sets of custom content; and a given set of custom content
stored on a given communication device is provided by the given
communication device for transmission to other communication
devices operated by predetermined other private individuals.
13. The method of claim 1, further comprising: retrieving, from one
of the first communication device and the second communication
device, a contact card of the first private individual or the
second private individual, respectively; and transmitting the
contact card to the other of the first communication device and the
second communication device.
14. The method of claim 1, further comprising: refreshing the
social media content during or after the call.
15. A computer-readable medium storing instructions that, when
executed by a processor, cause the processor to perform a method of
controlling presentation of content on a communication device, the
method comprising: receiving electronic notification of initiation
of a call from a first communication device operated by a first
private individual to a second communication device operated by a
second private individual; transmitting a signal to the first
communication device to delay dialing the call, without soliciting
action by the first private individual; and for at least one of the
first private individual and the second private individual:
retrieving social media content associated with the one private
individual; and transmitting the social media content to the
communication device operated by the other of the first private
individual and the second private individual.
16. Apparatus for controlling presentation of content on a
communication device external to the apparatus, the apparatus
comprising: one or more processors; and memory storing instructions
that, when executed by the one or more processors, cause the
apparatus to: receive electronic notification of initiation of a
call from a first communication device operated by a first private
individual to a second communication device operated by a second
private individual; transmit a signal to the first communication
device to delay dialing the call, without soliciting action by the
first private individual; and for at least one of the first private
individual and the second private individual: retrieve social media
content associated with the one private individual; and transmit
the social media content to the communication device operated by
the other of the first private individual and the second private
individual.
17. The apparatus of claim 16, wherein the social media content is
transmitted to the other of the first communication device and the
second communication device after receiving the electronic
notification and before the call rings at the second communication
device.
18. The apparatus of claim 16, wherein the social media content is
transmitted to the other of the first communication device and the
second communication device during the call.
19. The apparatus of claim 16, wherein the social media content is
transmitted to the other of the first communication device and the
second communication device after the call.
20. The apparatus of claim 16, wherein the social media transmitted
to one of the first communication device and the second
communication device is received from the other of the first
communication device and the second communication device.
21. The apparatus of claim 16, wherein the social media comprises a
previous communication between the first private individual and the
second private individual.
22. The apparatus of claim 16, wherein the social media is a
most-recent social posting by the one private individual.
23. The apparatus of claim 16, wherein the social media is
retrieved from a social networking site.
24. The apparatus of claim 16, wherein the social media is obtained
during the delay.
25. The apparatus of claim 16, wherein the social media identifies
a location of the one private individual.
26. The apparatus of claim 16, wherein the social media includes
custom content configured by the one private individual.
27. The apparatus of claim 26, wherein: each of the first
communication device and the second communication device store
multiple sets of custom content; and a given set of custom content
stored on a given communication device is provided by the given
communication device for transmission to other communication
devices operated by predetermined other private individuals.
28. The apparatus of claim 16, wherein the memory further stores
instructions that, when executed by the one or more processors,
cause the apparatus to: retrieving, from one of the first
communication device and the second communication device, a contact
card of the first private individual or the second private
individual, respectively; and transmitting the contact card to the
other of the first communication device and the second
communication device.
29. The apparatus of claim 16, wherein the memory further stores
instructions that, when executed by the one or more processors,
cause the apparatus to: refreshing the social media content during
or after the call.
Description
RELATED APPLICATION
[0001] This application is a continuation of U.S. patent
application Ser. No. 14/041,879, filed Sep. 30, 2013, which is a
continuation of U.S. patent application Ser. No. 12/563,112, filed
Sep. 18, 2009 and issued Nov. 5, 2013 as U.S. Pat. No. 8,577,000
(the '112 application). The '112 application claims priority to
U.S. Provisional Application No. 61/167,105, filed Apr. 6, 2009,
which is hereby incorporated by reference.
BACKGROUND
[0002] This invention relates to the fields of telecommunications
and computer systems. More particularly, a method and apparatus are
provided for presenting multimedia content to a caller and/or a
called party before, during, and/or after a telephone call between
the parties.
[0003] Calls from or to a mobile telephone are typically
accompanied by minimal display content. For example, when placing a
call, the caller may simply see a dialer screen used to enter a
telephone number, or to select a number or contact to be dialed.
When receiving a call, a called party may see the caller's
telephone number (or some other display if the number is blocked or
unknown) or a name of the caller (if the caller's telephone number
is stored in the called party's contacts), but little else.
[0004] Although this information display may be sufficient for the
basic purpose of identifying who is being called or who has
originated a call, it fails to deliver the type of multimedia
experience many people have come to expect in the electronic age.
Just as computer systems have evolved from textual operating
systems (e.g., DOS or Disk Operating System) to complex graphical
operating systems (e.g., Mac OS.RTM., Microsoft Windows.RTM.), the
display capabilities of mobile telephones have evolved in a similar
manner.
[0005] Although mobile telephone applications that operate
independently of telephone calls have been developed to take
advantage of the telephones' richer display capabilities, such as
offline games, photography, and GPS (Global Positioning System)
navigation, applications that make and receive calls or that
operate during a call have not. Therefore, there is a need for
methods and apparatus for enriching the experience of a person
making or receiving a call.
SUMMARY
[0006] In some embodiments of the invention, a method and apparatus
are provided for presenting multimedia content to a caller and/or a
called party in association with a telephone call. In these
embodiments, content may be presented pre-ring (before the called
party's telephone rings), in-call (during the call) and/or
post-call (after one or both parties have hung up).
[0007] Content presented to a party may be related to another party
participating in the call or may be related to a third party (e.g.,
an advertiser that paid to have its content presented). Thus,
rights to present content to parties engaging in a call may be
auctioned to various advertisers and other organizations, and a
party to a call may receive content that is or is not associated
with any purpose or party to the call.
[0008] In some embodiments, presented content may be actuable
(i.e., include one or more actuable controls), to allow a caller to
change the destination or routing of a call, take advantage of an
offer presented to him in the content, redeem a coupon, schedule or
queue a subsequent call, etc.
[0009] In some embodiments of the invention, a person's ability to
search for a desired destination party's contact information (e.g.,
telephone number) or to initiate a call to the party without
knowing that party's number is greatly enhanced. In these
embodiments, the person may initiate a search of any number of
contact lists and/or telephone directories, including lists
maintained on his device and/or off his device--such as at a
central call server or a third party repository.
[0010] Such a search may be conducted via keyword, so that as the
person enters characters describing the target destination (e.g.,
by name, by category), the search is automatically updated and
narrowed as the characters are entered. Results of a search may be
filtered or prioritized based on the person's profile (e.g., with
contacts known to that person having relatively high priority)
and/or by a general profile (e.g., based on which numbers/contacts
have been used most often by other people that conducted similar
searches).
DESCRIPTION OF THE FIGURES
[0011] FIG. 1 is a block diagram of a communication environment in
which some embodiments of the present invention may be
implemented.
[0012] FIG. 2 is a block diagram demonstrating establishment of a
telephone call and associated presentation of content, according to
some embodiments of the invention.
[0013] FIGS. 3-8 demonstrate content that may be presented on a
communication device of a caller and/or a called party before,
during and/or after a telephone call, according to some embodiments
of the invention.
[0014] FIG. 9 is a flow diagram demonstrating the presentation of
multimedia content to a caller and/or a called party in association
with a telephone call, according to some embodiments of the present
invention.
[0015] FIG. 10 is a flow diagram demonstrating the presentation of
multimedia content to a caller in association with a telephone
call, according to some embodiments of the present invention.
[0016] FIG. 11 is a block diagram of hardware apparatus for
facilitating presentation of multimedia content in association with
a telephone call, according to some embodiments of the
invention.
[0017] FIG. 12 is a block diagram of a call server for facilitating
presentation of multimedia content in association with a telephone
call, according to some embodiments of the invention.
DETAILED DESCRIPTION
[0018] The following description is presented to enable any person
skilled in the art to make and use the invention, and is provided
in the context of a particular application and its requirements.
Various modifications to the disclosed embodiments will be readily
apparent to those skilled in the art, and the general principles
defined herein may be applied to other embodiments and applications
without departing from the scope of the present invention. Thus,
the present invention is not intended to be limited to the
embodiments shown, but is to be accorded the widest scope
consistent with the principles and features disclosed herein.
[0019] In some embodiments of the invention, a method and apparatus
are provided for presenting multimedia content before, during,
and/or after a telephone call. The content is displayed on a
communication device that initiates or receives the call, if the
telephone's display is capable of displaying rich content;
otherwise, it may be displayed on an associated computing device.
In these embodiments, the displayed content may be selected based
on an identity or a characteristic of the caller or the called
party, may be relevant to a purpose or nature of the call, or may
be selected by an entity that paid to have the selected content
presented.
[0020] For example, for a telephone call between friends or
acquaintances, a caller or called party may be presented with
content drawn from an electronic presence of the other party (e.g.,
MySpace.TM., Facebook, hi5, Flickr.RTM.) or from private storage
(e.g., the friend's computing device). Or, he may be shown recent
electronic mail, other communication(s) involving the friend (e.g.,
his or her latest tweet on Twitter.RTM.), or other multimedia
content the friend is willing to share. In some embodiments, people
may assemble content for the specific purpose of being presented to
another party in association with a telephone call.
[0021] For a telephone call with an organization (e.g., a merchant,
a business), an advertisement or special offer from that entity (or
from an associate or a competitor of that entity) may be presented
(e.g., a video ad, a yellow page ad), or a menu or list of
services, directions or location information, information regarding
a current or recent transaction, etc.
[0022] Multimedia content presented before, during, and/or after a
telephone call may be accompanied by one or more controls for
taking action, such as seeing more content, navigating to a
particular web page or web site, downloading content, ordering a
good or service, adding another party to the call, re-routing or
aborting the call in favor of a different destination, or
initiating other action enabled by the content.
[0023] Determination of what content to present to a party is made
by a call controller. In embodiments of the invention described
herein, a controller for a particular telephone call may be the
caller, the called party, a call center configured to process
content in association with a telephone call, or some other third
party. The decision of what to present may be made in real-time, or
may be pre-determined.
[0024] For example, a commercial message (e.g., an advertisement)
may be pre-selected for presentation to some number of callers to a
particular telephone number. Merchants or other organizations may
pay for the opportunity to have their selected content presented to
a caller or called party, even if the paying organization is not a
party to the call.
[0025] FIG. 1 is a diagram of a communication environment in which
multimedia content may be presented in association with a telephone
call, according to some embodiments of the invention. In FIG. 1,
caller telephone 110 is used to place a call to a called party at
called party telephone 150. Call server 130 acts as a call
controller to manage the presentation of multimedia content on the
caller's telephone and/or the called party's telephone in
association with the call.
[0026] In FIG. 1, each telephone is capable of supporting parallel
data and voice channels. A voice channel between caller telephone
110 and called party telephone 150 may be established through the
PSTN (Public Switched Telephone Network), one or more telephone
carrier's networks, other public/private networks such as the
Internet (e.g., for VoIP calls), etc.
[0027] Data channels to/from a party's telephone may be established
using EvDO (Evolution Data Optimized or Evolution Data Only), UMTS
(Universal Mobile Telecommunications System), HSDPA (High-Speed
Downlink Packet Access or High-Speed Downlink Protocol Access), LTE
(Long Term Evolution) and/or other communication protocols and
links capable of carrying digital data. The data channels are
routed via call server 130, and are used to convey content to the
telephones and to convey other data to the call server as necessary
(e.g., to upload data from a telephone, activate a control within
presented content).
[0028] Caller telephone 110 hosts any number of applications,
applets, plug-ins, or other collections of executable program code.
Illustrative code that may be installed on the caller telephone
includes browser 112 for presenting and navigating multimedia
content, call processor 114 (e.g., a dialer application) for
processing an outgoing or incoming call, and optional block/allow
list 116.
[0029] Call processor 114 comprises logic for detecting and/or
controlling telephone events (e.g., dialing of a number, outgoing
call ringing, incoming call ringing, outgoing or incoming call
connected) and for using the data channel to receive content to be
presented and to submit data to the call server. Call processor 114
may comprise logic that hooks into a telephone dialer application
and can control how a call is handled. Or, the call processor may
comprise logic that replaces or supersedes a telephone's native
dialer application.
[0030] In some embodiments of the invention, call processor 114 may
delay signaling of a voice call from caller telephone 110 to the
caller's telephone service provider, in order to delay
establishment of the voice channel. The call processor may do this
automatically or based on instructions from the call server.
Similarly, ringing at a called party's telephone may be
delayed.
[0031] For example, calls placed to certain numbers or to certain
types of parties (e.g., merchants, other organizations) may be
delayed while content is selected and transmitted to the caller's
telephone. A timer may be displayed on the telephone and/or the
caller may be able to terminate the delay and make the call proceed
immediately. Thus, a delay may be fixed or may be aborted by the
affected party.
[0032] A call processor may also comprise logic for performing
keyword-based lookups, or may be configured to invoke similar logic
that executes separate from the call processor. For example, when a
caller enters part (or all) of the name of a person or organization
that she wishes to call (or a partial telephone number), the
keyword logic will search the called party's telephone for matching
contacts.
[0033] The call processor, or other logic, may also contact a
central location (e.g., call server 130) to initiate a
keyword-based search on a larger telephone directory. Thus, a
search for a destination party may be automatically conducted on
the caller's telephone and/or off the device at a central location
(e.g., call server 130) or a third party directory. As the caller
enters additional characters, the search results are narrowed
accordingly, and may be prioritized based on the caller's previous
interaction with some of the contacts, based on which destination
parties other callers selected in similar searches, based on the
caller's present location, based on fees paid by merchants for
priority listing, etc.
[0034] Other software may be installed on a party's communication
device to alter or enhance the presentation of media. For example,
a set of APIs (Application Programming Interfaces) may be provided
to allow injection of particular types of content. The APIs may be
used to facilitate presentation of content in association with a
telephone call and/or without any association with a telephone
call. However, in some embodiments of the invention, a person's
communication device need not be modified in any way in order to
receive and display content before, during, and/or after a
call.
[0035] In the illustrated embodiments of the invention, caller
telephone 110 (and/or call server 130) automatically blocks or
rejects calls attempted between telephone 110 and telephone numbers
(and/or people and organizations) identified in a block list.
Additionally, or alternatively, an allow list may be maintained to
specifically identify telephone numbers with which caller telephone
110 may be connected (e.g., all entries in a contact list or
telephone directory maintained on a party's telephone). In yet
other embodiments, a single combined block/allow list may be
maintained to identify target telephone numbers and indicate
whether calls with those numbers are blocked or allowed.
[0036] Block/allow lists may be maintained on a user's telephone
and/or at a call controller or call server. A block/allow list
maintained on telephone 110 (i.e., block/allow list 116) may be
considered a "local" list, while a list maintained on a call
controller (e.g., block/allow list 132) may be considered a
"central" or "global" list.
[0037] In some embodiments of the invention, a block/allow list (or
other filter) may be used to screen calls to/from malicious
telephone numbers or entities. For example, calls received from
telephone numbers known to be associated with telemarketers,
spammers (e.g., entities that spam via SMS or Short Messaging
Service), pranksters, and/or other undesirables may be blocked
automatically (or after querying the called party to identify the
call as possibly or certainly being from an undesired party).
[0038] Illustratively, a global list may be maintained to identify
telemarketers and spammers, especially those that call nationally
or regionally. A local list may be maintained to block calls from
pranksters, people who have made harassing calls and/or other
parties from whom calls are not desired.
[0039] A called party may identify a caller as malicious (or,
alternatively, not malicious) during or after a telephone call from
that caller, by activating a control on her telephone. For example,
during or after a call from a previously unknown caller, content
may be presented to the called party to ask her if the caller is a
telemarketer or harasser (or should otherwise be blocked), or if
the caller should be added to her contact list. Choosing to add a
previously unknown party or number to her contact list may cause
the call server to interrogate the caller's telephone or other data
source to retrieve a contact card, if one has been prepared for
sharing.
[0040] In some embodiments of the invention, caller telephone 110
may include additional components or executable code for performing
other functions, without exceeding the scope of the present
invention. For example, a telephone may also include one or more
storage components for storing, among other things, contacts, user
preferences, multimedia content to be presented on the telephone or
to be transmitted to another party for presentation on their
device, etc.
[0041] Locally stored content may be quickly presented to a user
without having to wait for receipt of the content from call
controller 130. Such stored content may be selected for storage
and/or presentation randomly, based on an identity of the a party
or parties within a contact list stored on the telephone, according
to an agreement with a third party (e.g., an advertiser) and the
call server or call controller, etc.
[0042] Called party telephone 150 may be configured similarly to
caller telephone 110 (e.g., with a browser, a call processor, a
block/allow list). In some embodiments, when a call is being
initiated from caller telephone 110 to called party telephone 150,
call server 130 may query the called party's telephone to determine
if it possesses any content that the called party would like to
have presented to the caller. Such content may then be transferred
before, during, and/or after the call. Similarly, content from
caller telephone 110 may be copied to called party telephone
150.
[0043] When a user's telephone is unable to display content chosen
for presentation to that user in association with a telephone call,
the content may instead be presented via a different device.
[0044] For example, and as shown in FIG. 1, a called party (or a
caller) may operate an associated computing device (e.g., a desktop
computer, a laptop computer, a personal digital assistant, a
netbook computer). The computing device may be registered with a
call controller (e.g., call server 130) before or during a call
(e.g., by IP address or other network address).
[0045] When the call controller determines that it cannot present
multimedia content on called party telephone 150, it will instead
transmit it to the associated computing device. The call controller
may determine that it cannot send content to telephone 150 based on
the type of telephone or the telephone number (e.g., a landline),
because the telephone connection lacks a data channel, because the
device is registered in the called party's user profile, etc.
[0046] A party's associated computing device may be coupled to call
server 130 by a network connection that traverses one or more
public or private data networks (e.g., the Internet, an intranet).
To register a computing device, a party may operate the computing
device to navigate a browser to a registration site or page. There,
the party may identify one or more telephone numbers and associate
them with the computing device so that when a call is placed to or
from one of the telephone numbers, content will be delivered to the
computing device instead of the telephone.
[0047] Call server 130 comprises central or global block/allow list
132 for screening a call to determine whether it should be placed
and/or whether multimedia content should be presented in
association with the call. The call server also includes media
selection logic 134 for selecting content to be displayed on a
caller's or called party's communication or computing device. Call
processor 136 is configured to receive or establish data (and/or
voice) channels with caller telephone 110 and/or called party
telephone 150 via virtually any data protocol and media.
[0048] Database(s) 140 are configured to store data regarding
subscribers and their communication/computing devices, content that
may be presented on such devices, information regarding advertisers
and/or other third parties that may provide content, factors for
determining or selecting content to be presented for a particular
call, etc. Call server 130 may also expose various APIs
(Application Programming Interfaces) to allow third parties to
provide media for presentation in association with a telephone
call, and/or other logic for retrieving such content from a third
party.
[0049] A call server or call controller according to other
embodiments of the invention may be configured to perform a subset
or a superset of the operations described herein, and therefore may
include fewer or additional components. Call server 130 is an
example of a third party call controller--that is, a controller
that is not operated by the caller or the called party.
Illustratively, call server 130 may be operated by a telephone
service provider, a data management service, a directory service,
or other entity with which the caller and/or called party (or their
service providers) have established agreements.
[0050] In other embodiments of the invention, a call controller may
be operated by a caller or called party, particularly when that
party represents an organization. Thus, a call to or from a
commercial enterprise may be controlled by an agent of that
enterprise (e.g., a telephone agent or operator, a sales agent).
That agent can select content for presentation on the other party's
communication device based on a purpose of the call, a previous or
current transaction between the parties, an offer being made to the
other party, etc. Or, such content may be selected automatically,
based on whether the organization has a pre-existing relationship
with the caller (e.g., whether the caller's telephone number is
known), which of multiple telephone numbers of the organization the
caller called, etc.
[0051] In some embodiments of the invention, a call controller or
call server may auction or directly sell a right to have content
presented to callers and/or called parties. For example, a call
server may auction the right to present content to callers that
dial a particular organization (e.g., a commercial company) or that
are called by the organization. The winner may be the same
organization, a competitor, or an unrelated party.
[0052] Or, a call server may auction content-presentation rights
based on identities or demographics of private callers and calling
parties. Thus, content presented to a caller may be selected based
on his current location, as reported by a GPS (Global Positioning
System) element of his telephone, his area code, his city, his type
of communication device, his telephone service provider, and so on.
For example, a content provider may be a vendor of goods or
services and may have purchased the ability to have content
presented to callers who place calls while they are within some
predetermined distance of the content provider.
[0053] Content presented on a communication device may fill the
area of the target party's telephone display screen, or only a
portion thereof. For example, when a call is placed to a commercial
organization, content from a single source may cover the caller's
entire telephone display. But, when a call is placed to one private
party from another private party, some or all of the display area
may be used to present content associated with one or both parties
(e.g., from Facebook, MySpace, Slide, Flickr), and only a small
area may be filled with content (e.g., an advertisement) from a
third party. Thus, content displayed on a party's telephone may
comprise multiple content components from the same or different
sources or providers.
[0054] When content is presented to a caller pre-ring (before a
destination party's telephone rings), the caller may activate a
control embedded in the content to take some action offered by the
content. For example, if he activates a control to re-route the
call to a different destination (e.g., based on an offer or
advertisement in the presented content), the call controller or the
call processor logic on the caller's telephone will cancel the
attempted call and initiate a call to the new destination. Or, a
caller may be presented with content that offers to route the voice
channel differently (e.g., via a different carrier for a cheaper
rate).
[0055] In some embodiments of the invention, a call server and a
separate call controller may cooperate to control the presentation
of content to a caller and/or a called party. For example, and as
shown in FIG. 1, data channels may be established between the
parties and a call server, and the call server may be responsible
for actually transmitting content to the parties and receiving any
data they submit.
[0056] The separate call controller, however, may be a third-party
content provider (or other third party) and may determine (and/or
dynamically provide) content to be provided to a particular party.
Thus, a call server may participate in many calls, and connect to
different call controllers for different calls (or at different
times during one call) to receive content to be presented to a
party. Even when a call server and a call controller are
co-located, content to be served to callers and/or called parties
may be retrieved from other parties.
[0057] As one alternative, a call may be initially handled by a
call server, perhaps to facilitate presentation of appropriate
pre-ring content to a caller or called party. However, at some
point (e.g., when the called party's telephone rings), control of
content presentation may be passed to a call controller associated
with or employed by the called party. As yet another alternative,
control of content presentation may be passed immediately to an
organizational call controller when a call destined for that
organization is identified.
[0058] FIG. 2 is a diagram illustrating presentation of content to
a caller and/or a called party in association with a telephone
call, according to some embodiments of the invention.
[0059] At step A, the caller enters or selects a telephone number
or contact listing for called party 250, in order to initiate a
voice call to that party. Alternatively, she may enter part of the
target party's name or number and select the party from results
produced by her communication device and/or a source external to
her device. At step B, the telephone numbers and/or other
identifiers of the caller and called party (e.g., IP addresses if
either party is using VoIP equipment) are transmitted to call
controller/call server 230 via a data channel of the caller's
telephone.
[0060] Control of the call may be passed to a particular call
controller, based on an identity of the caller or the called party.
Specifically, calls from a certain number (or set of numbers, such
as those of a single organization) or to a certain number (or set
of numbers) may be controlled by predetermined call controllers.
Or, call controller 230 may be a general call server configured to
handle presentation of calls involving private parties and/or
multiple organizations.
[0061] In step C, call controller 230 identifies a source of
content to be presented to caller 210 and/or called party 250, or
may identify specific content (i.e., not just a content source). In
step D, the call controller solicits content from a selected
source, which may be a web server, a data server, an advertisement
server or other repository of advertisements, an organization's
data server, etc.
[0062] Content may be selected for presentation based on an
identity of a particular party, a relationship between the caller
and the called party, an assumed (or known) purpose of the call,
and/or other factors.
[0063] In step E, call controller 230 forwards the selected content
to either or both of the caller and the called party. In some
embodiments, the content may be served directly to a caller or
called party from a content provider. Content may be presented to
either party before the called party's telephone rings, during the
parties' call, and/or after the call is terminated.
[0064] The voice channel between caller 210 and called party 250
may be routed and established in a normal fashion. However,
initiation of the connection may be delayed for a short period of
time (e.g., by call processor logic operating on the caller's
telephone). Thus, the actual voice connection may be completed any
time after step A.
[0065] Illustrative content that may be presented to a caller or a
called party pre-ring includes commercial offers and advertisements
(e.g., if the other party is a commercial organization), private
content such as pictures, communications, present status, current
location (e.g., if the other party is a private individual),
notifications, alerts, an identifier of the other party to the call
(e.g., a corporate logo, a personal avatar), etc. As part of
pre-call content, a caller may be able to better target his
destination party. For example, if he is calling an organization's
main (or toll-free) number, he may be presented with content that
allows him to choose a particular office or outlet (e.g., based on
city or address).
[0066] Illustrative content that may be presented to a party during
a call includes any or all types of content that may be presented
pre-ring. In-call content may also or instead relate to the
parties' voice connection, perhaps to provide visual description of
a subject of the parties' conversation, to graphically show
different products or product options, to show a transcript of the
conversation in real-time or near real-time (or provide other
assistance to a hearing-impaired party), to guide a party through
an IVR (Interactive Voice Response) menu, to provide customer
assistance graphically (instead of or in addition to verbally), to
exchange information textually/graphically instead of having to
speak it or punch it in via a keypad, to promote an up-sell, to
guide a party through an organization's telephone directory to find
a desired person, etc.
[0067] Illustrative post-call content includes content that may be
presented pre-ring and/or in-call. Post-call content may also or
instead summarize the parties' conversation or transaction, provide
a receipt, identify follow-on actions, confirm a later appointment
or other scheduled event, etc.
[0068] FIG. 3 illustrates content that may be presented to a caller
or a called party in association with a telephone call, according
to some embodiments of the invention.
[0069] Content 310 reflects the presentation of a logo, profile, or
other content that identifies an organization. In particular,
content 310 comprises an advertisement of a merchant. Content 310
may be presented to a caller when she initiates a call with the
indicated merchant, or may be presented to a called party when the
merchant calls her (e.g., to verify an order, to report on an order
status, to obtain additional information). Or, the illustrated
content may be presented when a person engages in a call with a
competitor of the indicated merchant, or another party unrelated to
the merchant.
[0070] Content 350 includes not only a logo or other visual
illustration of an organization, but also presents an offer of a
product or service (i.e., a room upgrade). Illustratively, the
recipient of content 350 may have booked a room reservation (with
the indicated merchant or a competitor), or may be in the process
of making a room reservation.
[0071] Thus content 350 may be presented while the recipient is
engaged in a call with the offering merchant, in which case the
recipient can verbally accept the offer or make an inquiry. Or, if
the offer is presented when the recipient is not currently engaged
in a call with the merchant, hitting a "dial" button, tapping the
screen (if it is touch-sensitive) or activating another control may
initiate a call between the recipient and the advertising merchant
so that she can take advantage of the offer.
[0072] In FIG. 3, a call controller managing the presentation of
content 310 and/or content 350 may be a merchant featured in the
content, especially for a call placed to the merchant or from the
merchant. Or, the call controller may be a call server or other
third party. Because the call controller may be a third party,
calls during which the content is presented may not even involve a
merchant identified in content 310 or content 350.
[0073] FIG. 4 also illustrates content that may be presented to a
caller or called party in association with a telephone call,
according to some embodiments of the invention.
[0074] Illustratively, content 410 may be presented to a caller
during a call with the indicated pizza vendor. Content 410 not only
allows the merchant and the caller to verify the caller's current
order, but also comprises an advertisement or offer for an
additional purchase, and may be presented before, during, or after
the call. Specifically, content 410 verifies the customer's order
(i.e., for one large Chicago-style pizza, with pepperoni) and the
delivery address, and also reminds the customer of a special offer
(i.e., $0.99 apple pies on Tuesday nights).
[0075] Content 410 may also, or instead, provide a control that the
caller can actuate to cause the caller's address (e.g., home
address, work address, current address) to transmitted to the
merchant or call controller. Illustratively, address information
may be stored on the caller's communication device (e.g., in a
contact record associated with the caller) and may be automatically
transmitted to another party when the caller initiates such
action.
[0076] In FIG. 4, the call controller that manages the presentation
of content on the customer's telephone may be a telephone agent
associated with the pizza merchant. In this case, when the customer
called the merchant, a data connection was automatically
established between the controller (which may be local to or remote
from the customer) and the customer. Thereafter, the call
controller can determine what is presented to the caller.
[0077] FIG. 5 also illustrates content that may be presented to a
caller or called party in association with a telephone call,
according to some embodiments of the invention.
[0078] Content 510 of FIG. 5 identifies a merchant or other
organization with which a person has established a telephone call,
completed a telephone call, or is about to call, or possibly a
competitor of such a merchant. Content 510 includes coupon 520, and
may be used during a call with the advertiser or offline (e.g., in
person in a retail store). As indicated, the coupon may be
automatically transmitted to the person's email address if the call
controller or an associated call server knows his or her address,
or if the person releases the address.
[0079] In other embodiments of the invention, other content may be
presented to a party when he is engaged in a call with a merchant,
or has initiated a call to a merchant. For example, the party's
last transaction may be displayed, an outstanding balance or other
account status may be presented, another merchant advertisement
(e.g., from the yellow pages, from an email campaign) may be
displayed. etc.
[0080] A call reflected in FIG. 5 may be controlled by the
organization identified in the content (e.g., a telephone agent
that is talking or has talked with the customer) or by a third
party (e.g., a call server).
[0081] FIG. 6 illustrates content that may be presented to a
potential called party in association with a telephone call,
according to some embodiments of the invention.
[0082] Content 610 of FIG. 6 may be presented to a called party
pre-ring (i.e., before her telephone rings), in association with a
pending call from an organization, such as the indicated bank. As
shown in FIG. 6, the content advises the party that the
organization is placing a call to her telephone, and indicates a
reason for the call. The party may be able to defer the call, agree
to answer it, or take other action, by activating a corresponding
control 620.
[0083] In some embodiments, advisory pre-ring content such as
content 610 may include information to help verify the authenticity
of the source of the upcoming call. For example, the organization
may include some digits of the person's account number, give
details of a previous transaction with the organization, etc.
[0084] In some embodiments, pre-ring content may include controls
for taking action such as accepting the call as planned, completing
the call immediately, postponing the call, scheduling it for a
particular time, etc. Such controls may be included as part of the
pre-ring content, or may be added by the call controller or the
call processor logic on the receiving party's communication
device.
[0085] A call controller for presenting content 610 may be the
organization that wishes to contact the called party (e.g., a
telephone agent, an account representative), or may be a third
party.
[0086] FIG. 7 illustrates content that may be presented to a caller
in association with a telephone call, according to some embodiments
of the invention.
[0087] Content 710 of FIG. 7 is presented to a caller pre-ring,
when he commences a call to a friend or acquaintance (e.g. someone
within her list of contacts or friends). Instead of only seeing the
name and/or number of the person he is calling, the caller receives
additional information regarding the called party and/or other
people, such as a picture of the called party.
[0088] Pre-ring content 710 reports the current status of the
target called party, which may be determined by the call controller
or call server handling the data portion of this call. His status
may be tracked by the call controller, especially if the call
controller is associated with the called party's telephone service
provider, in which case it can easily stay apprised of the status
of the party's telephone.
[0089] Thus, the target called party's status may indicate that he
is currently on another call, that he is otherwise busy, that his
telephone is turned off, etc. Illustratively, he may have activated
a control on his telephone that reports his status. Based on the
called party's status, the caller may be offered options to have a
return call placed to the caller when the called party is
available, to try the call again, to continue with the call (e.g.,
to leave a voicemail or media message), to camp and wait for the
called party to become available, etc.
[0090] Content 710 also includes an excerpt from the called party's
(or a third party's) electronic presence (e.g., an excerpt from
Facebook, MySpace or other web site), a recent Twitter message
(from the called party or a mutual friend/acquaintance), an offer
to make a further connection with the called party (e.g., via
LinkedIn, hi5, Windows Live Messenger), a recent photo posted by
the called party, and so on.
[0091] As indicated in FIG. 7, content 710 may be presented as
pre-ring content, but some elements of the content may also (or
instead) be presented as in-call or post-call content.
Alternatively, in-call and post-call content may be completely
different from content 710.
[0092] The called party may be presented with similar content
pre-ring, in-call and/or post-call. Of course, instead of seeing
content about himself, the called party would be presented content
associated with the caller and/or third parties (e.g., mutual
friends and acquaintances).
[0093] Content 710 includes timer 712 that indicates how soon the
voice channel of the call will be connected or routed for
connection. Illustratively, the voice connection may be delayed in
order to determine and present the called party's status, to
retrieve content to be presented, to allow the caller to review
content 710 or to choose an alternate course of action if the
called party is not currently available, or for some other reason.
A control (e.g., one of controls 720) may, however, allow the
caller to terminate the delay and proceed with (or attempt) the
voice connection immediately.
[0094] A call controller for controlling presentation of content
710 in FIG. 7 may be the called party or a third party (e.g., a
call server, a telephone service provider of the caller or the
called party). For example, the called party may have specified
certain content, or sources from which content may be retrieved,
for presentation to someone when a call is established or is being
initiated to him. Similarly, the caller may have identified content
that may be displayed to the called party, in which case he may be
considered the call controller for the called party's side of the
telephone connection.
[0095] FIG. 8 further illustrates content that may be presented to
a caller or called party in association with a telephone call,
according to some embodiments of the invention.
[0096] Content 810 of FIG. 8 not only identifies the other party to
a current call, but also includes content drawn from an electronic
presence of the other party (or a third party), such as content
from Facebook, Slide, Twitter and/or other web sites or content
repositories. Yet other content may be accessed by either or both
of the parties to the call, by activating an appropriate control
within content 810 to open a YouTube video, view a photo at Flickr,
listen to some audio, etc.
[0097] Content 810 may also provide personal information about the
other party (e.g., her upcoming birthday), her approximate location
(e.g., 1700 feet away), her status (e.g., in a meeting, dining, in
transit).
[0098] An advertisement included with content 810 may be relevant
to another portion of the content (e.g., a birthday announcement, a
discussion of traffic, an invitation to dine), and/or may be
associated with one or both of the parties' current locations
(e.g., as reported by a GPS component of a party's telephone).
[0099] A call controller responsible for presenting content (or
determining content to be presented) to a caller or called party in
the call of FIG. 8 may be the other party, a call server or some
other third party (e.g., the source of the advertisement).
[0100] As seen in FIGS. 3-8, pre-ring, in-call, and post-call
content presented to a caller or called party may relate to any of
the parties to a call and/or a third party. The content may include
entertainment for one or more of the parties to enjoy before,
during, and/or after the call, but may also include commercial
information (e.g., sales offers, transaction details,
advertisements, coupons). Commercial content presented to a party
engaged in a call with an organization may be associated with that
organization, a competitor, an associate, or an unrelated
entity.
[0101] Content may include various controls for accessing
additional content (alone or in unison with the other party to a
call), for navigating to a party's page or presence at a particular
web site, for affecting the voice channel of a call (e.g., to delay
or reschedule a call, to leave a message, to add another party to
the call), for accepting or viewing further details of an
advertisement, and so on.
[0102] Some controls and actions offered via content presented on a
party's communication device may involve altering the routing of a
current call. For example, when a caller initiates an overseas call
via a particular carrier, an advertisement or offer from a
competing carrier may be presented pre-ring (e.g., to complete the
call for $0.0X per minute). If the caller wishes to take advantage
of the offer, he may activate a corresponding control within the
presented content. Or, the offer may be presented as an offer or
coupon during or after the original call.
[0103] Similarly, a caller may choose to route a call to a
different destination based on pre-ring content. Thus, if a caller
dials a commercial organization and an advertisement or offer from
a competitor is presented pre-ring, the caller may accept the offer
(e.g., by activating a control within the content), in which case
the destination of the call is changed before the original called
party's telephone rings.
[0104] In some embodiments of the invention in which a call is
controlled by a third party (i.e., not the caller or the called
party), the call controller may present to one party content
associated with a competitor or an associate of the other party.
For example, content selected for presentation may be provided by
the highest bidder for calls targeting a particular merchant or
from a particular caller, or from a caller matching a certain
demographic (e.g., age, sex, location, income).
[0105] In some embodiments, before or during a current call, a
caller (or called party) may specify that another call should be
established when the current call is terminated. If multiple
follow-on calls are desired, a queue may be established (and be
viewable to that party). For example, if an advertisement or a
communication from a friend/acquaintance is presented to the caller
before or during a first call, he may activate an associated
control to program his communication device to automatically place
a follow-on call when the current call is completed.
[0106] As described previously, when a caller or called party's
communication device is not capable of presenting rich content,
pre-ring, in-call, and/or post-call content may be presented on a
selected computing device. The content may be presented within a
traditional browser program, within an application provided by an
operator of a call server (or by some other entity), via an instant
messaging program or electronic mail, or in some other manner.
[0107] FIG. 9 is a flow chart demonstrating a method of controlling
presentation of multimedia content in association with a telephone
call, according to some embodiments of the invention. In these
embodiments, content may be presented on a communication device or
associated computing device of either or both a caller and a called
party.
[0108] In operation 902, a caller initiates a call from a
communication device. In some embodiments of the invention, a
dialer or call processor on the caller's telephone is augmented or
replaced by a dialer or call processor configured to facilitate
such media presentation, or is modified to operate as described
here.
[0109] A replacement or modified call processor program may be
configured to immediately initiate a data connection with a call
server or other controller when the caller enters the number to be
dialed, when the caller selects the party to be called (e.g., from
a list of contacts), or when the caller activates a control to
place the call (e.g., a "dial" button"). Or, if the caller uses a
search function to find a desired party by entering a partial name
or telephone number, the search may be performed both on the user's
device and off the device (e.g., at a call server), in which case
the call controller can determine in real time that a call is being
commenced.
[0110] In optional operation 904, the call processor (or other
logic on the calling device) may present an initial message or
content screen to the caller (if the calling device is capable of
presenting such a message). For example, if the called party is
known to be a friend of the caller, an initial message such as
"Retrieving X's latest photo from Facebook . . . " or "Checking X's
current status" (where X is the name of the friend) may be
displayed.
[0111] Or, if the called party is known to be a merchant that has
an agreement with the call controller, a commercial-oriented
message may be displayed, such as "Checking for personalized offers
. . . " (if the called party is a vendor) or "Retrieving details of
your previous transaction . . . ", etc.
[0112] Yet further, an initial set of content may presented from
local storage (e.g., a cache) on the caller's device. For example,
for parties that the caller often communicates with (e.g., close
friends, favorite take-out restaurants), content related to the
parties (e.g., pictures, video shared between the parties, a menu)
may be presented even before the call is connected. Depending on
the resources of the caller's device, content related to any number
of specific parties, and/or general content that may be displayed
for calls to various parties, may be cached on the caller's
communication device.
[0113] Thus, an initial message displayed even before the caller's
call is placed may comprise a logo or advertisement of a commercial
business, an avatar representing a friend or acquaintance, a
picture of the called party, social content (e.g., from a social
networking or content sharing web site), etc. Such content may be
automatically refreshed on a regular or occasional basis. In some
alternate embodiments of the invention, an initial message may
simply indicate that the desired call is being placed (e.g., with
minimal or no multimedia content).
[0114] In optional operation 906, the voice portion of the call is
delayed. In particular, in the illustrated embodiment of the
invention, signaling of the call via SS7 (Signaling System Number
7) or other telephone switching scheme may be automatically delayed
by a short period of time (e.g., 1 second, 5 seconds, 10 seconds)
to allow a data portion of the call to be established between the
calling device and a call controller. As described above, the call
controller may be a call server, a telephone agent (automated or
human), an operator, or other entity.
[0115] A default period of delay may be increased or decreased
based on an identity of the caller or called party, or the time
necessary to collect and present appropriate content, and different
delays may be associated with different parties. Yet further, once
the data connection is established with the call controller (e.g.,
in operation 908), the calling device may be instructed to extend
the delay or to reduce or eliminate any delay.
[0116] For example, if the call is being placed to a particular
friend or acquaintance, and it is known that no relevant multimedia
content is available regarding that person, the delay may be
negligible. Alternatively, if the call controller is able to
quickly determine that an electronic presence of the called party
has recently been changed (e.g., at a web page on Facebook or
MySpace or Slide), a delay may be lengthened to allow that page (or
a portion thereof) to be retrieved and served to the calling
device.
[0117] As another example, if the call is being placed to an
unknown party, no content specifically relative to that party will
be identified, and so there may be little or no delay.
Alternatively, if the called party is a known commercial entity,
the call controller may implement a delay sufficient to allow
identification, retrieval, and serving of relevant content--such as
details of a previous transaction, a status of a current
transaction, an advertisement from a competitor, a special deal, a
guide to an IVR (Interactive Voice Response) menu of the called
party's telephone system), etc.
[0118] Voice connections to some telephone numbers (e.g., 911, 411,
0), to friends and acquaintances (e.g., private individuals within
the caller's contact list), or to numbers matching certain patterns
(e.g., anything less than seven digits, anything more than ten
digits, anything with a * or # symbol) may be initiated without
delay or otherwise treated in a special manner.
[0119] In operation 908, a data connection between the caller's
communication device and the call controller is established, and
the call controller receives the origination telephone number, the
destination telephone number, and any related information (e.g.,
names of caller and called party, an indication of a frequency of
contact between the parties, details of a previous call between the
parties).
[0120] In some embodiments of the invention, the call controller is
an agent associated with either the caller or the called party,
especially when that party is (or represents) a company or other
organization. Thus, presentation of content in association with
calls placed to some organizations (e.g., large commercial
companies) may be controlled by an agent that works for that
organization. In these embodiments, the call controller can present
to the caller special deals (e.g., sales, personalized offers,
upgrades), details of a previous or current transaction between the
caller and the organization, visual information regarding the
organization or a product or service the organization offers (e.g.,
pictures, video, graphics), etc.
[0121] In other embodiments, a call controller may be a third party
(e.g., the caller's or called party's telephone service provider,
an operator of a call server). A third party controller may control
presentation of content related to either or both the caller and
called party, and/or may present content relating to a different
party. For example, a third party call controller may present to a
caller an advertisement for a competitor or affiliate of the called
party, or present to the called party an advertisement for a
competitor or affiliate of the caller.
[0122] A call controller may establish agreements with commercial
(and/or other) entities to present their selected content (e.g.,
advertisements, special offers) to certain callers and/or called
parties based on their identity or the identity of a party to which
they would be connected if the current call is completed. The
content to be presented may be selected at random, or may be based
on an identity or profile of the caller or the called party.
[0123] In particular, a call controller (especially a third party
call server) may auction or otherwise sell content presentation to
advertisers or other entities. The call controller may
differentiate content presentation opportunities based on the
caller and/or called party identities, geographical location of a
party, party demographics, and/or any other characteristic.
[0124] Also in operation 908, the call controller may quickly
attempt to ascertain a status of the called party. For example, by
making (or attempting to make) a data connection to the called
party's communication device, the call controller may determine
that the called party is available, is on a call (and maybe an
identity of the other party), is in a meeting or is otherwise
unavailable. Illustratively, such a status may be determined based
on a status of the communication device (e.g., off-hook) or by a
status set on the device by the called party (e.g., to forward
calls, to initiate a silent mode of operation).
[0125] If the called party is unavailable, the caller may be
offered the option to wait, to call later, to leave a message, to
have the called party place a return call the caller, to
automatically place a call from the caller to the called party when
he/she is available, etc.
[0126] The call controller may also determine whether the
communication devices of either the caller or called party are
incapable of presenting multimedia content, in which case any
content selected for presentation to that party may be presented on
an associated computing device (if one has been identified).
[0127] Once the call controller learns the identities (or telephone
numbers) of either or both the caller and the called party, it may
block or allow the call based on a global block/allow list
maintained at the call controller. For example, if the caller is a
known telemarketer or spammer (or other undesirable caller), or
perhaps even a suspected telemarketer, and the called party has
opted to have calls from such sources blocked, the call controller
may block the presentation of content to the called party and may
even prevent the voice connection from being completed.
[0128] In operation 910, the call controller selects content to be
presented to the caller and/or called party, and retrieves it from
an internal database or from an external location. To select
content for presentation, the call server may consider personal
characteristics (e.g., age, sex, geographical location), behavior
(e.g., browsing history, calling history, buying pattern) and so
on, of the caller and/or the called party.
[0129] The call controller may also consider whether the caller or
called party is known to have a personal web page, a page on a
social networking or dating site, or some other electronic presence
that can be accessed and that can be shared with the other party.
Illustratively, subscribers may give permission to a call
controller to access certain electronic information and present it
to all or selected parties. Thus, friends and family members can
specify that their electronic content on certain sites can be
shared with certain people (or all parties) with which they
communicate.
[0130] Content may be presented to either party pre-ring (i.e.,
before the called party's communication device rings), in-call
(i.e., during a call), and/or post-call (i.e., after one or both
parties hang up). The call controller may identify and/or retrieve
content to be displayed in all phases at once, or may
identify/retrieve content separately for the different phases.
Information necessary to select appropriate content (e.g.,
identities of the caller and called party) may be received via the
data connection--such as in the form of the parties' telephone
numbers or network addresses (e.g., for VoIP calls)
[0131] Content to be presented to a party may change over time, or
be replaced, even during a call. For example, if one of the parties
updates a page of personal electronic content (e.g., on a social
network site), that page or the changes may be automatically shared
with the other party. Or, as a call with a commercial entity
proceeds, presented content may be updated to reflect an order that
is being placed for a good or service, to verify terms of a
transaction, etc.
[0132] In operation 912, pre-ring content (i.e., content to be
presented before the destination communication device rings) is
transmitted to the caller and/or the called party via data
channels.
[0133] In some embodiments of the invention, pre-ring content
presented to a caller or called party comprises information that
the call controller believes the party may be able to use or wish
to see during the call. For example, if one party is an
organization, the other party may be shown location information
regarding the organization (e.g., the nearest shop or outlet of the
organization), a profile or description of the organization,
details of a previous or pending transaction with the organization,
the status of an account with the organization, an offer from a
competitor of the organization, a purpose of the call, a
notification of the call, etc.
[0134] If the parties are friends or acquaintances, one party may
be shown content drawn from a social networking site or other
electronic presence of the other party (e.g., a photograph, a
video), content shared between the parties, status information of
the other party or a mutual friend/acquaintance, etc.
[0135] Thus, pre-ring content presented to a caller or called party
may be associated with the other party and/or a third party (e.g.,
a competitor of one of the parties to the call, a mutual friend or
relative of the caller and the called party). Further, the called
party may be offered the opportunity to postpone or re-schedule the
call for a later time.
[0136] In operation 914, the voice channel of the call is routed
normally (e.g., through the telephone network of the caller's
service provider), and a communication device of the called party
rings.
[0137] In operation 916, after the called party answers, in-call
content (i.e., content presented during the call) is transmitted to
each party's communication device (or associated computing device)
for display to the caller and/or the called party. In-call content
may be the same as, or different from, pre-ring content.
[0138] For example, if one party is a merchant, the other party may
be presented with information regarding a current transaction with
the merchant, possibly to verify what is being ordered, a delivery
address, a method of payment, or other detail. This data may be
updated dynamically as the call progresses. Or, if the caller and
called party are collaborating on a document or other electronic
product, some or all of that content may be displayed.
[0139] Yet further, one of the parties may select content stored on
his or her communication device, or navigate a browser of their
device to some content, and elect to share that with the other
party. The call controller or a call server would then ensure the
other party is able to access the content. Content may be shared in
this manner before, during, and/or after a call. Even without an
associated call, one party may be able to transmit data or content
to another party via the system described herein, for off-line
presentation to the other party.
[0140] One benefit of presenting in-call content is that a caller
and a called party can engage in simultaneous data and voice
connections. Although the voice connection will couple the caller
and called party (and any other parties conferenced in), the data
connection may couple each party to a call server or a call
controller. They may therefore discuss and share electronic content
in real-time.
[0141] If the call is not answered in operation 916, the caller may
be able to leave a voice or multimedia message for the called
party.
[0142] In operation 918, one or both of the parties hang-up,
thereby terminating the voice channel of the call.
[0143] In operation 920, additional (post-call) content may be
presented to either or both of the caller and the called party.
Post-call content may verify a decision made during the call,
provide a party with follow-on tasks (e.g., make a call to another
party, view a web page associated with the other party), etc. Or,
post-call content may be identical or similar to pre-call and/or
in-call content.
[0144] In some embodiments of the invention, a person (or
organization) may construct or design a custom set of content to be
presented to another party before, during, or after a call to
(and/or from) that party. The content may be static in that it
comprises content that is selected once and does not change
unless/until the person changes the content. Or, the custom content
may comprise links to content or content sources that may change
over time--such as the person's MySpace or Facebook page (or a
particular frame of such a page). As the content changes, the
updated content will be captured and presented to other parties as
allowed by the originating party (e.g., limited to friends and
family, displayable to all parties).
[0145] For example, a person may assemble a personalized hello
screen or page (for playing at the beginning of a call) or a
personalized goodbye screen (to be played after a call). Other
personalized screens may be configured to be presented to another
party in the case the person cannot take a call--such as one screen
if the person is busy, and a different screen if the person is away
from her phone--or for other reasons.
[0146] Such personalized content may include controls for taking
some action. For example, if a called party is busy and cannot take
the caller's call immediately, personalized content may be
presented to the caller with a control that helps the caller
navigate to the called party's social network web page, to a
calendar for making an appointment or seeing when the called party
will be available for a call, etc.
[0147] A call server or other entity may provide a web server or
other online service to assist a subscriber in the creation and
maintenance of a personalized page or screen of content to be
presented to another party when the subscriber calls (or receives a
call from) the other party. This service may be independently
operated or may be hosted by another online presence, such as
MySpace, Facebook, Slide, etc.
[0148] Other parties, particularly organizations, may develop
custom pages or screens independently. Custom screens may be cached
on a call server, stored with a call controller, or maintained
elsewhere (e.g., in the organization's data center) in anticipation
of being retrieved for presentation. In some embodiments, a party's
custom screen may be indexed by telephone number, by an identity of
the party (e.g., name), and/or in another manner.
[0149] In addition to, or instead of, identifying or constructing
default custom content to be presented to another party in
association with a telephone call with that party, a person (or
organization) may construct or select a simple pre-ring message to
be presented to a targeted party. As described above, for example,
a caller may issue a pre-ring message identifying a purpose for the
pending call.
[0150] Before, during, after, and between calls, a party may push
images, video, and/or other content to another party (e.g., an
electronic contact or business card, an electronic birthday card, a
shipping address or billing address, payment data, a receipt).
Further, parties to a call may simultaneously access content
located on one of the parties' devices or elsewhere.
[0151] FIG. 10 is a flow chart demonstrating a method of presenting
relevant content to a caller in association with a call to an
organization (e.g., a merchant), according to some embodiments of
the invention.
[0152] In operation 1002, an operator of a call server accepts bids
for the opportunity to present content to persons calling the
organization. In particular, third parties (and/or the organization
itself) may bid an amount they are willing to pay the call server
in return for the call server presenting the third party's selected
content to some number of callers that initiate calls to the
organization.
[0153] This operation may be part of a larger effort in which the
call server auctions the ability to present content to persons that
will call various organizations. In different embodiments of the
invention, content selected by the winner of an auction may be
cached on a call server, may remain with the winner or may be
cached elsewhere (e.g., an ad server). The call server may auction
different call types separately--such as calls from different
geographical areas, calls from callers matching different
demographics, calls to a specific subset of the destination
organization's telephone numbers, etc.
[0154] Because content may be presented to a caller pre-ring
(before the destination party's telephone rings), in-call (during
the call), and/or post-call (after the call), different parties (or
the same party) may earn the right to have their content presented
at different times. Thus, one party may supply pre-ring content
while other parties present in-call and post-call content. Or, one
party may win the right to supply multiple stages of content in
association with one call.
[0155] Further, multiple parties may obtain the opportunity to
present content at the same time. For example, one type of content
(e.g., pre-ring content) may be configured to comprise two (or
more) components or frames, and each component may be populated by
a different source.
[0156] In some embodiments of the invention, a party (e.g., the
organization) may obtain the ability to directly control the
presentation of content on the caller's communication device at
some phase, especially during and/or after the call. Thus, while a
different party, such as a competitor of the organization, may
serve pre-ring content for a caller, once the call is connected to
the organization, the organization may be able to dynamically
select and present content to the caller.
[0157] In optional operation 1004, the call server receives a
destination telephone number lookup request from a caller's
communication device (e.g., telephone). More specifically, in the
embodiments of the invention reflected in FIG. 10, a caller may
initiate a keyword-based lookup of a destination telephone number.
The keyword received in operation 1004 may or may not match the
organization identified in operation 1002.
[0158] To perform a search, the caller may enter a portion of the
name of a desired destination by spelling it out with his
telephone's keypad or by speaking it into the telephone's
microphone. That input may be used (and converted to text as
necessary) to lookup matching parties locally (i.e., on the
caller's communication device) and/or globally (i.e., on a call
server or other location external to the caller's communication
device).
[0159] It may be noted that a keyword-based search may involve
searching for specific people and/or organizations having names
that match a caller's keyword. Or, a keyword may identify a
category of a good or service the caller desires (e.g., pizza,
taxi, hotel, Chinese food), in which case the results will include
parties that can provide the desired good or service.
[0160] Thus, if the caller enters several letters of a merchant's
name or category of good (e.g., "hert", "marrio", "pizz"), searches
may be initiated for people and/or organizations that match the
keyword or input pattern. A search may return any number of results
(zero or more), depending on how many characters are input, whether
the caller is spelling the name correctly, how many telephone
numbers are associated with parties that match the keyword,
etc.
[0161] In some embodiments, the call server may auction or sell
priority positions in keyword search results. Specifically, a party
matching a keyword pattern (or even a party that doesn't match the
pattern) may pay the call server to receive premium treatment in a
list of search results served to the caller (e.g., by being placed
at the top of the list, by receiving an entry having larger size,
different color or other highlighting).
[0162] If multiple telephone numbers are found for a given party
that matches the keyword(s), they may be ordered in some logical
fashion. Thus, a local or toll-free number for the party may be
prioritized higher than a long-distance number, a matching party
that the caller has called before may be prioritized above one that
he or she has not called before, etc.
[0163] Of note, a search or directory lookup initiated by a caller
in operation 1004 may simultaneously or sequentially search the
caller's local communication device and a call server (and/or a
third-party directory), with only a single command or control
activation. Thus, the caller can initiate a search of multiple data
repositories, local and remote, with a single command.
[0164] Besides searching a person's contact list on their local
communication device and/or a central call server (or call
controller), a directory lookup or contact search may also search
contact information stored in the person's electronic online
presence. Thus, contact information within the person's page on
MySpace, Facebook or other social site may be searched. Yet
further, a search may be conducted within a third-party data
repository, such as online yellow pages, a university's or other
organization's telephone directory, etc.
[0165] In optional operation 1006, the call server serves a list of
search results. The results may be ordered alphabetically, by
popularity or some other rating, by location (e.g., distance from
the caller), by payments received from parties in the list, etc. A
list of results provided by the call server may be merged with a
list of results generated by the caller's communication device.
[0166] In operation 1008, the call server is notified of a call
being placed to the organization. Illustratively, the caller may
have initiated the call by selecting or activating an entry within
the list of search results received in operation 1006, or may
initiate the present call at some later time. Notification of the
call may be received via a data channel hosted by the caller's
communication device.
[0167] Alternatively, the notification may be received via a data
connection with the caller's telephone service provider. This may
occur if the caller's communication device does not have a data
channel or is not capable of presenting rich content.
[0168] Routing of the caller's voice connection may be
automatically delayed by the caller's communication device or by
the caller's telephone service provider. For example, the
destination organization may be recognized as a commercial entity,
and call processing logic on the caller's device (or at the
caller's service provider) may be configured to delay calls to
commercial organizations so that appropriate content can be
selected and presented to the caller.
[0169] In operation 1010, the call server identifies a source of
pre-ring content to be presented to the caller, based on the
destination telephone number (i.e., the organization), the caller's
identity, the caller's location, and/or other factors. Based on the
auction of operation 1002 for example, the call server may be
configured to serve content provided by the winner of the auction
to the next X number of callers that place calls to the
organization, or to callers matching some specific criteria.
[0170] In operation 1012, the call server queries the content
provider for the pre-ring content. Alternatively, such content may
be pre-identified, in which case the call server may automatically
retrieve it.
[0171] If the pre-ring content must be retrieved from the content
provider, the call server may provide information regarding the
caller (e.g., telephone number, name, demographic data). Such
information may be used by the content provider to select
particular content; for example, the content provider may wish to
present different content to callers that it "knows" than to
unknown callers. Therefore, if the caller has a relationship with
the content provider, the content provider may produce content
comprising a different offer, advertisement, or other message.
[0172] In operation 1014, the content provider submits pre-ring
content to the call server that it would like to have presented to
the caller or, alternatively, identifies a location (e.g., URL,
network address) from which the content may be retrieved.
[0173] In operation 1016, the call server transmits the selected
pre-ring content to the caller's communication device, and call
processing logic (or other logic) operating on the device presents
the content to the caller. Alternatively, browser logic (or other
logic) operating on the communication device may be instructed to
retrieve the content from one or more specified locations. For
example, the pre-ring content may comprise one or more components
stored in one or more locations, and the browser logic may be
responsible for retrieving the components, assembling them, and
presenting the content.
[0174] As described previously, if the caller's communication
device is incapable of receiving or displaying the content, the
content may be presented on a computing device associated with the
caller.
[0175] In operation 1018, the caller's communication device (or
computing device) or the call server determines if the caller takes
some action with regard to the pre-ring content that affects
routing or processing of the voice connection.
[0176] For example, the pre-ring content may include an offer from
a competitor of the organization, or an offer to route the call
more cheaply, and the caller may activate a control associated with
such an offer. The action may thus simply affect how the voice
connection is routed, or may change the destination of the call. If
the call is modified by the caller's action regarding the pre-ring
content, the method continues at operation 1020; otherwise, the
method advances to operation 1022.
[0177] In operation 1020, the call server or logic operating on the
caller's communication (or computing) device implements the desired
action. Thus, a call processor on the communication device may drop
or cancel the current voice connection (which may not have been
dialed yet) and select a new telephone number to call.
[0178] Note that if the call destination has changed (e.g., to a
different organization), a different party may become responsible
for providing content to be presented in-call and/or post-call.
[0179] In operation 1022, the voice portion of the call proceeds,
either to the original destination or a new one specified by the
caller in operation 1018. In addition, the call server queries or
prompts the appropriate content provider for in-call content.
[0180] In an embodiment of the invention in which control of
in-call content presentation completely passes to a call controller
(i.e., content provider) other than the call server, such as the
destination organization, such control may be passed in operation
1022. Specifically, once the call is confirmed to be destined for a
particular organization, the organization may become the call
controller for in-call content and possibly post-call content as
well.
[0181] In operation 1024, in-call content is presented to the
caller on his communication (or computing) device. As already
described, the content may be served from the initial call server
(after being identified by a responsible content provider), by the
selected content provider, or may be served directly from an
assigned call controller.
[0182] Even if a call controller separate from the call center has
acquired control of in-call content presentation, such content may
still transit a data channel established between the caller and the
call server. Or, alternatively, the data channel may be re-routed
to the call controller.
[0183] The in-call content may directly relate to the call,
especially if the content is produced by the called organization.
For example, if the in-call content is controlled by a human agent
of the called organization, she may supplement information
exchanged over the voice connection with audio and/or video data
presented via the caller's telephone or computing device.
[0184] In operation 1026, post-call content is presented to the
caller after he and/or the called organization hang-up. Such
content may be produced by the called organization and/or by some
other party that earned the right to have its content
presented.
[0185] Post-call content may directly relate to the call (e.g., a
receipt, an invoice, a transaction summary), may be unrelated, or
may have some logical association--such as an offer for a good or
service that complements (or competes with) something the
organization sells or provides.
[0186] In some embodiments of the invention, pre-ring, in-call,
and/or post-call content presented to a caller or a called party
may include one or more coupons. In these embodiments, a coupon may
comprise a graphical image of a coupon, a discount code, or any
other textual or graphical display that grants the recipient a
discount in purchase price or a special deal (e.g., one item free
with the purchase of another item). An entire (or partial) image of
the coupon may be presented, or just a link to the coupon may be
presented (e.g., "Press here for a 25% off coupon!").
[0187] A coupon may be redeemed during a telephone call associated
with the presentation of the content or at some later time. Call
processor logic, coupon logic, or other logic operating on the
recipient's communication (or computing) device may be configured
to save coupons, at least until their dates of expiration. Coupons
may also, or instead, be saved for a user at a call server, such as
in a "coupon account" associated with the user, either by name or
by a telephone number associated with the user.
[0188] A coupon database for storing coupons for award or
presentation to users may be indexed or sorted by telephone number
and/or name of the corresponding merchant, and may reside at a call
server or a third party. Then, when a caller initiates a call to
one of the telephone numbers or merchants, one or more coupons
matching the target called party may be retrieved and
presented.
[0189] Further, a coupon for a given merchant may be associated
with a telephone number of a competitor or a merchant of an
associated good or service, in which case a caller may not receive
coupons only for the merchant that it intended to call. A set of
coupons identified for presentation to a caller may be filtered by
relevance, perhaps in consideration of the merchants' proximity to
the caller, the time of day (e.g., in case some merchants are
closed), etc.
[0190] A coupon may be presented pre-ring based on the telephone
number being dialed or an identity of the target party. Or, in
response to a directory lookup (e.g., based on a keyword) performed
on a call server, a coupon may be served for an organization
included in the list of results (or for a competitor of such an
organization). Thus, if a caller enters a lookup for the keyword
"pizza," along with a list of pizza vendors (possibly identifying
their proximity to the caller), one or more coupons may be
presented.
[0191] Along with presentation of a pre-ring coupon, a control for
routing or re-routing the call to the offeror may be provided. If
activated, the coupon (or notification of the coupon) may be passed
to the offeror along with the call.
[0192] In-call presentation of a coupon may be triggered not only
by a call server or call controller selecting such content to be
presented to the caller, but may also be triggered based on coupons
stored for the user--either locally on her communication device or
centrally in the "coupon account" mentioned above. Thus, after a
voice connection is completed to an agent for a particular
merchant, the caller may be reminded of (e.g., shown) a coupon she
possesses for the merchant. She can then pass to the agent a code
within the coupon or perhaps activate a control that transmits the
coupon to the agent.
[0193] As for post-call content, after a caller completes a call
with a merchant, post-call content may include a coupon for use the
next time the caller calls or visits the merchant. A post-call
coupon may be automatically or manually saved.
[0194] A coupon presented to a caller (or called party) in
association with a telephone call may include a limitation on how
or when it may be redeemed. For example, a coupon for a lunch meal
may only be good until 6:00 pm the same day. Another coupon may be
valid until sometime further in the future. Similarly, a coupon may
be limited to a specific area. For example, a particular coupon may
only be good at a specific store or at a merchant's locations in a
particular area code, city or state.
[0195] Yet further, a coupon may be limited to certain recipients.
For example, a particular coupon may only be redeemable by members
of a specific group (e.g., frequent fliers of a given airline,
account holders at a given business), people meeting specified age
or other demographic requirements, subscribers of a particular
telephone carrier, etc.
[0196] To prove his qualification to use a certain coupon, a caller
may be required to provide an account number or to manipulate his
telephone to transmit a copy of a contact card evidencing his
qualification. Alternatively, the caller's telephone number (e.g.,
via callerID) could be used to verify the caller's identity.
[0197] If a person's communication device is unable to display an
electronic coupon, it may be displayed on an associated computing
device.
[0198] As described above, a caller may initiate a search of
contacts or one or more telephone directories from his
communication device. In some embodiments, the caller merely needs
to begin spelling a name of the desired destination. Each character
that is entered is appended to any preceding characters and
submitted to any local directories (e.g., a contact list on the
communication device), as well as other repositories on a call
server, an online telephone directory, an organizational contact
list, etc.
[0199] Thus, as each character is entered, any number of contacts
may be identified and used to populate a list presented to the user
on the communication device. The list may shrink as the search
becomes more specific and the number of matching contacts
decreases, and some or all entries may be accompanied by controls
the user can actuate to initiate a call to the corresponding
destination.
[0200] As more and more callers generate searches and select their
desired destinations, a call server (or a third party) can
accumulate statistics and trends to identify specific destination
parties that are most likely to be matches for a given sequence of
search characters. This data may be used to refine the manner or
sequence in which matching destination parties are presented.
[0201] In some embodiments of the invention, off-device contact
lists or repositories may be shared among multiple users. A shared
list may be updated by any or all of the participating users, who
may be relatives, friends, members of an organization, classmates,
etc. Thus, an update to a shared list submitted by one participant
is automatically shared among all participants.
[0202] Entries may, however, be screened or filtered according to a
particular participant's desires. For example, a given participant
may not wish to share a particular contact with other participants,
or may not wish to see specific contacts that were added by another
participant (e.g., contacts that the given participant does not
like).
[0203] A shared contact list may be stored at a call server or
other central site and may be automatically searched when a list
participant initiates a search from her device. In addition, some
or all contacts from a shared list may be automatically copied to a
participant's local device or a computing device (e.g., for
synchronization with an address list stored on the device).
[0204] FIG. 11 is a block diagram of hardware apparatus for
facilitating presentation of multimedia content in association with
a telephone call, according to some embodiments of the
invention.
[0205] User interface mechanism 1110 of call server apparatus 1100
is adapted to facilitate computing interaction between the call
server apparatus and subscribers (e.g., callers, called parties),
and possibly third parties (e.g., advertisers, content providers,
call controllers).
[0206] Illustratively, a subscriber may manipulate the user
interface mechanism to configure his or her profile, to register a
computing device on which content may be presented instead of a
particular communication device (which may be identified by
telephone number) that cannot present rich content, and so on. An
advertiser or content provider may manipulate the user interface
mechanism to identify (or upload) content to be presented to a
subscriber, to bid on the right to present content, etc.
[0207] Subscriber communication mechanism 1112 is adapted to host
data connections between the call server apparatus and
communication devices (and/or computing devices) of callers and/or
called parties, in association with a current, pending, or past
voice connection between the parties. Thus, mechanism 1112 may be
the component that learns of the initiation of a new telephone call
and that receives the caller's and called party's telephone
numbers.
[0208] Content selection mechanism 1114 is adapted to select a
source of content (or to select specific content) to be presented
to a caller or called party pre-ring, in-call, and/or post-call.
Mechanism 1114 may select content or a content source based on the
parties to the call, such as a content provider that has paid a fee
in order to have its content presented. Or, if non-commercial
content is to be presented (e.g., in association with a call
between friends), the identified content or content source may
relate to an online presence of either or both parties.
[0209] Content presentation mechanism 1116 is adapted to transmit
content to a caller and/or a called party in some embodiments of
the invention. In embodiments in which the content is transmitted
from a different entity (e.g., a content provider, a call
controller operated by a commercial organization), content
presentation mechanism 1116 and/or content selection mechanism 1114
may cooperate with the entity to arrange for the transmission of
the content. Or, control of the presentation of content may be
handed off to an assigned call controller in place of content
presentation mechanism 1116.
[0210] Call filtering mechanism 1118 is adapted to filter calls
based on any desired criteria. For example, calls (or data
transmissions) that are inbound to a subscriber may be filtered
based on the originating number, to block calls from telemarketers,
spammers, and/or other undesirable parties.
[0211] In other embodiments of the inventions, functions performed
by the various mechanisms may be distributed among a different
number of mechanisms.
[0212] FIG. 12 is a block diagram of a call server for facilitating
presentation of multimedia content in association with a telephone
call, according to some embodiments of the invention.
[0213] Call server 1200 of FIG. 12 comprises processor 1202, memory
1204, and storage 1206, which may comprise one or more optical
and/or magnetic storage components. Call server 1200 may be coupled
(permanently or transiently) to keyboard 1212, pointing device
1214, and display 1216.
[0214] Storage 1206 of the call server stores logic that may be
loaded into memory 1204 for execution by processor 1202. Such logic
includes business logic 1222, data connection logic 1224, content
selection logic 1226, and call screening logic 1228. Additional
logic may be stored and executed in other embodiments of the
invention.
[0215] Business logic 1222 comprises processor-executable
instructions for auctioning or selling an opportunity to have
content presented to communication devices (and/or computing
devices) in association with a telephone call, or for otherwise
generating revenue in return for presenting content to callers
and/or called parties.
[0216] Data connection logic 1224 comprises processor-executable
instructions for establishing, maintaining, and terminating data
sessions with communication and/or computing devices, to receive
notification of call events, serve content, retrieve content from a
party's communication device, etc.
[0217] Content selection logic 1226 comprises processor-executable
instructions for selecting a source of content, or specific
content, to be presented to a party to a telephone call. If
presentation of content is to be controlled by an entity other than
call server 1200, content selection logic 1226 (or another
component of the call server) may select a call controller to
manage the content presentation.
[0218] Call screening logic 1228 comprises processor-executable
instructions for filtering, screening, and blocking calls placed to
(or from) a subscriber. Calls may be blocked (or allowed) based on
an identity of the other party or a nature of the call (e.g., spam,
telemarketing, adult content).
[0219] Data structures and code described in this detailed
description are typically stored on a computer-readable storage
medium, which may be any device or medium that can store code
and/or data for use by a computer system. The computer-readable
storage medium includes, but is not limited to, volatile memory,
non-volatile memory, magnetic and optical storage devices such as
disk drives, magnetic tape, CDs (compact discs), DVDs (digital
versatile discs or digital video discs), or other media capable of
storing computer-readable media now known or later developed.
[0220] Methods and processes described in the detailed description
can be embodied as code and/or data, which can be stored in a
computer-readable storage medium as described above. When a
computer system reads and executes the code and/or data stored on
the computer-readable storage medium, the computer system performs
the methods and processes embodied as data structures and code and
stored within the computer-readable storage medium.
[0221] Furthermore, methods and processes described herein can be
included in hardware modules or apparatus. These modules or
apparatus may include, but are not limited to, an
application-specific integrated circuit (ASIC) chip, a
field-programmable gate array (FPGA), a dedicated or shared
processor that executes a particular software module or a piece of
code at a particular time, and/or other programmable-logic devices
now known or later developed. When the hardware modules or
apparatus are activated, they perform the methods and processes
included within them.
[0222] The foregoing descriptions of embodiments of the invention
have been presented for purposes of illustration and description
only. They are not intended to be exhaustive or to limit the
invention to the forms disclosed. Accordingly, many modifications
and variations will be apparent to practitioners skilled in the
art. The scope of the invention is defined by the appended claims,
not the preceding disclosure.
* * * * *