Sie sind auf Seite 1von 44

Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 1 of 44 PageID 26

 
 
 
EXHIBIT  A  
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11
11111111111111111111111111M!111)! Page 2 of 44 PageID 27

(12)United States Patent 9 (10) Patent No.: U S 7,525,955 B2


Velez-Rivera et al. (45) Date of Patent: A p r . 28, 2009

(54) I N T E R N E T PRO TO CO L (IP) PHO NE W I TH


1111111)1111111111111111111111
(52) U . S . Cl. 3 7 0 / 3 5 2 ; 709/219; 379/114.13
S E A RCH AND A DV E RTI S I NG CA P A B I L I TY (58) F i e l d of Classification Search 3 7 0 / 3 5 2 ;
709/219; 379/114.13
(75) Inv entors : Ca rlo s J. Velez-Rivera, Mayaguez, PR See application file for complete search history.
(US); I nak i Olivares-Arocho,
(56) References Cited
Mayaguez, PR (US); Jose L.
Cruz -Riv era, Rincon, PR (US) U.S. PATENT DOCUMENTS

(73) As s ignee: Co mmu c a , Inc., Erie, CO (US) 2002/0133396 A l 9/2002 Ba rn h a rt


2003/0004937 A l 1/2003 Sa h n e n ka ita
(*) Notice: S u b j e c t to any disclaimer, the term of this 2003/0136835 A l 7/2003 C h u n g et al
patent is extended or adjusted under 35
Primary Examiner Q u y n h H Nguyen
U.S.C. 154(b) by 511 days.
(74) Attorney, Agent, or Firm R u b e n C. DeLeon
(21) A p p l . No.: 11/082,361
(57) A B S T R A C T
(22) Fi l e d : M a r . 17, 2005
A software platform in an Internet Protocol (IP) phone having
the abilit y to be used wit h different communication infra-
(65) P r i o r Public ation Data
structures such as broadband, wireless communication and
US 2005/0207432 A l S e p . 22, 2005 Plain Old Telephone System (POTS) service. Further, the
software platform in the IP phone has the ability to be used
Related U.S. Applic ation Data with different applications operating on the IP phone. Further,
(60) P rov is ional application No. 60 554,548, filed on Mar. the IP phone has the ability to perform additional functional-
19, 2004, prov is ional applic ation No. 60/554,544, ity than traditional Public Switc hed Telephone Net work
filed on Mar. 19, 2004. (PSTN) phones, such as searches and advertising, given its
ability to converge voice and data within a single terminal.
(51) I n t . Cl.
H041, 12/66 (2006.01) 24 Claims , 27 Drawing Sheets

100

103 1 1 3

Analog
Phone / 115
Mobile
Phone
Converged Appilca tion and Telephony
Messaging and T A O S S e r v i c e s
Directories Server S e r ve r S e r v e r 1 113
1=/ 1 1 = 1 1
107 \ 109 Analog
IP-PBX A
Phone
M
.
'
1
PSTN
1 Gateway
0
\

OL Database
Repositories
112

Multilayer Fixed
TelephonySystem
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 3 of 44 PageID 28

U.S. P a t e n t A p r . 28, 2009 S h e e t 1 of 27 U S 7,525,955 B2


Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 4 of 44 PageID 29

U.S. P a t e n t A p r . 28, 2009 S h e e t 2 of 27 U S 7,525,955 B2

•••••— \ r ) 1/43 (-6


, c — ,
( . > - , ru
0 co
0co - Z15
Ca• CD c.
2 0 (t)
- 0 CI) ;"

E
Bc_. ' C111

0 0 0 0-

cv;

81111111ral1111111111111111111111111
OINEMINIMINE111•1111
1111111111111111111111111111•1111111
11111111111MAWINWHIIMOIN
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 5 of 44 PageID 30

U.S. P a t e n t A p r . 28, 2009 S h e e t 3 of 27 U S 7,525,955 B2

At)
4Z)

C:,
• C > McApplications ••••

• <11
iZ

g r.
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 6 of 44 PageID 31

U.S. P a t e n t A p r . 28, 2009 S h e e t 4 of 27 U S 7,525,955 B2


Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 7 of 44 PageID 32

U.S. P a t e n t A p r . 28, 2009 S h e e t 5 of 27 U S 7,525,955 B2

5
-
11 E
1T
rimmEmosnommommulliir
C'

1
7

0
Q
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 8 of 44 PageID 33

U.S. P a t e n t A p r . 28, 2009 S h e e t 6 of 27 U S 7,525,955 B2


Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 9 of 44 PageID 34

U.S. P a t e n t A p r . 28, 2009 S h e e t 7 of 27 U S 7,525,955 B2

In
P-

•ig

C —110 --110

O
— B
O 2
P
-
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 10 of 44 PageID 35

U.S. P a t e n t A p r . 28, 2009 S h e e t 8 of 27 U S 7,525,955 B2

're
4=1
CD
,
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 11 of 44 PageID 36

U.S. P a t e n t A p r . 28, 2009 S h e e t 9 of 27 U S 7,525,955 B2


Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 12 of 44 PageID 37

U.S. P a t e n t A p r . 28, 2009 S h e e t 10 of 27 U S 7,525,955 B2

t"s1
0

0
ii

TADS
S
erverS
id
E
e
lm
n
e
ts
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 13 of 44 PageID 38

U.S. P a t e n t A p r . 28, 2009 S h e e t 11 of 27 U S 7,525,955 B2

------------------------------------------

Vm
,

m-mc.
8,4
mm•
)./- I I
•••••
1
.t-
- - - -------
CI
.1 0
0 t -- S .*

(0
Lm m 0r - 1
= 1 -
0 1 t
L.:
P ,„ „ , t •m-m
my-

0)
mr-

nm.

...-' I
o o M t
o
1- i 1 -
1
T- /
. /
-
m
i
-
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 14 of 44 PageID 39

U.S. P a t e n t A p r . 28, 2009 S h e e t 12 of 27 U S 7,525,955 B2

ContentDistributionP
rm
tfo
la ConvergedC
o
mmu
n
to
a
ic
S
s
P
ic
rv
e
o
d
In
tu
s
fra
cre

( NI

C
4
1
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 15 of 44 PageID 40

U.S. P a t e n t A p r . 28, 2009 S h e e t 13 of 27 U S 7,525,955 B2

(N
0

TA
DSSe
rv
e
rS
id
e
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 16 of 44 PageID 41

U.S. P a t e n t A p r . 28, 2009 S h e e t 14 of 27 U S 7,525,955 B2

C•ki
C:) wa s mo me mo wa lo w. b •

TADSCl
ient
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 17 of 44 PageID 42

U.S. P a t e n t A p r . 28, 2009 S h e e t 15 of 27 U S 7,525,955 B2

P
0
.- I
C
C

rc;
tw)
t n,
0
g
t
O

m
O
'

1 1f '4?
i n

re , > 4

0_c
C
S.. 0 (
I
V 0.to
)
„,C ' 0e
r

a.

m oom m ar 4• 001100• • • • • • • •
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 18 of 44 PageID 43

U.S. P a t e n t A p r . 28, 2009 S h e e t 16 of 27 U S 7,525,955 B2

Co E
01 ,
V
-C ), i e t ;

-
c
;2 CO

;
-

CO
CO
tla
0 d.
CL —

;73
MR S
nb 1
0 —
tl)1 -
CD E
0
(1) 0
- CL 43) 8
E . 5,
0 E t 04 <3Z —I 0
2
x C 2
x—
0 c
0
1
5
-
tC3
0
Co
8
Ly-.) Lm(-
)
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 19 of 44 PageID 44

U.S. P a t e n t A p r . 28, 2009 S h e e t 17 of 27 U S 7,525,955 B2

A 111
t•-• I
C
. -
O
.
0
c t

(
>•••
-
A
.
1
3
2
)
m
co
r
A
-
(N m I
2 t
1•••••
Co '

co
ILI
th

OSServices
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 20 of 44 PageID 45

U . S . P a t e n t A p r . 2 8 , 2 0 0 9 S h e e t 18 of 27 U S 7,525,955 B2

Csi
CO
c
7
)
1



0
Cl) T
g
r c 0 w c...i

,„c0)2
-o
s-•,.....
C = 0 w
0 .
2 E9-6
Co 1•4:;
8 113
=
0_ 0) 0x0 92
E 0) 2
3
co
co — m

-.I LU
m • ro f
coc
.
4 a
4 c
2
rf)
-
0 co
C
2 <
(_
e
2
o \nov,.,•,
•,_ CD
I-
-mile c.)tl) <D
CD
I .G) t/ 5 CO
)
.c/
- .CEOth•
— ta-cL(I) E, m-
0 c
100 tr0c Q 0— ,
....-... -- C
32 ----
-to C:)
v l)
4 0 8
x,-
8 .8 2
-a -C CO t D
E a'L .
o
.-.1
., Q .
< 3 CO . c
-o 0) (1) a. 0
E
.-r. o. c 2l 2
78
— D U.I CO
8 CO 0
c o. -----'-------_--
ri) 0 3 •hC ' - ' C O
0 P 12 c 41) ., , „ t o
0 0 GO I .
, 1 15. 1,
' a . ok = - 1 - c• CL 2
< CO —
t3 3 3 ) CD
*
c --1,
C a TM
0 a. e C '•-....„....
r-- / 0 - .'
< c) c C
c 0 to m D ,.- clri
0m t
2
co * "2 1 ei
>.0c
< l)
E ( I)
C:)
4
in 111 -0 CO
0 ."O! c„„
o0
co 20. I7 2
< /3
2

00

A
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 21 of 44 PageID 46

U.S. P a t e n t A p r . 28, 2009 S h e e t 19 of 27 U S 7,525,955 B2

cr)

s-
0
cn .
)

TADSSe
a
rc
h
n
a
d
Adv
e
rtis
ngS
s
ic
rv
e
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 22 of 44 PageID 47

U.S. P a t e n t A p r . 28, 2009 S h e e t 20 of 27 U S 7,525,955 B2

cʻs

§ —110•

Third-PartyApplicationa
D
d
n
viclo
e rs
p

••••

CD
a
c%4
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 23 of 44 PageID 48

U.S. P a t e n t A p r . 28, 2009 S h e e t 21 of 27 U S 7,525,955 B2

LO
c:=1
N— V••••
CNI (NI

--110 —00
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 24 of 44 PageID 49

U.S. P a t e n t A p r . 28, 2009 S h e e t 22 of 27 U S 7,525,955 B2

47; 0 0

3

M E M +
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 25 of 44 PageID 50

U.S. P a t e n t A p r . 28, 2009 S h e e t 23 of 27 U S 7,525,955 B2

P2

18N 101• 4101


c
c
F
,
s
m
o
s
o
m
m
o
o
n
t
o
o
m
m
a
i
l
l
.
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 26 of 44 PageID 51

U.S. P a t e n t A p r . 28, 2009 S h e e t 24 of 27 U S 7,525,955 B2

—1111.•
CN
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 27 of 44 PageID 52

U.S. P a t e n t A p r . 28, 2009 S h e e t 25 of 27 U S 7,525,955 B2

1
0
.
1r)
8
0
..•••••••
2
5 II *
,
; 7
8

-
§ 1
0
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 28 of 44 PageID 53

U.S. P a t e n t A p r . 28, 2009 S h e e t 26 of 27 U S 7,525,955 B2

C
0
71

CNI

TCP/IPS
ta
c

CD
CO - -
tN
1
1 1 1
1
'
-

cr)
(NI

0
co 8
•E
•C'
a) E
ET3 4-00
c 8
-o) TCP/IPS
ta
ck
0 2c 0_

/ /
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 29 of 44 PageID 54

U.S. P a t e n t A p r . 28, 2009 S h e e t 27 of 27 U S 7,525,955 B2

r—
CN

I\
r -
csr V <13•
co m
0
CD • t
C maa A
I/ 8
_c - =_ No

'6
/
N N
1 V
A N

Cst

(N
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 30 of 44 PageID 55

US 7,525,955 B2
1 2
I NTE RNE T PRO TO CO L (IP) PHO NE W I TH platforms for each application operating on the IP phone, the
S E ARCH AND ADV E RTI S I NG CAP ABI LI TY cost in operating different applications on an IP phone may be
prohibitive.
PRIORITY BENEFIT AND CROSS REFERENCE Furthermore, current IP phones are not adaptable to be
TO RELATED APPLICATIONS 5 used wit h different communication infrastructures, such as
broadband, wireless communication and POTS service. For
This applic ation is related to the f ollowing c ommonly example, current IP phones may not be able to connect to a
owned copending U.S. Patent Applications: broadband modem to access a software application while also
Provisional Application Ser. No. 60/554,548, "Method For being connected to a POTS line to access voice. By not being
10 able to access multiple different communication infrastmc-
Rapid Development Of Differentiated Converged Communi-
cations Terminals Based On A Flexible Software Platform", tures concurrently, the user of an IP phone is limited on the
filed Mar. 19, 2004, and claims the benefit of its earlier filing uses of the IP phone.
date under 35 U.S.C. 119(e). Further, current users of an IP phone do not have the ability
to perform searches such as in a contextual advertisement
Provisional Applic ation Ser. No. 60/554,544, "Flex ible 15 space on the IP phone. 27% of all on-line searches are aimed
Software Platform For Differentiated Converged Communi-
at finding local services or businesses, while 2 out of 3 small
cations Terminals", filed Mar. 19, 2004. and claims the benefit
and medium size businesses still rely heavily on the phone for
of its earlier filing date under 35 U.S.C. 119(e).
sales leads. There appears to be a strong demand for allowing
TE CHNI CA L FIELD the user of an IP phone to locate a business with ease such as
20 in a contextual advertisement space while at the same time
allowing the businesses to target advertisements to consum-
The present invention relates to the fi eld o f an intemet ers wit h broadband connections to the home f or data and
phone system, and more particularly to an Internet Protocol either VoIP or POTS service for voice.
("IP") phone wit h search and advertising c apability that Therefore, there is a need in the art for an IP phone con-
includes a platform adaptable to be used with different appli- 25 figured with a VoIP platform that can support different appli-
cations running on the IP phone as well as adaptable to be cations operating on the IP phone. Further, there is a need in
used with different communication infrastructures.
the art for an IP phone that is adaptable to be used concur-
rently with various communication infrastructures. Further,
BACKGROUND I NFO RMATI O N
there is a need in the art for an IP phone with the capability of
30 implementing features beyond those found in traditional
Recently, mult imedia c ommunic ation i n whic h voice, PSTN phones, such as the ability to perform searches and
video and data information are transmitted and received using advertising.
the Internet Protocol (IP) is carried over an IP network. A
phone, referred to herein as an "IP phone" or more generally S UMMA RY
as a "converged communications terminal" may be connected 35
directly to the IP network over whic h a multimedia phone The problems outlined above may at least in part be solved
exchange system can be constructed. An IP phone is a tele- in some embodiments by a software platform in an IP phone
phone whic h can operate and execute voice communication having the ability to be used with different communication
in the same way as conventional telephones either via a Plain infrastructures such as broadband, wireless communication,
Old Telephone System (POTS) or an IP network. Further, the 40 POTS service. Further, the software platform in the IP phone
IP phone can use the IP network for data applications. For has the ability to be used with different applications operating
example, IP phones may be connected to an IP network, such on the IP phone. Further, the IP phone has the ability to
as a loc al area network, in an office environment thereby perform additional func tionality t han traditional P S TN
using the network as a private telephone network circuit and phones, such as searches and advertising, given its ability to
as a data exchange network. In another example, IP phones 45 converge voice and data within a single terminal as described
may use a wide area network, e.g., Internet, to communicate herein.
wit h other properly configured I P phones f o r data-voice In one embodiment o f the present invention, a system
exchanges. I n another example, IP phones may use a data comprises an Internet Protocol (IP) phone coupled to a server
network f or transactional data applications and the POTS where the IP phone is configured to receive contextual infor-
network for voice. 50 mat ion f ro m the server. The I P phone may comprise a
IP phones currently have features similar to those found in memory unit operable for storing a computer program for
traditional p u b lic s witc hed telephone net work (P S TN) performing contextual searches. The IP phone may further
phones such as call forwarding, call waiting, conference calls comprise a processor coupled to the memory unit where the
and so forth. Enhancements to these feature sets have been processor, responsive to the computer program, comprises
slow in coming, as market leaders in the "Voic e over I P" 55 c irc uit ry for receiving a command to perform a contextual
(VoIP) telephony field have pursued an incremental approach search. The processor may further comprise circuitry for
to their product offerings, particularly because of the lack of receiving search criteria. The processor may further comprise
computing power available in VoIP platforms. Currently, circuitry for submitting the search criteria to the server. The
VoIP platforms may have to be specifically designed for a processor may further comprise circuitry for receiving from
target market area and software application operating on the 60 t he server a list of merchants matching the search criteria and
IP phone. For example, a unique VoIP platform may have to information regarding each of the merchants in the list.
be developed to operate a software application used to allow In another embodiment of the present invention, a system
the user of the IP phone to vote on an election. A separate comprises an Internet Protocol (IP) phone coupled to a server
unique VoIP platform may have to be developed to operate a where the IP phone is configured to receive a ballot from the
hospitality application used for saving voice messages, issu- 65 server. The IP phone comprises a memory unit operable for
ing wake-up calls, scheduling room service, tracking com- storing a computer program f or performing a vote on the
plaints, etc. By having to design and implement separate VoIP ballot. The I P phone may further comprise a processor
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 31 of 44 PageID 56

US 7,525,955 B2
3 4
coupled to the memory unit where the processor, responsive will be described hereinafter which may form the subject of
to the computer program, comprises circuitry for receiving the claims of the present invention.
the ballot from the server. The processor may further com-
BRIEF DESCRIPTION OF THE DRAWINGS
prise circuitry for selecting either yes, no or abstain for each
5
issue on the ballot. The processor may further comprise cir-
A better understanding o f the present invention can be
cuitry for submitting the selections for each issue on the ballot
to the server. obtained when the following detailed description is consid-
ered in conjunction with the following drawings, in which:
In another embodiment of the present invention, a system FIG. 1 illustrates an embodiment of the present invention
comprises an Internet Protocol (IP) phone comprising a soft- 10 o f a system implementing a multi-lay er fixed telephone sys-
ware platform where the software platform comprises a first tem interacting with different communication infrastructures;
layer controlling a hardware configuration of the IP phone. FIG. 2 illustrates an embodiment of the present invention
The software platfonn may further comprise a second layer of an external configuration of an IP phone;
interacting with the first layer. The second layer may provide FIG. 3 illustrates the software platform of the IP phone in
an execution environment. The software platform may further 15 accordance with an embodiment of the present invention;
comprise a third layer interacting with the second layer. The FIG. 4 illustrates an embodiment of the present invention
third layer may interface with multiple communication infra- of the communication infrastructure services lay er o f the
structures. The software platform may further comprise a software platform of the IP phone;
fourth layer interfacing with the third layer. The fourth layer 20 F I G . 5 illustrates an embodiment of the present invention
of the common converged communication base services layer
may prov ide c onmmnic ation services and data services
of the software platform of the IP phone;
required by applications. The software platform may further
FIG. 6 illustrates an embodiment of the present invention
comprise a fifth layer interfacing with the fourth layer. The
of the domain-specific application layer of the software plat
fifth lay er may implement logic used to run applications
25 form of the IP phone; -
operating on the IP phone. FIG. 7 is a flowchart of a method for developing domain-
In another embodiment of the present invention, a method specific applications for converged communication terminals
for developing domain-specific applications for Internet Pro- (IP phones) based on the software platform in accordance
tocol (IP) phone may comprise the step of defining a require- wit h an embodiment of the present invention;
ment specification for an application. The method may fur- 30 F I G . 8 is a flowchart of a method by whic h one or more
ther comprise identifying features of a first software layer in domain-specific applications developed f o r a specific I P
a software platform of an IP phone to be incorporated into the phone are rapidly retargeted to a new hardware platform
application. The first software lay er may be configured to and/or operating system based on the software platform in
provide communication services and data services required accordance with an embodiment of the present invention;
by t h e applic ation. Th e method may f urt her c ompris e 35 F I G . 9 is a flowchart of a method by whic h one or more
enabling the identified features in the first layer in the soft- domain-specific applications developed f o r a specific I P
ware platform o f the IP phone. The method may further phone are rapidly retargeted to a new communications infra-
comprise building a client interface to allow features required structure based on the software platform in accordance with
for the application to be implemented but are not covered by an embodiment of the present invention;
the first layer to collaborate with the first layer in the software 40 F I G . 10 illustrates an embodiment of the present invention
platform of the IP phone. The method may further comprise of a client-server Transaction Applications Delivery Services
(TADS) communications architecture;
implementing the features not covered by the first layer but
are required for the application to be implemented. FIG. 11 illustrates an embodiment of the present invention
of the server and c li ent sides of a transactional application
In another embodiment of the present invention, a system 45 deliv ery system;
comprises a server where the server comprises a front-end
FIG. 12 illustrates an embodiment of the present invention
console configured to present a selective v iew o f all data of end-to-end services that enable contextual search and
accessible. The server may further comprise a transaction advertising service delivery to IP phones;
engine coupled to the front-end console where the transaction FIG. 13 illustrates an embodiment of the present invention
engine is configured to handle transactions from an Internet 50 o f a transactional application delivery system server side
Protocol (IP) phone coupled to the server. The server may elements;
further comprise a plurality of databases coupled to the trans- FIG. 14 illustrates an embodiment of the present invention
action engine where the plurality of databases is configured to of a transactional application delivery system client side ele-
store sales information, records of transactions, vendor infor- ments;
mation, consumer information and scheduling information as 5 5 FIG. 15 illustrates an embodiment of the present invention
to when transaction applications are distributed. The server of a telephony services architecture;
may further comprise a settlement manager coupled to the FIG. 16 illustrates an embodiment of the present invention
front-end console and the transaction engine. The settlement of a directory services architecture;
manager may be configured t o maintain a log o f actions 60 F I G . 17 illustrates an embodiment of the present invention
performed by a user of the IP phone during a communication of how, transactional applications in a domain-specific appli-
session with the server.
cations layer are supported by the software modules in the
The foregoing has outlined rather generally the features converged communication base services layer of the software
and technical advantages of one or more embodiments of the platform of the IP phone;
present invention in order that the detailed description of the 65 F I G . 18 illustrates an embodiment of the present invention
present invention that follows may be better understood. of a transactional application delivery system services archi-
Additional features and advantages of the present invention tecture.
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 32 of 44 PageID 57

US 7,525,955 B2
5 6
FIG. 19 illustrates an embodiment of the present invention work 102. IP phone 101 may further communicate with an
of a transactional application delivery system (TADS) direc- analog phone 113 over PSTN 105. IP phone 101 may further
tory search and advertising services; communicate with analog phone 113 over voice network 103
FIG. 20 illustrates an embodiment of the present invention via data network 102. Further, IP phone 101 may communi-
of monetizing baseline directory services, premium lis ting 5 c a t e with a mobile phone 115 over mobile network 114 via
services and advertising services; data network 102.
FIG. 21 is a flowchart of a method for performing contex- System 100 may further include a Public Switched Tele-
tual search in accordance with an embodiment of the present phone Network (PSTN) Gateway 104 coupled to data net-
invention; work 102. PSTN gateway 104 may be configured to translate
FIG. 22 is a flowchart of a method for performing a local to s ignaling and media between data network 102 coupled to IP
save in accordance with an embodiment of the present inven- phone 101 and PSTN 105. PSTN 105 may be coupled to
tion; conventional telephone 113. PSTN gateway 104 may allow IP
FIG. 23 is a flowchart o f a method for performing one- phone 101 to communicate with standard analog telephones
touch call in accordance with an embodiment of the present 113 in PSTN 105.
invention; 15 S y s t e m 100 may further include a mobile gateway 106
FIG. 24 is a flowchart of a method for scheduling adver- coupled between data network 102 and mobile network 114.
tisements in accordance with an embodiment of the present Mobile gateway 106 may be configured to translate signaling
invention; and media between data network 102 and mobile network
FIG. 25 is a flowchart of a method for enabling no contact 114. Mobile network 114 may be coupled to mobile tele-
call service functionality of select premium listings in accor- 20 phone 115. Mobile gateway 106 may allow IP phone 101 to
dance wit h an embodiment of the present invention; communicate wit h mobile phones 115 in mobile network
FIG. 26 illustrates an embodiment of the present invention 114. IP phone 101 may signal mobile gateway 106 in order to
of the interaction between an IP phone and a voting applica- enable calls destined to mobile telephone 115 to be termi-
tion server used in implementing a voting booth application; nated on IP phone 101.
and 25 S y s t e m 100 may further include an Internet Protocol-Pri-
FIG. 27 is an embodiment o f the present invention of a vate Branch exchange (IP-PBX) 107 coupled to data network
hardware configuration of an IP phone. 102, voice network 103 and analog phones 113 or VoIP net-
work 116. IP-PBX 107 may be configured to interconnect
DETAI LED DESCRIPTION voice and data networks 103, 102, respectively, in an enter-
30 pris e environment and provide centralized call control func-
Although the present invention is described with reference tionality.
to an Internet Protocol (IP) phone it is noted that the principles System 100 may further include an application server 108
of the present invention may be applied to any Internet con- coupled to data network 102. Application server 108 may be
nected device, such as an Internet appliance. It is further noted configured to contain the server side components (discussed
that embodiments apply ing the princ iples o f the present 35 f urt her below) of client/server applications accessed through
invention t o such Internet connected devices wo u ld f a ll IP phone 101, such as the components of the Transactional
within the scope of the present invention. Application Deliv ery System (TA DS ) (discussed further
In the following description, numerous specific details are below).
set forth to provide a thorough understanding of the present System 100 may further inc lude a telephony services
invention. However, it will be apparent to those skilled in the 40 s erv er 109 coupled to data network 102. Telephony services
art that the present invention may be practiced without such server 109 may be configured to provide services that allow IP
specific details. In other instances, well-k nown circuits and phone 101 to communicate with other analog and VoIP ter-
software modules have been shown in block diagram form in minals and extend its range of available telephony features.
order not to obscure the present invention in unnecessary System 100 may further include a converged messaging
detail. For the most part, details considering timing consid- 45 a n d directory server 110 coupled to data network 102. Con-
erations and the lik e have been omitted inasmuch as such verged messaging and directory server 110 may be config-
details are not necessary to obtain a complete understanding ured to contain all the components necessary to provide the
of the present invention and are within the skills of persons of user with a unified converged platform to send and receive
ordinary skill in the relevant art. electronic and voice mail messages. I n addition, server 110
FIG. 1 illustrates a high level diagram of an embodiment of 50 ma y provide IP phone 101 with access to personal and public
the present invention of a system 100 implementing a multi- contact directories.
layer fixed telephone system 101 interacting wit h different System 100 may further include a database repository 111
communication infrastructures. Referring to FIG. 1, system coupled to data network 102. Database repository 111 may be
100 allows multi-lay er fixed telephone system 101 (referred configured to manage and provide IP phone 101 and servers
to herein as an "IP phone") to interact with other entities over 55 107, 108, 109 and 110 with data needed to perform their tasks.
different communication infrastructures, such as data, voice, It is noted that FIG. 1 is illustrative and that not all of the
mobile and Public Switched Telephone Networks (PSTN) components o f system 100 were depicted f or the sake o f
102. 103, 114, 105, respectively, to provide telephony func- brevity (e.g., provisioning and configuration servers). I t is
tions and run applications. A more detailed description of the further noted that system 100 is not to be limited in scope to
external configuration of IP phone 101 is described below in 60 t he system disclosed.
association with FIG. 2. Further, a more detailed description FIG. 2 illustrates an embodiment of the present invention
of the hardware configuration of IP phone 101 is described of an external configuration o f IP phone 101. Referring to
further below in association wit h FIG. 27. I n one embodi- FIG. 2, IP phone 101 includes a touch screen display 201 with
ment, IP phone 101 may be coupled to a computer system the capability of displaying graphical images and collecting
112, data network 102 and a Public Switched Telephone 65 input from the user by pressing certain areas in the screen with
Network (PSTN) 105. IP phone 101 may communicate with a finger or an instrument designed for such purposes such as
third-party voice over IP (VoIP) terminals 116 via data net- a stylus. IP phone 101 may further include a message waiting
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 33 of 44 PageID 58

US 7,525,955 B2
7 8
indicator 202 to alert the user that a new message has arrived as discussed further below in association with FIG. 7. Appli-
to the user's inbox. Below touch screen display 201, IP phone cation 2711 may further include an application configured for
101 includes four directional keys 203A-D (203A configured a specific IP phone that can be retargeted to a new hardware
to move an image displayed on screen 201 up; 203B config- platform and/or operating system as discussed further below
ured to move an image displayed on screen 201 down; 203C 5 i n association wit h FIG. 8. Applic ation 2711 may further
configured to move an image displayed on screen 201 to the include an application configured for a specific IP phone that
left; and 203D configured to move an image displayed on can be retargeted to a new communications infrastructure as
screen 201 to the right); and an OK button 204 to navigate the discussed further below in association with FIG. 9
user interface screens 201 and select items in focus, as an Read only memory (ROM) 2702 may be coupled to system
alternative to using the touch screen. To each side of direc- to bus 2713 and c ould inc lude a basic input/output system
tional keys 203A-D, IP phone 101 includes SEND and END ("BIOS") that controls certain basic functions o f IP phone
keys 205, 206, respectively. Keys 205, 206 may be used as an 101. Persistent memory ("FLA S H") 2712 may be coupled to
alternative to the touch screen to exercise telephony features system bus 2713 and include the operating system 2710,
in graphical user interface screen 201 such as initiating and configuration data and user data. It is noted that local direc-
finishing a call. In addition, keys 205, 206 can be used to help 15 tories accessible through supported interfaces 1609 (dis -
the user navigate the user interface; for example, using END cussed further below in association with FIG. 16) may reside
button 206 to go directly to the home screen or cancel some in FLASH 2712. It is further noted that one or more applica-
operation. IP Phone 101 also includes the following connec- tions 2711 may reside in FL A S H 2712, Random access
tors distributed along side 213 for external devices: Universal memory (RAM) 2709 and disk adapter 2707 may also be
Serial Bus (USB) 214, headset 215, microphone, 216, Ether- 20 c oupled to system bus 2713. It should be noted that software
net switched port for Personal Computer (PC) and Local Area components including operating system 2710 and application
Network (LAN), 217 and 218, respectively, power supply 2711 may be loaded into RAM 2709 which may be IP phone's
219, RJ-11 (POTS) connector 220, antenna 221 for support of 101 main memory. Dis k adapter 2707 may be an integrated
wireless protocols such as, but not limited to, wireless fidelity drive electronics ("I DE ") adapter that communicates with a
(WI-FI) and Zigbee, RS-232 serial port 222, and JTAG con- 25 dis k unit 2708, e.g., disk drive. It is noted that the applications
nector 223. mentioned above may reside in disk unit 2708. It is further
IP phone 101 may further include an opening 207 for a noted that local directory accessible via supported interfaces
phone speaker and a handset cradle 208 for corded or cordless 1609 (discussed further below in association with FIG. 16)
handsets. IP phone 101 may further include a standard tele- may reside in disk unit 2708.
phony keypad array 209 consisting of digits 0 to 9, the star and 30 R e t u r n i n g to FIG. 27. in conjunction with FIG. 1, commu-
pound keys. Below keypad 209, IP phone 101 may include a nications adapter 2705 may also be coupled to system bus
circular key 210 used to activate and deactivate speakerphone 2713. Communications adapter 2705 may interconnect bus
207. At each side of speakerphone key 210, two triangular 2713 with an outside network 2704 enabling IP phone 101 to
keys 211A-B may be used to increase (211B) and decrease communicate with data network 102, servers 106, 107, 108,
(211A) the volume of the active audio output: handset, head- 35 109, 110, analog phones 113 v ia PSTN 105, mobile phone
set, speaker or ringer. Below speakerphone and volume keys 115 via mobile network 114, etc.
210. 211A-B, respectively, IP phone 101 includes an indica- Returning to FIG. 27, in conjunction with FIG. 2, other
tor 212 that turns on when speakerphone 207 is active and devices 2703 may be integrated into the system bus 2713 via
turns off when speakerphone 207 is inactive. miscellaneous input/output (I/O) ports 2706.
An embodiment of the hardware configuration of IP phone 40 I mp le me n t a t io n s of the invention include embodiments as
101 is provided below in association with FIG. 27. Referring a VoIP phone (IP phone) programmed to execute the method
to FIG. 27, I P phone 101 may include a processor 2701 or methods described herein, and as a computer program
coupled to various other components by system bus 2713. An product. According to the implementations, sets o f instruc-
operating system 2710 may run on processor 2701 and pro- tions for executing the method or methods may be resident in
vide control and coordinate the functions of the various com- 45 t he random access memory 2709 o f one or more systems
ponents of FIG. 27. An application 2711 in accordance with configured generally as described above. Until required by IP
the principles of the present invention may run in conjunction phone 101, the set of instructions may be stored as a computer
with operating system 2710 and provide algorithms, domain- program product in another computer memory, for example,
specific knowledge and calls to operating system 2710 where in disk unit 2708. Furthermore, the computer program prod-
the algorithms, domain-specific knowledge and calls imple- 50 uc t may also be stored at another computer and transmitted
ment the various functions or services to be performed by when desired to the IP phone 101 by a network or by an
application 2711. Applic at ion 2711 m a y inc lude, f o r outside network 2704 such as the Internet. One skilled in the
example, an application configured to perform a contextual art would appreciate that the physical storage of the sets of
search as discussed further below in association with FIG. 21. instructions physically changes the medium upon which it is
Application 2711 may further include an application config- 55 s tored so that the medium carries computer readable infor-
ured to perform a local caching of contextual search results as mation. The change may be electrical, magnetic, chemical or
discussed further below in association with FIG. 22. Appli- some other physical change.
cation 2711 may further include an application configured to IP phone 101 includes a software platform with multiple
perform a one-touch call as discussed further below in asso- layers adaptable to be used with different applications oper-
ciation with FIG. 23. Application 2711 may further include an 60 at ing on IP phone 101 as well as adaptable to using different
application configured to order from a merchant using the no communication infrastructures. A n embodiment o f such a
contact c all service feature as discussed further below in software platform is provided below in association with FIG.
association wit h FIG. 25. Applic ation 2711 may further 3.
include an application configured to vote on one or more Referring to FIG. 3, platform 300 o f IP phone 101 may
issues on a ballot as discussed further below in association 65 inc lude five layers. Layer 1 (hardware platform) 301 of plat-
with FIG. 26. Application 2711 may further include an appli- form 300 may inc lude software t o c ontrol t he physical
cation configured to host other domain-specific applications embodiment o f IP phone 101. The physical embodiment
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 34 of 44 PageID 59

US 7,525,955 B2
9 10
includes, but is not limited to, Application-Specific Integrated by domain-specific converged communication applications
Circuits (ASICs), processing elements, Input/Output (I/O) (referring to applications operating on IP phone 101), as
devices, peripherals, and storage elements. illustrated in FIG. 5.
Layer 2 (operating system services) 302 of platform 300 FIG. 5 illustrates an embodiment of the present invention
provides an interface to access operating system (OS) ser- 5 o f layer 4 304. Referring to FIG. 5, lay er 4 304 includes
vices and hardware platform devices. Layer 2 302 provides an telephony services 501. Telephony services 501 include call
execution environment for the software modules and a hard- processing functions that implement the core functionality to
ware abstraction layer. Among the responsibilities of layer 2 initiate, terminate and manage phone calls over VoIP and/or
302 inc lude implementing c ommon OS services such as POTS communication infrastructures. Layer 4 304 may fur-
memory management, task management, date and time infor- to t her include an implementation of signaling, media transport,
mation, and access to peripherals; providing file system ser- voice processing and call control functionality. Among the
vices to emulate hard disk drive on flash memory devices; responsibilities o f these functions are: prov iding basic c all
providing a Transport Cont rol Protocol/Internet Protocol control features; providing call setup and tear down function-
(TCP/IP) networking API and the implementation of other ality through protocols like Session Initiation Protocol (SIP),
required protocols such as Dynamic Host Configuration Pro- 15 H.323. Media Gateway Control Protocol (MGCP) and others;
tocol (DHCP), Triv ial File Transfer Protocol (TFTP), Simple providing media transport and signaling through protocols
Network Time Protocol (SNTP) and Simple Network Man- like Real-Time Protocol (RTP) and Real-Time Control Pro-
agement Protocol (SNMP); prov iding an embedded web tocol (RTCP); providing voice processing features (echo can-
server implementation that allows remote configuration cellation, Voice Activity Detection (VAD), jit t er buffering,
through a web browser; implementing core graphics func- 20 etc ); and notifying call-related events to the upper layer.
tionality f or drawing. window management, event routing, Layer 4 304 may further include other services 502, such as
fonts and bitmaps; and, implementing hardware drivers for data services. Services 502 may include Hyper-Text Transfer
each of the converged communication terminal's 101 periph- Protocol (HTTP ) clients, Remote Procedure Call/Simple
erals. Object Access Protocol (RPC/SOAP), eXtensible Mark up
25 Language (X ML ) parser, directory services, configuration,
Layer 3 (communications infrastructure services) 303 o f
Personal Computer/Personal Data Assistant (PC/PDA) syn-
platform 300 may be configured to interface wit h multiple
chronization, and user interface. HTTP client services pro-
communication infrastructures. Layer 3 303 of platform 300
vide a transport protocol to store and retrieve from server
contains a local services pool and a remote services pool, as
objects such as X M L documents and images and play an
illustrated in FIG. 4. It is important to note that system 100
30 important role in IP communications and application devel-
(FIG. 1) contains a basic set of telephony features provided by
opment, therefore enabling converged communications ter-
a Co mmo n Conv erged Communic ation Bas e Services
minal 101 to participate in web-centric architectures. RPC/
(CCCBS) layer 304, as discussed below, which makes server-
SOAP services, implement an interface t o mak e remote
less communications straightforward as there is no reliance
procedure calls. Remote procedure calls allow IP phone 101
on the server/proxy for such features.
35 t o send requests to and receive responses from components in
FIG. 4 illustrates an embodiment of the present invention the computer network. SOAP is an implementation of RPC
of layer 3 303. Referring to FIG. 4, in conjunction with FIGS. that uses X M L to format request/response information and
1 and 3, layer 3 303 may include a remote services pool 401. HTTP to transport this information. Prov iding support for
Remote services pool 401 refers to components that do not SOAP enables IP phone 101 to participate in web services.
reside locally on IP phone 101, but rather on telephony ser- 40 X M L parser services translate data represented in X ML for-
vices 109 or PSTN 105 with which IP phone 101 may have to mat into internal data structures and requests f or services.
collaborate to provide extended communications features and Structuring documents using X M L allows sharing of infor-
converged voice/data/video services and/or interface wit h mation between different platforms and applications. I n IP
proprietary IP PBXs 107, application servers 108 and PSTN phone 101 there are at least three applications for XML: to
elements such as centrex, call managers and softswitches. For 45 describe the user interface layout and components, to make
every specific external collaborating entity, there might be an remote procedure calls and to format configuration files.
adapter module that implements all or part of the functional- Light-weight Directory Access Protocol (LDAP) provides an
ity exposed by a Communic ation Infrastructure Services interface to access information in directory servers. Directory
(CIS) API 307, as discussed below. services are commonly used to carry out three main require-
Layer 3 303 may further include a local services pool 402. 50 ments o f Internet Protocol (IP) telephony: authentication,
Local services pool 402 refers to components that reside on IP personalization and whit e pages. Confi guration services
phone 101 and can provide an interface to communicate and allow for the management of IP phone 101 settings such as:
collaborate with proprietary IP PBXs 107, application servers device ID, network, dial-plans, audio (codecs, Dual Tone
108 and PSTN 105 elements such as centrex, call managers Multi-Frequency (DTMF), voice processing), c all control,
and softswitches. While the vendor-specific interface imple- 55 S I P related parameters, volume, display, date/time, authenti-
mentation c ould reside loc ally o r remotely on a network cation, security, voice mail, phone book, ringer behavior,
server or switch, the advantage of implementing this compo- power management, language, peripherals, and software
nent on a network server or switch and leaving locally only a management. These services also implement routines f o r
proxy to those services is that the need to create a new con- automatic retriev al o f phone configuration and software
verged communications terminal 101 image for each change 60 upgrades from a server. PC and PDA communications ser-
in an external component may be avoided. I n addition, the vices provide an interface to communicate and collaborate
gateway implementation may not be constrained by the (pos- with external user devices such as the PC and PDA. IP phone
sibly) limited IP phone 101 resources. 101 should collaborate closely wit h these devices to share
Returning to FIG. 3, platform 300 includes a layer 4 (com- information, keep that information synchronized, and accom-
mon converged communications base services) 304. Layer 4 65 p lis h tasks more effectively.
304 includes communications (telephony) specific services Returning to FIG. 3, platform 300 includes a layer 5 (do-
as well as other data services commonly that may be required main-specific applications) 305. Layer 5 305 implements the
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 35 of 44 PageID 60

US 7,525,955 B2
11 12
business logic and the presentation logic used to run applica- oped f or domain-specific applic ation 305 can collaborate
tions operating on IP phone 101 as illustrated in FIG. 6. wit h the previously available base services layer 304. In step
FIG. 6 illustrates an embodiment of the present invention 705, any extra functionality that is not covered by base ser-
of layer 5 305. Referring to FIG. 6, lay er 5 305 includes vices 304 that is required for the domain-specific application
business logic 601 that provides the mechanisms to combine 5 of interest 305 is implemented. Met hod 700 leverages
the services provided by underlying modules into coherent CCCBS API 308.
applications that add some value to the end user. Some com- It is noted that method 700 may include other and/or addi-
ponents of business logic 601 may run locally on IP phone tional steps that, for clarity, are not depicted. It is further noted
101 and some components will run remotely in an application that method 700 may be-executed in a different order than
server 108 (FIG. 1). Some examples include extended calling 10 presented and that the order presented in the discussion of
features, phone directories, management and diagnostic FIG. 7 is illustrative. It is further noted that certain steps in
tools, unified messaging, intelligent call management, instant method 700 may be executed in a substantially simultaneous
messaging, contact management, personalized ring tones, manner.
call tracking, remote collaboration tools, and industry spe- The method by which one or more domain-specific appli-
cific applications. It is at this layer that domain-specific dif- 15 cations developed for a specific IP phone 101 (FIGS. 1-3)
ferentiating features are implemented. may be rapidly retargeted to a new hardware platform and, or
Layer 5 305 further includes presentation logic 602 that operating system based on the flexible software platform 300
responds to the fact that the primary concerns o f the User (FIG. 3) previously described is presented schematically in
Interface (UI) module are the mechanisms of user interaction FIG. 8. FIG. 8 illustrates a method 800 by which one or more
and how to lay out an appropriate presentation to the user in 20 domain-specific applications developed f o r a specific I P
contrast with the primary concerns of business logic 601 are phone 101 may be rapidly retargeted to a new hardware
application domain policies and persistent storage interac- platform and/or operating system based on the flexible soft-
tions. The UI module may change according to customer's ware platform 300 in accordance with an embodiment of the
needs without changing the applications core functionality. present invention.
For example, the same application domain modules with rich, 25 Referring to FIG. 8, in conjunction with FIGS. 1-3, in step
web-based or text-based clients c ould be reused. Further- 801, the differences between constructs of the original and the
more, the application module can be tested independently new operating systems are identified. Further, any new hard-
without resorting to awkward Graphical User Interface (GUI) ware drivers that would be needed are identified. Once these
scripting tools. have been identified, a n operating system services lay er
Layer 4 304 may be leveraged in the design of differenti- 30 adapter module is built as part of API 306 for the new oper-
ated I P phones 101 v ia the f ollowing APIs. A n operating ating system and the implementation of the new hardware
system services API 306 provides common methods to access drivers in step 802. Method 800 leverages the operating sys-
services provided by the operating system. For each specific tem services API 306.
operating system there is a module that supports the abstrac- It is noted that method 800 may include other and/or addi-
tion. 3 5 tional steps that, for clarity, are not depicted. It is further noted
A Communication Infrastructure Services (CIS) API 307 that method 800 may be executed in a different order than
provides common methods to access converged communica- presented and that the order presented in the discussion of
tion services available v ia the installed infrastructure. For FIG. 8 is illustrative. It is further noted that certain steps in
each vendor-specific infrastructure there will be a module that method 800 may be executed in a substantially simultaneous
will support the abstraction. 4 0 manner.
A Common Converged Communic ation Base Services The method by which one or more domain-specific appli-
(CCCBS) API 308 provides a standard method to access cations developed for a specific IP phone 101 (FIGS. 1-3)
common converged c ommunic ation services prev ious ly may be rapidly retargeted to a new communications infra-
developed to satisfy a broad-range of converged communica- structure based on the flexible software platform 300 (FIG. 3)
tion domain-specific applications. 4 5 previously described is presented schematically in FIG. 9.
Platform 300 may be used to develop domain-specific FIG. 9 illustrates a method 900 by which one or more domain-
applications (specific applications operating on I P phone specific applications developed for a specific IP phone 101
101) for converged communication devices, to retarget one or may be rapidly retargeted to a new communications infra-
more domain-specific applications developed for a specific IP structure based on the flexible software platform 300 in accor-
phone 101 to a new hardware platform and/or operating sys- 50 dance with an embodiment of the present invention.
tern and/or communications infrastructure. Referring to FIG. 9, in conjunction with FIGS. 1-3, in step
The method by which domain-specific applications for IP 901, an adapter module for the new communications infra-
phones 101 may be rapidly developed based on the flexible structure services layer 303 on whic h IP phone 101 will be
software platform 300 previously described is presented deployed is built. In step 902, communications infrastructure
schematically in FIG. 7. FIG. 7 illustrates a method 700 for 55 services layer 303 is configured to accept the new module and
the development o f domain-specific applications f o r con- to have it collaborate with pre-existing modules. Method 900
verged communication terminals (IP phones 101) based on leverages operating system services API 306 and communi-
software plat f orm 300 (FI G . 3 ) i n accordance wit h a n cations infrastructure services API 307.
embodiment of the present invention. It is noted that method 900 may include other and/or addi-
Referring to FIG. 7, in conjunction with FIGS. 1-3, in step 60 tional steps that, for clarity, are not depicted. It is further noted
701, the requirement specifications f o r the application o f that method 900 may be executed in a different order than
interest are defined. In step 702, the modules from common presented and that the order presented in the discussion of
converged communications base services lay er 304 to be FIG. 9 is illustrative. It is further noted that certain steps in
incorporated into domain-specific application 305 is identi- method 900 may be executed in a substantially simultaneous
fied. Once these services are identified, these features are 65 manner.
enabled in base services layer 304 in step 703. In step 704, a An embodiment of a client-server communications archi-
client interface is built so that the extra functionality devel- tecture for which software platform 300 (FIG. 3) and methods
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 36 of 44 PageID 61

US 7,525,955 B2
13 14
described above can be used to develop c lient converged TADS server side elements 1001 include a front-end con-
communication terminal devices 101 that can support the sole 1101 that allows merchants to submit to a content distri-
distribution of value-added services to end-users is illustrated bution platform 1204 (FIG. 1 2 whic h w i l l be discussed
in FIG. 10. FIG. 10 illustrates an embodiment of the present below), via a web-based interface (not shown), multi-media
invention of a client-services communications architecture 5 adv ertis ing content, define the demographic characteristics of
1000 for which software platform 300 and methods described the target audience, schedule the dates and times when adver-
above can be used to develop client converged communica- tisements from third parties should be distributed, and pay for
tion terminal devices 101 that can support the distribution of the service. A third-party may develop an alternate front-end
value-added services to end-users. console 1119 that may extend upon front-end console 1101.
Referring t o FI G . 10, client-services communications to T A D S server side elements 1001 further include a TADS
architecture 1000 forms the basis of a Transactional Applica- server protocol engine 1102 that handles all communications
tion Deliv ery System (TADS) f or service providers and/or using the TADS protocol on the server side f or handling
third party developers and content providers t o rapidly transactions, distributing advertisements, subscribing clients
develop, deliver, and manage revenue generating and produc- to distribution groups and delivering products to clients.
tivity enhancing data-voice applications for IP phones 101. 15 T A D S server side elements 1001 further include various
Data-voice applications are those that take advantage of voice server software modules and databases (discussed below) on
over Internet Protocol (VoIP) and/or POTS/Broadband infra- top o f which telephony applications and converged voice-
structures. data applications and services may be constructed. TADS
As illustrated in FIG. 10, TADS server side elements 1001 server side elements 1001 further include a settlement man-
communicate with TADS client side elements 1002, e.g., IP 20 ager 1302 (FIG. 13 which will be discussed below) that main-
phones 101, via data network 102, e.g., Internet. Client-ser- tains a log of all end-user actions during a converged com-
vices communications architecture 1000 has built-in flexibil- munications session that can then be used to determine profit
ity allowing it to evolve wit h advancements in hardware, allocation throughout the value chain (merchants, content
software, protocols, thus providing an extensive platform for providers, service providers, and the owner o f the content
delivery o f applications and content. Th e f ollowing are 25 dis tribution platform) as well as to obtain valuable closed
among the main characteristics o f software platform 300 activity reports that may be used to drive new services and log
(client-services cormuunications architecture 1000). valuable demographic data on all end-user transactions.
TADS 1000 provides an integrated download and content Referring to FIG. 11, TADS front-end (console) 1101 may
management system which enables the delivery of software be configured to be a front-end to the Transactional Applica-
and content to enabled devices. This download manager sup- 30 tions Deliv ery System (TA DS ) programmatic A P I 1103.
ports the entire process of software provisioning, inc luding TADS front-end (console) 1101 presents a selective view of
the submission of content and applications from third-party all the data accessible t o programmatic API 1103. This
developers, testing and certification o f those applications, includes custom graphical user interfaces, web-based inter-
bundling, pricing, demographics-based targeted promotions, faces, c ommand line interfaces, and others. Customized
and delivery to enabled terminals. 35 front-ends can be developed by third-parties also.
TADS 1000 further includes the capability to remotely, TADS programmatic APIs 1103 expose all aspects of the
provision, configure, o r upgrade compatible devices. This TADS framework t o c alling applications. Th is inc ludes
enables providing online help support to users and reducing browsing (read, write, delete, add) information on consum-
the need for on premise visits. Through this capability, service ers, vendors, billing, channel definitions, transactions, con-
providers are able to bring up new clients, push the latest 40 t ent and distribution groups.
software updates to the terminals, o r remotely perform a TADS server side elements 1001 further include a vendor
move, add, or change to a customer's system. management module 1104 configured to allow access to a
TADS servers 1001 may process all voice and data before vendor database 1105. Vendor management module 1104
transmitting to the device. TADS servers 1001 communicate may be an adapter to communicate with an existing system or
with TADS client side elements 1002 to determine the opti- 45 internal vendor database 1105. All the information regarding
mal delivery, compression, and formatting of the information vendors is stored and accessed through vendor management
to be displayed on IP phone 101. This content optimization module 1104. Vendor management module 1104 can be used
will maximize the service providers use of available device by a content programming module 1106 to get vendor infor-
resources ate at the customer's premise. mation. Vendors are clients of the service provider. They buy
TADS 1000 further includes the capability of using open 50 advertisement space/time on IP phone 101 and get orders
standard interfaces to enable quick and easy integration with from customers through IP phone 101.
a carrier's existing systems and third party equipment and TADS server side elements 1001 further include a demo-
software. graphics module 1107 configured to access a consumer data-
Furthermore, a ll software components o f TADS 1000 base 1108 and apply rules to query records that show specific
incorporate redundancy and load balancing to provide a very 55 demographic characteristics. Demographics module 1107
high lev el o f service availability. To enable c arrier grade may further include an adapter to communicate with an exist-
reliability, TADS servers 1001 route all voice and data traffic ing system or an internal consumer database 1108.
to other servers should it encounter any hardware or software TADS server side elements 1001 further include a user
failures. TADS 1000 provides scalability simply through the management module 1109. Users o f TADS-enabled clients
addition o f servers. A more detailed description o f TADS 60 ma y be regarded as consumers by the vendors using TADS.
1000 is provided below in association with FIG. 11. Users can be added, changed or deleted through the use of
FIG. 11 illustrates an embodiment of the present invention user management module 1109. A ll information regarding
of the server and client sides of TADS 1000. Referring to FIG. users is accessed through user management module 1109.
11, TADS 1000 includes a server side 1001 (FIG. 10) and a TADS server side elements 1001 further include content
client side 1002 (FIG. 10). It is noted that TADS server 1001 65 programming module 1106, as mentioned above. Content
refers to server 108 (FIG. 1) and that TADS client side ele- programming module 1106 is involved in defining the distri-
ments 1002 refer to IP phone 101 (FIGS. 1-3). bution and exposition of advertisements throughout the net-
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 37 of 44 PageID 62

US 7,525,955 B2
15 16
work of TADS-enabled clients, e.g., IP phone 101. Advertise- Billing manager module 1116 may inc lude an adapter to
ments are exposed at the remote clients by the transactional communicate with an external billing system or internal bill-
applications distributed by TADS server 1001. Vendors can ing database 1112.
use the graphical user interface exposed by TADS front-end Billing database 1112 may contain information on sales
1101 to access content programming module 1106. Content 5 d o n e on behalf of vendors through TADS and TA distribution
programming module 1106 may be used to create distribution charges. Vendors are billed by service providers for their use
groups f o r advertisements and to schedule s howing t ime of TADS.
among the clients in the group. Vendors can define distribu- Other databases i n TA DS s erv er s ide elements 1001
tion and level of exposure for an advertisement using criteria include a transaction database 1117 configured to contain
such as user demographics, geographical or organizational 10 records of all transactions enabled by TADS.
boundaries and buy ing history. The res ulting scheduling Another database in TADS server side elements 1001 is
information is stored in a distribution group schedule data- vendor database 1105, as mentioned above. Vendor database
base 1110. 1105 contains vendor information.
TADS server side elements 1001 further include a transac- Another database in TADS server side elements 1001 is
tion engine 1111. Transaction engine 1111 is an engine that 15 consumer database 1108, as mentioned above. Consumer
autonomously handles transactions f rom TADS c lient side database 1108 contains all information related to consumers.
elements 1002. Transaction engine 1111 may be configured Consumers are the users of TADS client side elements 1002.
to k eep records o f all transactions handled. Transaction Another database in TADS server side elements 1001 is
engine 1111 may also access a billing database 1112 (or an distribution group schedule database 1110, as mentioned
external billing system). Transaction engine 1111 can also 20 above. Dis tribution group schedule database 1110 contains
change consumer database 1108 to reflect particular informa- information on what devices should get what TAs and at what
tion about consumer buying behavior in consumer database times they should be shown.
1108. Transactions are started by TADS client side elements Another database in TADS server side elements 1001 is a
1002.A transaction starts with a consumer selecting an adver- content database 1118. Content database 1118 contains pro d-
tisement on TADS c lient side elements 1002. Client and 25 uc ts and TAs to be delivered by TADS server 1001.
server exchange purchase order details and after the order is Referring t o FI G . 11, elements o f TADS c lient 1002
confirmed the product is delivered (when appropriate) over include a TA programming manager module 1120 configured
network 102. A transaction ends when the product is deliv- to receive subscription requests from servers through a TADS
ered to the TADS-enabled device, e.g.. IP phone 101. client Protocol Engine 1121. TA programming manager mod-
TADS server side elements 1001 further include TADS 30 u le 1120 may be configured to keep track of what TAs are
server protocol engine 1102, as mentioned above. TADS expected through each channel at specific times and where in
server protocol engine 1102 may be configured to handle all the phone user interface they should be rendered.
communications using the TADS protocol on the server side. TADS Client Protocol Engine 1121 may be configured to
The TADS communication protocol is used f o r handling handle all communications using the TADS protocol in each
35
transactions, distributing advertisements, subscribing clients client. The TADS communication protocol is used for han-
to distribution groups and delivering products to TADS client dling transactions, distributing advertisements, subscribing
side elements 1002. clients to distribution groups and delivering products to client
TADS server side elements 1001 further include a Trans- side elements 1002.
actional Applications (TA) distribution engine 1113. TA dis- 4 Client side elements 1002 may further include a TA execu-
tribution engine 1113 may be used to distribute Transactional tion engine 1122 configured to execute a TA at the client, e.g.,
Applications (TA) to TADS client side elements 1002, e.g., IP IP phone 101. The TA uses a transaction broker module 1123
phones 101. TA distribution engine 1113 may be configured to engage in transactions with TADS server 1001. TA execu-
to look up the scheduling database for TAs to distribute and to tion engine 1122 also renders advertisements on the user
use TADS protocol engine 1102 to send them to the appro- 45 interface o f the TADS c lient side elements 1002, e.g., IP
priate destinations. Destinations are defined as groups o f phone 101.
TADS client side elements 1002 that have been identified as Client side elements 1002 may further include a UI event
having the appropriate channels to handle the TA to be sent. handler 1124. UI event handler 1124 is not provided by the
Transactional applications are chartered wit h the task o f TADS framework. I t is part o f the infrastructure o f TADS
advertising a product and completing a sell transaction from 50 c lient side elements 1002. UT event handler 1124 gets events
a network of TADS client side elements 1002. from the UI of TADS client side elements 1002, e.g., IP phone
TADS server side elements 1001 further include a group 101, and forwards them to transaction broker module 1123
subscription manager module 1114 configured to handle the and TA execution engine 1122.
subscription and un-subscription o f TADS c lient side ele- Transaction broker module 1123 interacts with transaction
ments 1002 for each distribution group. A distribution group engine 1122 at TADS server 1001 through TADS client pro-
contains an identifier for each of TADS client side elements tocol engine 1121. Transaction broker module 1123 helps
1002 that are members o f the group. Subscription can take TAs to complete transactions.
place at client registration time or it can be initiated by the Client side elements 1002 may further include a product
server whenever a TA is scheduled for distribution. The sub- installer module 1125 configured to install products in data-
scription process delivers scheduling information for a TA to 60 base 1126 delivered through the TADS framework.
TADS client side elements 1002. Client side elements 1002 may further include a product
TADS server side elements 1001 further include a product downloader module 1127 whic h interacts wit h the product
delivery engine 1115 configured to assist transaction engine delivety engine at TADS server 1001 through TADS client
1111 to complete a sale by delivering a product purchased to protocol engine 1121. Product downloader module 1127
TADS client side elements 1002 whenever possible. 65 downloads products purchased through TADS.
TADS server side elements 1001 further include a billing Client side elements 1002 may further include a group and
manager module 1116 used to access billing information. channel bindings database 1128 whic h contains information
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 38 of 44 PageID 63

US 7,525,955 B2
17 18
on what TAs will be delivered through each distribution group uting advertisements, subscribing clients 1002 to distribution
and when and where in the UI their advertisements will show groups and delivering products to clients 1002. TADS server
up. side elements 1001 further include various server software
Installed applications database 1126, as mentioned above, modules and databases 1301 on top of which telephony appli -
will hold all applications installed through TADS. 5 c ations 1303 and converged voice-data applications and ser-
It is noted that the embodiment of the server and client vices 1304 may be constructed. TADS server side elements
sides of TADS 1000 may include other and/or additional 1001 may further include a settlement manager 1302 that
modules that for clarity are not depicted. It is further noted maintains a log o f all end-user actions during a converged
that TADS 1000 may be implemented with a different com- communications session that can then be used to determine
bination of modules and that those presented in the discussion to profi t allocation throughout the value chain (merchants, con-
of FIG. 11 are illustrative. tent providers, service providers, and the owner of the content
An embodiment o f the present invention related to the distribution platform) as well as to obtain valuable closed
development of a series of end-to-end services and methods activity reports that may be used to develop new services and
that enable directory search and advertising service delivery log valuable demographic data on all end-user transactions.
to I P phones 101 v ia a content distribution platform that 15 F I G . 14 illustrates an embodiment of the present invention
allows consumers, businesses, content owners, and service of TADS c lient side elements 1002 that further clarify the
providers to leverage the benefits o f converged data-voice elements of TADS client side elements 1002 depicted in FIG.
applications based on the TADS building blocks discussed 10. Referring to FIG. 14, in conjunction with FIGS. 10-11,
above and software platform 300 (FIG. 3) is discussed below TADS client side elements 1002 include TADS client proto-
in association with FIG. 12. 20 c o l engine 1121 and various c lient software modules and
FIG. 12 illustrates an embodiment of the present invention databases 1401. Client protocol engine 1121 handles all com-
of a converged communications content distribution architec- munications using the TADS protocol in each client. The
ture 1200 wit h end-to-end services that enable directory TADS communication protocol is used for handling transac-
search and advertising service delivery to IP phones 101. tions, distributing advertisements, subscribing client side ele-
Referring to FIG. 12, merchants 1201 engage directly, via a 25 ments 1002 to distribution groups and delivering products to
web-based interface, wit h the content distribution platform client side elements 1002.
owners 1204 to schedule, target, and prov ide multimedia FIG. 15 is an embodiment o f the present invention of a
content for what is referred to herein as the "premium listing telephony services architecture using software platform 300
services" (described in more detail further below). Among the (FIG. 3) in IP phone 101 (FIGS. 1-3 and 27). Referring to
services supported by the present innovation are "web search 30 FI G . 15, in conjunction with FIGS. 1-3. telephony services
engine-like" search capability on the terminal (IP phone 101), architecture 1500 allows f o r fl ex ible implementation o f
user-aware "y ellow pages" applications on the terminal (IP extended telephony features independent o f the back-end
phone 101), one-touch call initiation, no-contact transactions, infrastructure and signaling protocol. It also hides from the
ability to save query results on the terminal (IP phone 101), application changes in the underlying operating system and
delivery of multimedia advertisements to IP phones 101, and 35 hardware platform. Adding new telephony features entails
priority listings of merchant information based on contextual changes in three main areas: extending the call control model
data supplied by merchant 1201. and state machine, implementing the message exchange (call
Referring to FIG. 12, FIG. 12 further illustrates that con- flow) in a particular signaling protocol (e.g., Session Initia-
verged communications c ontent dis tribution architecture tion Protocol (SIP) or H323), and decoding proprietary exten-
1200 enables the distribution of merchant directory (contact) 40 s ions to the signaling protocol (e.g., non-standard SIP head-
information and advertising content to end-user terminals (IP ers).
phones 101) supported by a service provider's converged CCCBS API 308 provides a uniform telephony interface to
communications infrastructure 1205 (VoIP and/or POTS/ an application, e.g., telephony application I 1501A, telephony
Broadband). Content may be provided directly by existing application II 1501B, in domain-specific applications layer
content owners 1202 or by the merchant's themselves v ia 45 305. Applications 1501A, 1501B request telephony services
network 102. The architecture identifies five major stakehold- (make a call, receive a call, disconnect a call, hold, transfer,
ers: the merchants 1201 that want to make their services and forward, redial, reject, activate speaker phone) and receive
products available to end-users 1203. established content confirmation events specifying if the action was completed
owners 1202 that possess basic contact information on mer- successfully or some failure occurred. CCCBS API 308 also
chants 1201, converged communication service providers 50 notifies the application of events originated at the remote end
that provide the communications infrastructure used to physi- (e.g., call was dropped).
cally exchange information between merchants 1201 and CCCBS la y e r 3 0 4 implements telephony high-lev el
end-users 1203, and owners 1202 of the content distribution abstractions (call, address, terminal, provider, connections)
end-to-end channel and the call control state machine. The generic call control
FIG. 13 illustrates an embodiment of the present invention 55 bloc k 1502 provides basic features expected from a regular
of TADS server side elements 1001 that further clarify the phone such as make call, receive call, hold, transfer, 3-way
elements of TADS server side elements 1001 depicted in FIG. conference, call waiting, redial, do not disturb, caller id, and
10. Referring to FIG. 13, in conjunction with FIGS. 10 and predialing. Many other extended features such as forward,
11, TADS server side elements 1001 include front-end con- find-me, call park/pickup, click-to-dial, automatic redial, and
sole 1101 that allows merchants to submit to the content 60 c a ll screening could be required depending on the deploy-
distribution platform, via a web-based interface, multi-media ment environment or customer's needs. Even though the main
advertising content, define the demographic characteristics of logic of many of these features is implemented at the IP PBX
the target audience, schedule the dates and times when the ads 107 or a specific telephony services server 109, such as a SIP
should be distributed, and pay for the service. TADS server Server, c lient 1002 s t ill needs to extend its baseline state
side elements 1001 further include a TADS server protocol 65 mac hine (discussed below) to participate and support these
engine 1102 that handles all communications using the TADS features. Customization at this level may require implement-
protocol on the server side for handling transactions, distrib- ing features that only specific vendors provide and selecting
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 39 of 44 PageID 64

US 7,525,955 B2
19 20
the precise feature combination that a customer needs. This is LDAP is standard protocol f o r prov iding client-server
shown in vendor specific call control blocks 1503A-B. access to direc tory services. Direc tory services are c om-
CIS API 307 provides a protocol and vendor independent monly used in IP telephony to carry out authentication, per-
interface that will isolate CCCBS layer 304 from changes in sonalization and contact searching. A portable LDAP client
the s ignaling protocol used to implement supported tele- 5 c a n be implemented on IP phone 101 or exchange directory
phony services and how the protocol is used to implement a information in XML format with an external LDAP client that
particular feature. For example, one may use either SIP or makes the actual connection to the repository. An LDAP
H323 as the underlying signaling protocol depending on the adapter 1605 in sub layer 1602 uses the LDAP client to fulfi ll
telephony infrastructure wh e re I P phone 1 0 1 w i l l b e application requests and presents the information to the appli -
deployed. In addition, the same standard feature, call forward to c ation. LDAP adapter 1605 interfaces with operating system
for example, can be implemented with a different combina- services layer 302 via an LDAP client interface 1610.
tion of protocol messages. Since SIP is a general protocol for An XML-RPC adapter 1606 in sub layer 1602 and inter-
the establishment and management of multimedia sessions face 1610 in sub layer 1603 allow IP phone 101 to send and
and not specific to telephony (that is, establishing telephony receive requests f rom a remote server in X M L format. I n
sessions is one of its uses), one may combine SIP messages in 15 partic ular, SOAP is an XML-RPC language that uses HTTP
different ways to implement the same telephony features. IP as a transport protocol and will provide IP phone 101 with the
phone 101 may need to adapt the implementation of a given foundation to communicate with servers exposing informa-
feature wit h a given protocol to comply wit h the specifica- tion through web services.
tions of IP PBX 107 or a specific telephony services server Other adapters 1607 in sub layer 1602 can be included as
109, such as a SIP server, o f the environment in whic h IP 20 necessary to intemperate with other sources of contact infor-
phone 101 will participate. Sometimes, even with standard mation. For example, third party IP PBXs, centrex, call man-
messages such as SIP REGISTER, vendors may require spe- gers and softswitches can provide personal directories and
cific headers in order to intemperate. The CIS layer 303 may call logs so that IP phone 101 does not need to use storage
include vendor-specific telephony adapters 1504, 1507, a space locally but may use proprietary protocol to exchange
generic SIP telephony adapter 1505. and a generic 1-1.323 25 t he information. IP phone 101 may also want to access/syn-
telephony adapter 1506. It is noted that CIS layer 303 may chronize contacts with devices, e.g., Pocket PC, or third party
include other adapters and that FIG. 15 is illustrative. contact management software. Other adapters 1607 interface
The native SIP/H323 protocol stack 1508, a part of CIS wit h operating system services layer 302 via other interfaces
layer 303, prov ides port able prot oc ol implementation 1612.
between different operating systems and uses standard TCP/ 30 A n o t h e r important part of base services layer 304 provided
IP and standard network programming APIs to communicate by platform 300 are the Transactional Applications Delivery
with operating system services layer 302 whic h includes a System (TADS) services discussed above. As stated above,
TCP/IP protocol stack 1509 and controls platform drivers and the TADS is a networked system that distributes Transac-
hardware 1510. tional Applications (TAs) to remote VoIP agents based on user
FIG. 16 illustrates an embodiment of the present invention 35 profi les associated with the agents. A TA is a relatively small
of a directory services architecture 1600 using software plat- hosted application that enables the user of the VoIP agent (a
form 300 (FIG. 3 ) in IP phone 101 (FIGS. 1-3 and 27). consumer) to complete commercial transactions with one or
Referring to FIG. 16, in conj unction w more vendors. The TADS also gathers TA usage information
services
i t h F I architecture
G S . 11600
- allows
3 , an application operating on to build user profiles that enable vendors to target TAs to their
IP
d phonei r e101 c tot access
o r information
y such as contacts and call 40 customers. TADS services are coordinated through a network
logs in a consistent manner regardless of where the informa- server maintained by the TADS service provider.
tion is physically stored or managed. Architecture 1600 hides Referring to FIG. 16, in conjunction with FIGS. 1-3, oper-
from the application changes in the location of the informa- ating system services layer 302 includes Real Time Operating
tion, the protocol used to access the information and in the System (RTOS) services 1613 used to interface with the
underlying OS and hardware platform. 45 low-lev el memory, I/O and control resources of the platform
CCCBS API 308 provides a uniform interface to an appli- hardware 301 (hardware of IP phone 101).
cation 1601 t o access c a ll his tory information, phone FIG. 17 illustrates an embodiment of the present invention
addresses and contact information in general. This informa- of a transactional application delivery system services archi-
tion can be stored loc ally in IP phone 101 or in a remote tecture 1700. Referring to FIG. 17, in conjunction with FIGS.
server. 50 1-3, 10 and 11, FIG. 17 further illustrates an embodiment of
CCCBS layer 304 is divided in two sub layers 1602, 1603. the present invention of how TAs in layer 5 (Domain-specific
Sub la y e r 1 6 0 3 implement s t h e s pec ifi c in f o rma t io n Applications) 305 are supported by software modules in layer
exchange protocol and the other formats the data appropri- 4 (CCCBS) 304 of software platform 300 in IP phone 101.
ately f o r application 1601 through CCCBS API 308 and Please fi nd presented three examples o f domain-specific
transforms the application requests and data appropriately for 55 hosted applications as examples, namely: preferred search
its final repository. 1701, local search 1702 and sponsored programming 1703.
I f the information is stored locally, then a local data adapter Preferred search 1701 is a series of configurable and exten-
1604 in sub layer 1602 needs to read the file, decode it (XML, sible shortcuts to information on commercial services and
binary fixed size records) and present it to application layer products made available to the user by the TADS service
305. I f the information is stored remotely, then a protocol is 60 prov ider. Local search application 1702 allows the consumer
needed to exchange information between IP phone 101 and to browse through products and services offered by vendors
the remote repository. Sub layer 1602 includes the interfaces local to a specific geographical region. Sponsored program-
to access operating system services layer 302. For example, ming application 1703 feature advertisements selected based
local data adapter 1604 may access call logs interface 1608 on usage statistics, consumer demographics and other con-
and phonebook interfaces 1609 to make available loc ally 65 s umer information. All three types of applications 1701-1703
stored information to the application code 305 via the CCBS can generate transactions, voice calls and other events that
APIs 308. can be used to augment user profiles
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 40 of 44 PageID 65

US 7,525,955 B2
21 22
A TADS protocol stack 1704 in CCCBS layer 304 imple- 1807, 1808. Application Hosting Services (AHS) application
ments the communication protocols needed to distribute TAs, programming interfac es (A P I s ) 1 8 1 4 prov ide a l l t h e
carry out transactions, and gather TA events. A TADS trans- resources and services the hosted applications 1806, 1807,
action manager 1705 in CCCBS layer 304 uses TADS proto- 1808 and 1809 use. Applications targeted for a broad range of
col stack 1704 to carry out transactions with another transac- 5 domains can share these APIs, therefore reusing the code
tion manager at TADS server 1001. A TADS programming beneath and effectively mak ing t he development c y c le
manager 1706 in CCCBS layer 304 receives and manages shorter.
programming information from TADS server 1001 to sched-
FIG. 19 illustrates an embodiment of the present invention
ule sponsored programming and other advertisements. Appli-
cation Hosting Services (AHS) 1707 provide the environment to o f directory search and advertising services 1900. Referring
needed by third-party applications in layer 5 305 to run. A to FIG. 19, directory search and advertising services 1900
Secure Sockets Layer (SSL) module 1708 in CCCBS layer constitute an example class o f TADS-enabled applications
304 provides secure transport of information between nodes and services that can be built on top of the TADS server side
of the network. and client side software modules and databases. The services
TADS client side elements 1002 services can be shared by 15 ma y be categorized according to baseline directory services
applications targeted for a broad range of domains, therefore 1901, premium listing services 1902, and advertising services
reusing the code that provides the services and effectively 1903. A description of the services that can be offered under
shortening the development cycle of domain-specific appli- each category and how these are supported by converged
cations. communications content distribution platform owner 1204
Application delivery system services architecture 1700 20 (FI G . 12) are described below.
may further include RTOS services 1709 in operating system FIG. 20 illustrates monetizing baseline directory services
services layer 302 whic h is interfaced with platform drivers 1901 (FIG. 19), premium listing services 1902 (FIG. 19) and
and hardware 1710. advertising services 1903 (FIG. 19) in accordance wit h an
FIG. 18 illustrates an embodiment of the present invention embodiment of the present invention.
of an application hosting services ("AHS") architecture 1800 25 R e f e r r i ng to FIGS. 19 and 20, in conjunction with FIGS.
using software platform 300 (FIG. 3) in IP phone 101 (FIGS. 1-3, 11, 12 and 13, baseline directory services 1901 are con-
1-3 and 27). AHS architecture 1800 may be used to facilitate structed f rom existing baseline subscriber merchant 2005
the management of third-party applications operating on plat- directory (contact information) content databases 2003 pro-
form 300 (FIG. 3) of IP phone 101 (FIGS. 1-2 and 27). This vided by content owners 2002. Baseline directory services
includes, but is not limited to: searching for suitable applica- 30
1901 inc lude all end-point views o f said information dis-
tions on the web, downloading host-able applications to the played on the end-user terminals (I P phone 101) and the
target, loading and running applications on the target, security end-user actions that can be performed on the information.
and protection mechanisms to protect other code and data on These services include, but are not limited to, directory que-
the target from malicious applications, and access methods to ries, query results local save, and one-touch communications.
input/output resources of the IP phone 101. 35
Directory query involves the end-user invoking the local
Symbolic reference checker 1805 provides security against
search application on the converged communications termi-
malicious programs by mak ing sure only the appropriate
nal (IP phone 101) and entering the required search informa-
symbols are referenced from the hosted applications. This
tion (e.g., merchant category and desired location). The end-
utility is used before the application is loaded into the target' s
memory. Another security mechanism is to have the applica- 40 us er query is handled by the client protocol engine 1121 and
securely submitted to TADS server protocol engine 1102.
tions run in a special mode where only some of the services
Server returns query results to the end-user terminal 101,
offered by platform 300 are accessible. Hosted application
providing baseline information (including information such
exception handlers 1815 can protect the stability of the load
as merchant name, address, phone numbers, and maps) and
by filtering exceptions based on the task that generates them,
only penalizing the offending hosted application and not the 45 premium lis ting services (see below) for all merchants that
match the query specifications. Settlement manager 1302
whole load. Referring to FIG. 18, disk and memory quotas
logs all actions associated with the served transaction includ-
and other resource usage policies may be enforced by the
ing, for example, the merchants actually viewed by the end-
hosted application resource management modules 1801. lay-
user, the merchants for which the end-user requested more
out manager 1813, task priority manager 1802, memory man-
information, the merchants that were actually contacted by
ager 1803 and disk space manager 1804.
the end-user, and the merchants f o r whic h the end-user
Update engine 1810 provides application search services
responded to premium listing actions. Note that this close-
that allow the IP Phone 101 to find an appropriate hosted
looped environment allows the content distribution platform
application, or an update to an already hosted application, on
owner to use contextual information beyond the query search
another computer system through the use of a network 2704
(FIG. 27). Downloader/installer 1811 provides the services 55 terms provided by the end-user, such as the location of the IP
required to transfer hospitality applications from other com- Phone (residence, hotel, condominium), past end-user usage
patterns (preferences), and demographics to provide higher
puter systems to the persistent storage (FLASH) 2712 or disk
quality search results.
init 2708 of the IP Phone 101. Loading & execution control
1812 implements the services required to load hosted appli- Query results local save involves the end-user selecting one
cation to R A M memory 2714 and to execute or halt such 60 o f baseline or premium listings 1901, 1902, respectively,
applications returned by a directory query and save the associated content
Hosted application A 1806, hosted application B 1807 and information into a local entry in their converged communica-
hosted application C 1808 are example hosted applications. tions terminal (IP phone 101) address book. Settlement Man-
There c ould be several hosted applications running at the ager 1302 logs the transaction.
same time on the IP phone 101 or waiting to be run. A hosted 65 O n e - t o u c h communications involves the end-user select-
applications manager 1809 is an example hosted application ing one of baseline 1901 or premiums 1902 listings returned
used to organize and control other hosted applications 1806, by a directory query and initiates a call v ia the converged
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 41 of 44 PageID 66

US 7,525,955 B2
23 24
communications infrastructure by simply selecting the "one- Advertising services 1903 are constructed from existing
touch" call feature. Settlement manager 1302 logs the trans- merchant directory (contact information) content databases
action. 2003 provided by the content owners 2002 and additional
information prov ided directly by the premium subscriber
Premium listing services 1902 are constructed from exist- 5 merc hants 2006 via the web-based TADS front-end console
ing merchant directory (contact information) content data-
1101 that feeds into the converged communications content
bases provided by the content owners and additional infor-
distribution platform owner 1204. Merchants 1201 may
mation provided directly by the merchants via the web-based
define distribution and level of exposure for an advertisement
TADS front-end console 1101 that feeds into the converged
using criteria such as user demographics, geographical or
communications content distribution platform owner 1204.
lo organizational boundaries and buying history. Advertising
Premium listing services 1902 include, but are not limited to,
services include, but are not limit ed to, the distribution of
top billing (priority placement) of a merchant's contact infor-
wall-paper (digital image rendered on the converged commu-
mation in results provided in response to an end-user query
nications terminal's display) and video advertisements that
(including multimedia content) and no-contact transactions
can be displayed on the end-user terminal (IP phone 101)
(allows end-user to complete a transaction with the merchant
15 based on specific c riteria, inc luding demographics-based
without the need to generate a voice call).
algorithms I n all cases the advertisements would retain a
Top b illin g (priorit y placement) service involves mer- portion of end-user's 1203 terminal display. End-user 1203
chants using TADS front-end console 1101 to subscribe to would have the option of receiving more information on the
this premium lis ting service. Merchants prov ide the con- advertising service or product by simply selecting it via the
verged communications content distribution platform 1204 20 terminal's input interface. These advertisements would be
(FIG. 12) with contextual information required for the plat- scheduled and targeted according to the merchant's instruc-
form to provide merchant priority placement in the presenta- tions. Settlement manager 1302 logs all aspects of the trans-
tion of query results to end-users. The contextual information action.
takes the form of both keyword information associated with FIG. 21 is a flowchart o f a method 2100 f or performing
the merchant's services and end-user demographic informa- 25 contextual searches, as discussed above, in accordance with
tion that the merchant may want included in the determination an embodiment of the present invention. Referring to FIG. 21,
of whether or not top-billing should be provided to its listing. in conjunction with FIGS. 1-3, 11, 13, 17 and 19, in step 2101,
Settlement manager 1302 logs all aspects of the transaction. IP phone 101 receives a command to perform a contextual
Multimedia lis t ing services inv olv es merchants us ing search as well as the search query from the end-user. IP phone
TADS front-end console 1101 to subscribe to this premium 30 101 receives such a command in response to the end-user
listing service. Merchants provide the converged communi- invoking loc al search application 1702 o n the converged
cations content distribution platform 1204 wit h contextual communications terminal (IP phone 101) and entering the
information required for the platform to provide merchant required search information (e.g., merchant category and
priority placement in the presentation o f query results t o desired location). In step 2102, the end-user query is handled
end-users as for the top billing service and provide additional 35 b y client protocol engine 1121 and securely submitted to
multimedia material to be used in accordance to the type of TADS application server 108. I t is implied that a remote
multimedia listing selected by the merchant. For example, the application server 108 will receive the criteria for the contex-
merchant may opt for half-screen or quarter-screen images to tual search, produce results based on them and send the
be used in presenting its lis ting and for specific multimedia results back to the IP phone 101 using a TADS server protocol
presentations to be presented to the end-user if the merchant's 40 engine 1102. In step 2103, IP phone 101 receives the query
listing is selected by the end-user. Settlement manager 1302 results from application server 108 where the query results
logs all aspects of the transaction. provide baseline directory services 1901 (including informa-
No contact c all services involve merchants using TADS tion such as merchant name, address, phone numbers, and
front-end console 1101 to enable no contact call service func- maps) and premium listing services 1902 for all merchants
tionality f or its premium listings. I f an end-user selects a 45 t hat match the query specifications. In step 2104, settlement
listing with no-contact call service functionality, the TADS manager 1304 logs all actions associated wit h the served
server 1001 manages the request by prompting the end-user to transaction including, f or example, the merchants actually
provide, v ia the converged communication terminals (I P viewed by the end-user, the merchants for which the end-user
phone 101) input interface, to provide all required informa- requested more information, the merchants that were actually
tion to complete a transaction according to the vendor 50 contacted by the end-user, and the merchants for which the
requirements. Information is then transferred to the merchant end-user responded to premium listing actions. In step 2105,
without further end-user intervention (e.g., via e-mail or syn- the end-user selects either baseline or premium services 1901,
thesized voice message). Upon receipt o f the request the 1902, respectively, for the merchant of interest and proceeds
merchant takes the appropriate action. For example, a pre- according to the nature of the listing.
mium pizzeria's lis t ing c ould prompt the us er t o select 55 I t is noted that method 2100 may include other and/or
amongst a variety of offers. The user would provide the additional steps that, for clarity, are not depicted. It is further
required information pertaining to the offers (for example, noted that method 2100 may be executed in a different order
pizza size, toppings, crust, etc.) and the converged commu- than presented and that the order presented in the discussion
nications content distribution platform owner 1204 would of FIG. 21 is illustrative. It is further noted that certain steps
relay the information to the merchant. There would be no so i n method 2100 may be executed in a substantially simulta-
need for the end-user to provide address, phone number, and neous manner.
payment information since a ll o f this information would FIG. 22 is a flowchart of a method 2200 for performing a
already be available to the converged communications con- local save, as discussed above, in accordance with an embodi-
tent distribution platform owner 1204 through its relationship ment of the present invention. Referring to FIG. 22, in con-
wit h the converged communications infrastructure service 65 junc t ion wit h FIGS. 1-3, 11, 13 and 16. in step 2201, the
provider 2007 and content distribution platform owner 1204. end-user selects a query result. I n step 2202, the content
Settlement manager 1302 logs all aspects of the transaction. information associated wit h the query result is stored as a
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 42 of 44 PageID 67

US 7,525,955 B2
25 26
local entry in IP phone's 101 phonebook interface 1609. In step 2403, settlement manager 1302 logs all actions associ-
step 2203, settlement manager 1302 logs all actions associ- ated with the served transaction.
ated wit h the served transaction. For example, the end-user It is noted that method 2400 may include other and/or
searches for a service establishment by providing information additional steps that, for clarity, are not depicted. It is further
such as the type of service establishment and the location and 5 n o t e d that method 2400 may be executed in a different order
submitting the query to phonebook interface 1609. The server presented and that the order presented in the discussion of
processes the query and returns various options to the end- FIG. 24 is illustrative. It is further noted that certain steps in
user. For each option. the merchant's name and relevant con- method 2400 may be executed in a substantially simultaneous
manner.
tact information is provided, as is the option to save the
merchant's information into the end-users' I P phone local to F I G . 25 is a flowchart o f a method 2500 to enable no
directory. The end-user, by selecting the local save option for contact call service functionality for its premium listings, as
a merchant of interest, will save the merchant's contact infor- discussed above, in accordance with an embodiment of the
mation into the IP phone's local (on-phone) phonebook inter- present invention. Referring to FIG. 25, in conjunction with
face 1609. FIGS. 1-3, 11, 13, 19 and 20, in step 2501, merchants use
15 front-end console 1101 to enable the no contact call service.
It is noted that method 2200 may include other and/or
In step 2502, the end-user selects a query result with the no
additional steps that. for clarity, are not depicted. It is further
contact call service functionality. In step 2503, TADS server
noted that method 2200 may be executed in a different order
1001 manages the request by prompting the end-user to pro-
than presented and that the order presented in the discussion
vide, v ia the converged communication terminal's input
of FIG. 22 is illustrative. It is further noted that certain steps
in method 2200 may be executed in a substantially simulta- 20 interface (interface to IP phone 101), to provide all required
neous manner. information to complete a transaction according to the ven-
dor's requirements. I n step 2504, the information is then
FIG. 23 is a flowchart o f a method 2300 for performing transferred to the merchant without further end-user interven-
one-touch calls, as discussed above, in accordance with an tion, e.g., e-mail or synthesized voice message. In step 2505,
embodiment of the present invention. Referring to FIG. 23, in 25 upon receipt of the request, the merchant takes the appropri-
conjunction wit h FIGS. 1-3, 11 and 13, in step 2301, the ate action. For example, a premium pizzeria's lis ting could
end-user selects the query's result "one-touch" feature (ex- prompt the user to select amongst a variety of offers. The user
ample of a feature that can be part of premium listing services would provide the required information pertaining to the
1902). I n step 2302. IP phone 101 initiates a c all v ia the offers, e.g., pizza size, toppings, crust, and converged com-
corresponding infrastructure, e.g., wireles s network 114, 30 munications content distribution platform owner 2001 would
voice network 103, data network 102. In step 2303, settlement relay the information to the merchant. There would be no
manager 13024 logs all actions associated wit h the served need for the end-user to provide an address, a phone number
transaction.
and payment information since all of this information would
It is noted that method 2300 may inc lude other and/or already be available to converged communications content
additional steps that. for clarity, are not depicted. It is further 35 dis tribution platform owner 2001 through its relationship
noted that method 2300 may be executed in a different order wit h the converged communications infrastructure service
than presented and that the order presented in the discussion provider customer database that is part of the service provid-
of FIG. 23 is illustrative. It is further noted that certain steps er's communication infrastructure 2007. In step 2506, settle-
in method 2300 may be executed in a substantially simulta- ment manager 1302 logs all actions associated with the served
neous manner. 40 transaction. In step 2507. merchant performs the service.
FIG. 24 is a flowchart o f a method 2400 f or scheduling It is noted that method 2500 may include other and/or
advertisements, as discussed above, in accordance wit h an additional steps that, for clarity, are not depicted. It is further
embodiment of the present invention. Referring to FIG. 24, in noted that method 2500 may be executed in a different order
conjunction wit h FIGS. 1-3, 11, 13 and 19, in step 2401, than presented and that the order presented in the discussion
merchants use front-end console 1101 to provide content for 45 o f FIG. 25 is illustrative. It is further noted that certain steps
advertising services. For example, merchants may use TADS in method 2500 may be executed in a substantially simulta-
front-end console 1101 to subscribe to premium listing ser- neous manner.
vices 1902. In step 2402, merchants define distribution and FIG. 26 is an embodiment of the present invention, illus -
level of exposure for advertisements. For example, merchants trative o f a domain-specific applic ation f or the enterprise
provide TADS wit h contextual information required for the 50 environment, of the interaction between IP phone 101 and a
platform to provide merchant priority placement in the pre- voting application server 2601 used in implementing a voting
sentation of query results to end-users. The contextual infor- booth application. Referring to FIG. 26, in conjunction with
mation takes the form of both keyword information associ- FIGS. 1-3, a voting booth application makes it possible to
ated with the merchant's services and end-user demographic hold voting sessions on an arbitrary number of issues with an
information that the merchant may want included in the deter- 55 arbitrary number of voters. A client application hosted by
mination of whether or not top-billing should be provided to platform 300 consults with a central server to get the infor-
its listing. Further, merchants provide TADS with contextual mation to be voted on and presents it to the user via a voting
information required for platform 300 to provide merchant client user interface 2610. The user can choose yes, no, or
priority placement in the presentation o f query results t o abstain on each issue included in the voting session. When the
end-users as for premium listing services 1902 and provide 60 us er has finished mak ing selections, the votes are sent to
additional multimedia material to be used in accordance to server 2601, whic h in turn saves all of them into a database
the type of multimedia material to be used in accordance to 2606. Several reports can be made wit h the data using the
the type of multimedia listing selected by the merchant. For normal DBMS methods.
example, the merchant may opt for half-screen or quarter- FIG. 26 illustrates client and server parts of the application
screen images to be used in presenting its lis ting and for 65 a n d the data path between its cooperating modules. Client and
specific multimedia presentations to be presented to the end- server entities 101, 2601, respectively, communicate wit h
user if the merchant's lis ting is selected by the end-user. In each other using their voting communication protocol mod-
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 43 of 44 PageID 68

US 7,525,955 B2
27 28
ules 2602, 2603, respectively. Voting session coordinator circuitry f or initiating a telephone c all to s aid selected
module 2604 controls voting sessions with all clients through merchant via one of a wireless network, a voice network,
their voting control logic module 2605 and aggregates vote a public switched telephone network and a data network.
information into database 2606 using a database exporter 7. The system as recited in claim 1, wherein said merchants
module 2607. A web server 2608 then builds reports from the 5 i n said list of merchants select one of a plurality of advertising
database on demand. A voting session viewing module 2609 services, wherein each of said plurality of advertising ser-
lets an administrator supervise the voting process. vices provides a different level of advertising exposure.
Although the method, computer program product and sys- 8. The system as recited in claim 7, wherein said different
tem are described in connection with several embodiments, it levels of advertising exposure comprise a different amount of
is not intended to be limited to the specific forms set forth io contextual information presented to a user of said IP phone.
herein, but on the contrary, it is intended to cover such alter- 9. A method f or performing contextual searches on an
natives, modifications and equivalents, as can be reasonably Internet Phone (IP) phone comprising the steps of:
included within the spirit and scope of the invention as receiving a command to perform a contextual search;
defined by the appended claims. receiving search criteria from a user of said IP phone;
What is claimed is: 15 s u b m i t t i n g said search criteria to a server coupled to said IP
1. A system, comprising: phone; and
an Internet Protocol (IP) phone coupled to a server, receiving from said server a list of merchants matching said
wherein said IP phone is configured to receive contextual search criteria and information regarding each of said
information from said server, wherein said IP phone merchants in said list;
comprises: 20 w h e r e i n said information received by said user comprises a
a memory unit operable for storing a computer program variety of offers, wherein said user selects one of said
for performing contextual searches; variety of offers associated with said one of said mer-
a processor coupled to said memory unit, wherein said chants listed, wherein said selected offer is transmitted
processor, responsive t o s aid c omputer program, to said one of said merchants listed electronically; and
comprises: 25 wh e r e i n said user's contact and payment information is not
circuitry for receiving a command to perform a contex- transmitted to said one of said merchants listed, wherein
tual search; said user's contact and payment information is available
circuitry for receiving search criteria; to said one of said merchants listed.
circuitry f o r s ubmitting s aid search c riteria t o s aid 10. The method as recited in claim 9 further comprising the
server; and 30 s tep of:
circuitry f or receiving f rom said server a lis t o f mer- logging actions of said user associated with viewing said
chants matching said search criteria and information list of merchants and contacting said merchants in said
regarding each of said merchants in said list; list.
wherein a user of said IP phone completes a transaction 11. The method as recited in claim 9, wherein said search
wit h at least one o f said merchants listed without the 35 c riteria comprises a location and a type of service establish-
need to generate a voice call; ment.
wherein said information received by said user of said IP 12. The method as recited in claim 9, wherein said infor-
phone comprises a variety of offers, wherein said user mation regarding each of said merchants in said list comprises
selects one of said variety of offers associated with said a name and contact information.
one of said merchants listed, wherein said selected offer 40 1 3 . The method as recited in claim 12 further comprising
is transmitted to said one of said merchants listed elec- the step of:
tronically; and storing said information on one of said merchants in said
wherein said user's contact and payment information is not list selected by said user in a directory in said IP phone.
transmitted to said one of said merchants listed, wherein 14. The method as recited in claim 12, wherein said contact
said user's contact and payment information is available 45 inf ormat ion comprises a telephone number, wherein the
to said one of said merchants listed. method further comprises the steps of:
2. The system as recited in claim 1, wherein said server is receiving a selection of said telephone number associated
configured to log actions of a user associated with viewing with one of said merchants in said list selected by said
said list of merchants and contacting said merchants in said user; and
list. 50 i n i t i a t i n g a telephone call to said selected merchant via one
3. The system as recited in c laim 1, wherein said search of a wireles s network , a v oic e network , a public
criteria comprises a location and a type of service establish- switched telephone network and a data network.
ment. 15. The method as recited in c laim 9, wherein said mer-
4. The system as recited in claim 1, wherein said informa- chants in said list of merchants select one of a plurality of
tion regarding each of said merchants in said list comprises a 55 adv ertis ing services, wherein each of said plurality of adver-
name and contact information. tising services provides a different level of advertising expo-
5. The system as recited in claim 4, wherein said processor sure.
further comprises: 16. The method as recited in claim 15, wherein said differ-
circuitry for storing said information on one of said mer- ent lev els o f advertising exposure comprise a different
chants in said list selected by a user of said IP phone in 60 amount of contextual information presented to said user.
a directory in said IP phone. 17. A tangible computer readable medium encoded with
6. The system as recited in claim 4, wherein said contact computer program for performing contextual searches on an
information comprises a telephone number, wherein said pro- Internet Phone (IP) phone comprising the steps of:
cessor further comprises: receiving a command to perform a contextual search;
circuitry for receiving a selection of said telephone number 65 r e c e i v i n g search criteria from a user of said IP phone;
associated wit h one o f said merchants i n s aid lis t submitting said search criteria to a server coupled to said IP
selected by a user of said IP phone; and phone; and
Case 3:11-cv-00651-N Document 1-1 Filed 03/30/11 Page 44 of 44 PageID 69

US 7,525,955 B2
29 30
receiving from said server a list of merchants matching said wherein said information regarding each of said merchants in
search criteria and information regarding each of said said list comprises a name and contact information.
merchants in said list; 21. A tangible computer readable medium encoded with
wherein said user completes a transaction with at least one computer program as recited in claim 20 further comprising
of said merchants listed without the need to generate a 5 t h e programming step of:
voice call; storing said information on one of said merchants in said
wherein said information received by said user comprises a list selected by said user in a directory in said IP phone.
variety of offers, wherein said user selects one of said 22. A tangible computer readable medium encoded with
variety of offers associated with said one of said mer- program as recited in claim 20, wherein said contact infor-
chants listed, wherein said selected offer is transmitted lo mat ion comprises a telephone number, wherein the computer
to said one of said merchants listed electronically: and program further comprises the programming steps of:
wherein said user's contact and payment information is not receiving a selection of said telephone number associated
transmitted to said one of said merchants listed, wherein with one of said merchants in said list selected by said
said user's contact and payment information is available user; and
to said one of said merchants listed. 15 i n i t i a t i n g a telephone call to said selected merchant via one
of a wireles s network , a v oic e network , a public
18. A tangible computer readable medium encoded with
switched telephone network and a data network.
computer program as recited in claim 17, wherein said server
23. A tangible computer readable medium encoded with
is configured to log actions of a user associated with viewing
computer program as recited in claim 17. wherein said mer-
said list of merchants and contacting said merchants in said
list. 20 chants in said lis t of merchants select one of a plurality of
advertising services, wherein each of said plurality of adver-
19. A tangible computer readable medium encoded with tising services provides a different level of advertising expo-
computer program as recited in claim 17, wherein said search sure.
criteria comprises a location and a type of service establish- 24. A tangible computer readable medium encoded with
ment.
25 c omputer program as recited in claim 23. wherein said dif-
20. A tangible computer readable medium encoded with ferent level o f advertising exposure comprises a different
computer program as recited in claim 17, wherein said infor- amount of contextual information presented to said user.
mation regarding each of said merchants in said list comprises
a name and contact information, as recited in c laim 17,

Das könnte Ihnen auch gefallen