U.S. patent application number 11/669589 was filed with the patent office on 2007-06-07 for system, method and device for providing secondary information to a communication device.
Invention is credited to L. Scott Bloebaum, Charles Liu, Per-Ake Minborg.
Application Number | 20070129074 11/669589 |
Document ID | / |
Family ID | 39708744 |
Filed Date | 2007-06-07 |
United States Patent
Application |
20070129074 |
Kind Code |
A1 |
Bloebaum; L. Scott ; et
al. |
June 7, 2007 |
System, Method and Device For Providing Secondary Information To A
Communication Device
Abstract
A system, method and device for providing secondary information
to a communication device are disclosed. The method may include the
steps of (1) receiving at least one user preference; (2) engaging
in a primary communication with a first data source via a first
communication channel; (3) scanning the primary communication for a
match with the user preference; (4) requesting a data object
corresponding to the matched user preference from a server via a
second communication channel; and (5) receiving the requested data
object. The sever may be a phonepage server. According to another
embodiment, the system includes a server, which may comprise a
phonepage server, and a communication device configured to engage
in a primary communication via a first communication channel. The
communication device may include a software object that is
configured to store at least one user preference, scan the primary
communication for a match with the user preference, initiate a
triggering event; and requests a data object corresponding to the
matched user preference from the server via a second communication
channel. The communication device may include a communiction unit
for communicating with a data source via a first communication
channel and a server via a second communication channel; a
preference application that receives at least one user preference;
a scanning application that scans the primary communication for a
match with the user preference and initiates a triggering event in
response to a match; and a request application that requests a data
object in response to the match via the second communication
channel.
Inventors: |
Bloebaum; L. Scott; (Cary,
NC) ; Liu; Charles; (Chapel Hill, NC) ;
Minborg; Per-Ake; (Valebergsvagen, SE) |
Correspondence
Address: |
HUNTON & WILLIAMS, LLP/;SONY ERICSSON MOBILE COMMUNICATIONS (USA), INC.
1900 K STREET, N.W.
SUITE 1200
WASHINGTON
DC
20006-1109
US
|
Family ID: |
39708744 |
Appl. No.: |
11/669589 |
Filed: |
January 31, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11272059 |
Nov 14, 2005 |
|
|
|
11669589 |
Jan 31, 2007 |
|
|
|
09906621 |
Jul 18, 2001 |
6977909 |
|
|
11272059 |
Nov 14, 2005 |
|
|
|
09644307 |
Aug 23, 2000 |
6996072 |
|
|
09906621 |
Jul 18, 2001 |
|
|
|
11140742 |
Jun 1, 2005 |
|
|
|
11669589 |
Jan 31, 2007 |
|
|
|
09686990 |
Oct 17, 2000 |
6922721 |
|
|
11140742 |
Jun 1, 2005 |
|
|
|
60176806 |
Jan 19, 2000 |
|
|
|
Current U.S.
Class: |
455/434 |
Current CPC
Class: |
H04L 67/04 20130101;
H04M 3/42076 20130101; H04L 67/02 20130101; H04M 3/42119
20130101 |
Class at
Publication: |
455/434 |
International
Class: |
H04Q 7/20 20060101
H04Q007/20 |
Claims
1. A method for providing secondary information to a communication
device comprising: receiving at least one user preference; engaging
in a primary communication with a first data source via a first
communication channel; scanning the primary communication for a
match with the user preference; requesting a data object
corresponding to the matched user preference from a server via a
second communication channel; and receiving the requested data
object.
2. The method of claim 1, wherein the server comprises a phonepage
server.
3. The method of claim 1, wherein the step of receiving at least
one user preference comprises receiving the at least one user
preference entered by a user.
4. The method of claim 1, wherein the step of receiving at least
one user preference comprises downloading the at least one user
preference over a network.
5. The method of claim 1, wherein the primary communication is one
of a voice communication and a data communication.
6. The method of claim 5, wherein the data communication comprises
at least one of an audio stream, a video stream, and a text
message.
7. The method of claim 1, wherein the step of scanning the primary
communication for a match with the user preference comprises:
scanning metadata of the primary communication for a match with the
user preference.
8. The method of claim 1, wherein the step of scanning the primary
communication for a match with the user preference comprises:
scanning renderable content of the primary communication for a
match with the user preference.
9. The method of claim 8, wherein the step of scanning renderable
content of the primary communication for a match with the user
preference comprises: using at least one of an image recognition
algorithm and an audio recognition algorithm to identify the match
with the user preference.
10. The method of claim 1, wherein the step of requesting the data
object from a phonepage server via a second communication channel
comprises: identifying a data object to be retrieved.
11. The method of claim 10, wherein the step of requesting the data
object from a phonepage server via a second communication channel
comprises: identifying a location for the data object to be
retrieved.
12. The method of claim 1, wherein the step of requesting the data
object from a phonepage server via a second communication channel
comprises: providing requirements for a data object to be
retrieved, the requirements including at least one of the
information identifying the content of the primary communication
and the matched user preference.
13. A system for providing secondary information to a communication
device comprising: a first communication device, the first
communication device comprising a memory and a scanning
application, wherein the memory stores at least one user
preference; a first data source; a server; a second data source;
and a communication network to establish a primary communication
via a first communication channel between the first communication
device and the first data source, a secondary communication between
the first communication device and the server via a second
communication channel, and a third communication between the server
and the second data source; wherein the scanning application scans
the primary communication for a match with the user preferences,
said match generating a triggering event that causes a data object
to be requested from the server; the server determines a location
for the data object, and requests the data object from the second
data source; and the second data source provides the data object to
at least one of the server and the first communication device.
14. The system of claim 13, wherein the server comprises a
phonepage server.
15. The system of claim 13, wherein the primary communication is
one of a voice communication and a data communication.
16. The system of claim 15, wherein the data communication
comprises at least one of an audio stream, a video stream, and a
text message
17. The system of claim 13, wherein the scanning application scans
metadata of the primary communication for a match with the user
preference.
18. The system of claim 13, wherein the scanning application scans
renderable content of the primary communication for a match with
the user preference.
19. The system of claim 18, wherein the scanning application scans
renderable content of the primary communication for a match with
the user preference using at least one of an image recognition
algorithm and an audio recognition algorithm.
20. The system of claim 13, wherein the first communication device
further comprises a request application that responds to the
triggering event by requesting the data object from the server.
21. A system for providing secondary information to a communication
device comprising: a server; a communication device configured to
engage in a primary communication via a first communication
channel; the communication device having a software object embedded
therein, the software object being configured to: store at least
one user preference; scan the primary communication for a match
with the user preferences initiate a triggering event; and requests
a data object corresponding to the matched user preference from the
server via a second communication channel.
22. The system of claim 21, wherein the server comprises a
phonepage server.
23. A communication device for receiving secondary information
related to a primary communication comprising: a communications
unit for communicating with a data source via a first communication
channel and a server via a second communication channel; a
preference application that receives at least one user preference;
a scanning application that scans the primary communication for a
match with the user preference; and a request application that
requests a data object in response to the match via the second
communication channel.
24. The communication device of claim 23, wherein the server
comprises a phonepage server.
25. The communication device of claim 23, wherein the primary
communication is one of a voice communication and a data
communication.
26. The communication device of claim 25, wherein the data
communication comprises at least one of an audio stream, a video
stream, and a text message.
27. The communication device of claim 23, wherein the scanning
application scans metadata of the primary communication for a match
with the user preference.
28. The communication device of claim 23, wherein the scanning
application scans renderable content of the primary communication
for a match with the user preference.
29. The communication device of claim 28, wherein the scanning
application uses at least one of an image recognition algorithm and
an audio recognition algorithm.
30. A downloadable application or module for receiving secondary
information related to a primary communication to a user of a
communication device, the downloadable application or module being
stored on a computer-readable media executable to perform: scanning
the primary communication for a match with a user preference;
generating a triggering event that causes the a data object to be
requested from a server; and receiving the requested data
object.
31. The downloadable application or module of claim 30, wherein the
requested data object corresponds to the matched user
preference.
32. The downloadable application or module of claim 32, further
comprising: requesting the requested data object from the server in
response to the triggering event.
33. The downloadable application or module of claim 32, wherein the
step of requesting the requested data object from the server in
response to the triggering event further comprises: providing
requirements for the requested data object, the requirements
including at least one of the information identifying the content
of the primary communication and the matched user preference.
Description
RELATED APPLICATIONS
[0001] The present application claims priority under 35 U.S.C.
Section 120 as a continuation-in-part of U.S. application Ser. No.
11/272,059, filed Nov. 14, 2005, Attorney Docket 57926.000011,
entitled "System and Method for Exchange of Information in a
Communication Network," which is a continuation of Ser. No.
09/906,621, filed Jul. 18, 2001, Attorney Docket 57926.000008,
entitled "System and Method for Exchange of Information in a
Communication Network," and which issued on Dec. 20, 2005 as U.S.
Pat. No. 6,977,909, and which is a continuation-in-part of
application Ser. No. 09/644,307, filed Aug. 23, 2000, Attorney
Docket 57926.000002, entitled "Method and Apparatus for Exchange of
Information in a Communication Network," and which issued on Feb.
7, 2006 as U.S. Pat. No. 6,996,072, and which asserted priority
under 35 U.S.C. Section 119 to U.S. Prov. App. Ser. No. 60/176,806,
filed Jan. 19, 2000. Each of the aforementioned applications and
patents is hereby incorporated by reference in its entirety.
[0002] The present application also claims priority under 35 U.S.C.
Section 120 as a continuation-in-part of U.S. application Ser. No.
11/140,742, filed Jun. 1, 2005, Attorney Docket 57926.000009,
entitled "Exchange of Information in a Communication System," which
is a continuation of Ser. No. 09/686,990, filed Oct. 17, 2000,
Attorney Docket 57926.000005, entitled "Exchange of Information in
a Communication System," and which issued on Jul. 26, 2005 as U.S.
Pat. No. 6,922,721. Each of the aforementioned applications and
patents is hereby incorporated by reference in its entirety."
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] The present invention relates generally to retrieving
information for device in a communications network. More
specifically, the invention relates to a system, method and device
for providing secondary information to a communication device.
[0005] 2. Description of the Related Art
[0006] The present evolution of data-communication is such that
more and more users gain access to the Internet worldwide. The
Internet has become both a source of knowledge but also a
marketplace for business, and it is attracting more and more users.
Currently there is a high pressure on the data-communications
industry to provide solutions that allow everyone to gain access to
Internet. Broadband solutions are continuously developed and both
local as well as national access networks are planned and launched.
The presently most common method of modem access through the
telecommunications network (e.g., the Public Switched
Telecommunication Network, PSTN provider) is being replaced by
other ways of access with a possibility to higher data rates, e.g.,
through electric power and cable TV providers.
[0007] At the same time, the telecommunications industry is
struggling another battle; that of providing mobility to each and
every user. Traditionally, telecommunication has been focused on
voice communication. With the increase of data communication
however, other demands are arising (e.g., higher data rate
transfer), but also new possibilities. Evolutions of mobile systems
are presently in a period when more and more packet-based systems
will be deployed. Packet switched systems have, in contrast to
circuit switched systems, certain advantages when it comes to
transfer of data-communication. In a packet switched system, a user
is only utilizing a transmission resource when system control
signaling or user information is transmitted. In a circuit switched
system, a user is allocated a transmission resource continuously,
even though no current transfer is active. Circuit switched systems
have some obvious advantages in real-time voice communication,
since it is difficult to predict the communication. For
data-communication, it is not as important to predict the
transmission resources required, since the demands on delay and
delay variations are not as crucial to the communication quality as
for voice. It is therefore possible to allow more users onto the
transmission resources by allowing usage thereof only when there is
something to transmit and leave the channel available for
additional users otherwise.
[0008] One such system is the packet data evolution of the mobile
communication system pursuant to the ETSI GSM specification, called
General Packet Radio Service (GPRS). With GPRS, higher bit rates
and more users may be allowed than what is possible today, when
data communication is deployed on a circuit switched channel. GPRS
is a step towards mobility for data communication users, in
contrast to GSM, which is optimized for mobility for "traditional"
telecommunication users, i.e., real-time voice communication
users.
[0009] The data-communication run over the telecommunications
networks today is usually initiated by an access to an Internet- or
a mail server. A user logs on to a distant server and accesses the
data-communications network through, e.g., modem pools. The user
dials up the modem pool and is therefore connected to a server,
from which access can be made to both local as well as global
networks. Browsers like e.g., Microsoft Explorer or Netscape
Navigator are used to navigate on the Internet and switch between
Internet pages or addresses. Users and institutions usually design
their own data objects, or homepages, on an internal or external
network that provides personal information or any other kind of
information. Once connected to the data network a user may access
these data objects by entering the correct address. The address is
often selected by combining a node name in the network (e.g.,
server name) and an arbitrary text-string. Typically, it is not
trivial to find a desired data object, since the text strings and
server names are not obvious.
[0010] Addressing in a telecommunications network, e.g, when
engaging in a voice communication is usually performed by entering
a telephone number on a User Equipment (UE), like a mobile
telephone. A telephone number is a world-wide, unique addressing
string. A calling party (A-party) dials the addressing string
(B-number) to the called party (B-party). Dependent on what type of
network the A-party is a subscriber on, the call request is routed
through one or several public telecommunication networks to the
correct addressee and the communication may begin.
[0011] The above principle also applies when a user wishes to
connect to the Internet from a computer connected to a
telecommunications network. The user connects to a
data-communications network by dialing a B-number to a modem pool,
from which accessing the data-communications network is possible.
There are no information or interaction possibilities with the
called server other than this access opportunity.
[0012] Applicants have identified that there is a problem in the
present way of accessing the Internet for specific data objects
because of the non-obvious way of addressing data objects. There is
further a need in the telecommunications industry to provide a
simpler way of accessing the Internet and to guide a user by other
means than a modem number to call, from where the user is left on
her own to be further guided to the desired homepage or data
object.
SUMMARY OF THE INVENTION
[0013] A system, method and device for providing secondary
information to a communication device are disclosed. According to
one embodiment, a method for providing secondary information to a
communication device comprises the steps of (1) receiving at least
one user preference; (2) engaging in a primary communication with a
first data source via a first communication channel; (3) scanning
the primary communication for a match with the user preference; (4)
requesting a data object corresponding to the matched user
preference from a server via a second communication channel; and
(5) receiving the requested data object. The sever may be a
phonepage server.
[0014] According to another embodiment of the present invention, a
system for providing secondary information to a communication
device is disclosed. The system includes a first user equipment
that comprises a scanning application and a memory that stores at
least one user preference. The system further includes a first data
source; a second data source; a server, which may be a phonepage
server; and a communication network. The communication network is
used to establish a primary communication via a first communication
channel between the first user equipment and the first data source,
a secondary communication between the first user equipment and the
server via a second communication channel, and a third
communication between the server and the second data source. The
scanning application scans the primary communication for a match
with the user preferences and initiates a triggering event in
response to a match, the triggering event causing the data object
to be requested from the server. The server determines a location
for the data object, and requests the data object from the second
data source. The second data source provides the data object to at
least one of the server and the first user equipment.
[0015] According to still another embodiment of the present
invention, a system for providing secondary information to a
communication device is disclosed. The system includes a server,
which may comprise a phonepage server, and a communication device
configured to engage in a primary communication via a first
communication channel. The communication device may include a
software object that is configured to store at least one user
preference, scan the primary communication for a match with the
user preference, initiate a triggering event; and requests a data
object corresponding to the matched user preference from the server
via a second communication channel.
[0016] According to another embodiment of the present invention, a
communication device for receiving secondary information related to
a primary communication is disclosed The communication device may
include a communication unit for communicating with a data source
via a first communication channel and a server via a second
communication channel; a preference application that receives at
least one user preference; a scanning application that scans the
primary communication for a match with the user preference and
initiates a triggering event in response to a match; and a request
application that requests a data object in response to the match
via the second communication channel.
[0017] According to another embodiment of the present invention, a
downloadable application or module for receiving secondary
information related to a primary communication to a user of a
communication device is disclosed. The downloadable application or
module may be stored on a computer-readable media and is executable
to perform (1) scanning the primary communication for a match with
a user preference; (2) generating a triggering event that causes
the a data object to be requested from a server; and (3) receiving
the requested data object. The requested data object corresponds to
the matched user preference. The downloadable application or module
may also perform requesting the requested data object from the
server in response to the triggering event; and providing
requirements for the requested data object, the requirements
including at least one of the information identifying the content
of the primary communication and the matched user preference.
[0018] The server may be a phonepage server. The user preference
may be entered by a user, or it may be downloaded over a network.
The primary communication may be a voice communication or a data
communication, including an audio stream, a video stream, and a
text message.
[0019] The scanning application may scan metadata of the primary
communication for a match with the user preference or may scan
renderable content of the primary communication for a match with
the user preference. The scanning application may use an image
recognition algorithm and/or an audio recognition algorithm to scan
the renderable content of the primary communication.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The invention will now be more thoroughly described and
features and advantages will become readily apparent by reading the
following detailed description, where references will be made to
the accompanying figures, where:
[0021] FIG. 1 illustrates an overview of a communication
infrastructure overview according to one embodiment of the
invention;
[0022] FIG. 2 illustrates a first flow diagram of a subscriber
interaction in an A-party UE according to one embodiment of the
present invention;
[0023] FIG. 3 illustrates a first flow diagram of a subscriber
interaction in a data server according to one embodiment of the
present invention;
[0024] FIG. 4 illustrates a second flow diagram of a subscriber
interaction in an A-party UE according to an embodiment of the
present invention, when data and voice communications can be
conducted simultaneously;
[0025] FIG. 5 illustrates a case when event detection has been
implemented in a terminal;
[0026] FIG. 6 illustrates how a phonepage is registered with a root
PNS;
[0027] FIG. 7 illustrates how a phonepage is removed and
unregistered with a root PNS;
[0028] FIG. 8 illustrates how a PWS performs a status request;
[0029] FIG. 9 illustrates a third flow diagram of a subscriber
interaction in an A-party UE according to another embodiment of the
present invention, when data and voice communications can not be
conducted simultaneously;
[0030] FIG. 10 illustrates a flow diagram of a subscriber
interaction in a B-party UE according to an embodiment of the
present invention;
[0031] FIG. 11 illustrates an exemplary block diagram of a UE
according to one embodiment of the invention;
[0032] FIG. 12 illustrates a block diagram of a data object server
in a data network according to one embodiment of the invention;
[0033] FIG. 13 illustrates a flow diagram of B-number indication
procedure according to one embodiment of the present invention;
[0034] FIG. 14 illustrates a flow diagram of A-number indication
procedure according to one embodiment of the present invention;
[0035] FIG. 15 illustrates an exemplary block diagram of a UE where
the UE is connected to a fixed network according to one embodiment
of the invention;
[0036] FIG. 16 illustrates an exemplary block diagram of a UE where
the UE consists of a PDA and a mobile phone according to one
embodiment of the invention;
[0037] FIG. 17 illustrates a signaling overview of a client
initiated launch WAP browser solution;
[0038] FIG. 18 illustrates a signaling overview of a push initiated
launch WAP browser solution;
[0039] FIG. 19 illustrates a signaling overview of a push initiated
launch STK micro browser solution;
[0040] FIG. 20 illustrates a signaling overview of a client
initiated launch STK micro browser solution;
[0041] FIG. 21 illustrates a signaling scheme of a phone page
redirection scheme;
[0042] FIG. 22 illustrates a signaling scheme of a phone page
dispatch scheme;
[0043] FIG. 23A-C illustrate a signaling scheme of call handling
sequence between two GSM/GPRS, class A, PMTs with phone page
functionality.
[0044] FIG. 24 illustrates a system for providing secondary
information to a communication device according to one embodiment
of the present invention;
[0045] FIG. 25 illustrates an exemplary block diagram of a UE
according to another embodiment of the invention;
[0046] FIG. 26 illustrates a flowchart depicting a method for
providing secondary information to a communication device according
to one embodiment of the present invention.
DETAILED DESCRIPTION
[0047] First a network overview. The present invention will now be
described with references to a telecommunications system based on
GSM as a circuit switched communication system and GPRS as a packet
switched communications system. It should however be noted that the
embodiments described are to be considered exemplary and that other
packet and circuit switched systems may equally well be considered,
both fixed- as well as mobile- and with any access technology,
e.g., Time Division Multiple Access (TDMA), Code Division Multiple
Access (CDMA), Frequency Division Multiple Access (FDMA),
Orthogonal Frequency Division Multiple Access (OFDMA), Time
Division Duplex (TDD), Frequency Division Duplex (FDD) or any
combinations thereof. The invention is not restricted to any
specific type of communications network or access technology.
[0048] FIG. 1 illustrates a communication infrastructure overview,
10, where a number of different communication networks are
interconnected. FIG. 1 includes both nodes included in a Circuit
Switched (CS) mobile communication network, e.g., a Mobile
Switching Center (MSC), 118, and Base Station Subsystem (BSS), 112,
as well as nodes included in a Packet Switched (PS) mobile
communication network, e.g., Serving GPRS Support Node (SGSN), 114
and a Gateway GPRS Support Node (GGSN), 116. Typically, the SGSN
includes functionality such as re-segmenting data packets according
to one protocol into data packets according to protocols used over
the air interface. The SGSN also includes control mechanisms for
one or several BSS, 112 as well as Quality of Service (QoS)
mechanisms. The GGSN includes functionality required to maintain
communication between a mobile packet data network and other packet
data networks, e.g., data network 120. The CS part of the network
connects to a PSTN network, 140, and the PS part of the network
connects to a data network, 120. The data network may be both an
external or internal network, i.e., with global or limited access
possibilities. As shown, the PS and CS parts of the network may
also be interconnected by way of an interface between the MSC, 118
and the SGSN, 114. The BSS, 112, may serve both the PS as well as
the CS part of the network with packet switched (161) as well as
circuit switched (162) communication resources over the air, to
provide mobility to both PS and CS service users and their User
Equipment (UE), 100. The UE, 100, may for example be a mobile
telephone or a mobile telephone connected to any kind of data
equipment, e.g., Personal Digital Assistance Devices (PDA) or
laptop computer. The PSTN, 140, provide users (user devices)
connected to the fixed network with service, e.g., to "plain old
telephones" (POTs), facsimile or data modem devices, 150. Other
examples of devices connected directly or indirectly to the PSTN,
140, are ISDN terminals and communication devices connected via a
Digital Subscriber line (DSL) (e.g., ADSL, HDSL and XDSL).
[0049] The data network, 120, typically includes one or several
routers (not illustrated) and data bridges such that several nodes
may be interconnected and communicate with each other. The data
network used in connection with the present invention includes also
a data object server, 130. Typically, pluralities of data object
servers are included in a data network, although, for reasons of
explanation and clarity, only one data object server, 130, is
illustrated in FIG. 1. Examples of data networks are Internet and
Intranet networks. The UE, 100, may obtain a complete logical
connection 171 to an indicated B-party telephone, 150, connected to
the PSTN, 140, through the CS communication channel, 162, provided
between the UE, 100, and the BSS, 112, and further via the MSC
node, 118, over which conversation may be conducted between either
party UE 100 and telephone 150. Similarly, the UE, 100, may obtain
a complete logical connection 172 to equipment, e.g., data object
server, 130, connected to the data network, 120, through the PS
communication channel, 161, provided between the UE, 100 and the
BSS, 112, and further via the SGSN, 114 and GGSN, 116, node, over
which data may be sent between either party UE 100 and data object
server 130.
[0050] Element 140 can in some embodiments be a PSTN/ISDN, and then
element 150 could also be a mobile phone. In other embodiments
there can also exist the case of all IP, i.e., UE 100 has real-time
voice communication with a packet data device.
[0051] Now for subscriber description. According to one aspect of
the present invention a data object server, 130, includes graphical
information objects, i.e., phonepages, associated to a telephone
number. The telephone number is identical to a subscriber number,
i.e., an A- or B-number, addressing an originating user equipment
or a terminating user equipment, respectively. The A-party, upon
dialing a B-number, connects to a data object server, 130, by way
of PS communication channel and receives a data object, i.e., a
"phonepage" stored in a memory position in the data object server,
with a memory address corresponding to the B-number dialed. The
phonepage may consist of information about the B-party, or it may
simply provide an immediate access to an internal or external data
network as maintained by the B-party subscriber. Alternatively, the
B-party phonepage may consist of information regarding a B-party
user, e.g., phone number, address and other information. After
having received the B-party phonepage, one or several procedures
may follow. If the B-number is addressing a POT, 150, a circuit
switched voice connection may be setup. If the B-number is
addressing another device, other events may occur. This is of
course also dependent upon the A-party device, UE, 100, used.
[0052] In a variant of the present invention, the UE, 100, does not
support the use of a PS communication channel whereby data objects
can be retrieved by other means, such as a Short Message Service
(SMS) or a temporary CS communication channel. In a variant of the
present invention, a PS communication channel, for example having a
particular QoS, is used for conveying speech within the
communication system 10 whereby the PSTN, 140, and the data
network, 120, is interconnected by some means (not shown in FIG.
1).
[0053] FIG. 2 illustrates a flow diagram of a procedure in a UE
(like the UE, 100) for communicating a phonepage to an A-party
using the UE, according to one embodiment of the present invention.
In step 205, the procedure starts by an initiation from the
A-party, (e.g., a UE is switched on). In step 210, a trigger of a
phonepage request is indicated, either automatically (e.g., a call
is terminated by the other party) or manually by the A-party (e.g.,
the dialing of a B-number). The triggering event, 210, may be at
least one of a number of events, e.g.: [0054] An outgoing call is
or is about to be initiated. [0055] An addressed B-party answers a
call. [0056] An addressed B-party is busy. [0057] An addressed
B-party does not answer. [0058] An addressed B-party rejects a
call. [0059] An addressed B-party is unavailable (e.g., an
addressed mobile phone is out of coverage). [0060] An incoming call
is imminent or has just started. [0061] A conference call is or is
about to be initiated. [0062] A call is disconnected. [0063] A call
is conducted (under which several triggering events can be
generated). [0064] A subscriber is put on hold. [0065] A new cell
in the Public Land Mobile Network (PLMN) has been selected. [0066]
The location of a subscriber has changed. [0067] A new PLMN
operator is selected. [0068] A new country of registration is made.
[0069] A UE is about to be switched off. [0070] A UE has been
switched on. [0071] When a designated button on a UE is pressed.
[0072] In response to a talk spurt received by a UE. [0073] A voice
mail has been left to a subscriber. [0074] An SMS has been sent to
a subscriber.
[0075] And now protocol functionality. According to one aspect of
the present invention a data object server, 130, includes graphical
information objects, i.e., phonepages, associated with an address
indication such as a telephone number, or an Internet address such
as an IPv6 address. The telephone number is identical to a
subscriber number, i.e., an A- or B-number, addressing originating
user equipment or a terminating user equipment, respectively. The
A-party, upon dialing a B-number, connects to a data object server,
130, by way of PS communication channel and receives a data object,
i.e., a "phonepage" stored in a memory position in the data object
server, with a memory address corresponding to the B-number dialed.
The data object server may comprise the phonepage with information
about the B-party directly, or it may simply provide an immediate
access to a location in an internal or external data network as
maintained by the B-party subscriber, i.e., the object server 130
first functions as a number server providing a translation of the
provided B-number to a corresponding URI where the phonepage
resides, which may be at a physically separate phonepage object
server. The translation and provision of the actual requested
phonepage can be either transparent, i.e., the phonepage number
server forwards, or dispatches, the phonepage request to an
appropriate phonepage object server, which phonepage object server
communicates directly, or indirectly via the name server, to the
requester, or the phonepage number server returns the URI of the
requested phonepage to the requester after which the requester will
be redirected by using the URI to request the desired
phonepage.
[0076] The B-party phonepage may comprise information regarding a
B-party user, e.g., phone number, address and/or other information.
The B-party phonepage may also comprise information regarding the
addressed B-party's user equipment, which, for example, can be a
fax. After having received the B-party phonepage, one or several
procedures may follow. If the B-number is addressing a POT, 150, a
circuit switched voice connection may be setup. If the B-number is
addressing another device, other events, such as when a pay service
is used, may occur. This is of course also dependent upon the
A-party device, UE, 100, used.
[0077] According to another aspect of the present invention a
phonepage can be associated with an Internet address such as an
IPv6 address, SIP address or an email address. For example, an
A-party, upon setting up a communication link with a web-page to a
thermostat of his or her summer house to thereby control/check the
temperature, will receive a data object which, for example,
identifies the thermostat and comprises a link to the
manufacturer's home page, and/or other communication means to the
manufacturer. In another example, an A-party desires to set up a
conference call by means of a conference telephone located in a
conference room. Upon initiation of the communication, the A-party
will receive a data object which is linked to the conference
telephone by means of its telephone number, http address or IP
address. The data object, the conference telephone's phonepage, can
suitably comprise information concerning the locality of the
conference phone, the size of the conference room, and/or a booking
schedule. In still another example, an A-party desires to transfer
a facsimile. Upon choosing or initiating transmission to a
fax-machine, the phonepage of the fax machine is requested and
returned to the A-party. A phonepage of a fax machine might
comprise information concerning the locality of the fax, whose fax
machine it is, and/or who has access to the fax machine. In still a
further example, an A-party desires to transfer an email to a
B-party. Then, upon choosing or writing the email address, i.e.
perhaps even before a message is composed, the phonepage of the
email address is requested and returned to the A-party. A phonepage
of an email address might comprise information concerning the
owner, the B-party user, of the email address, other means of
communication with the owner, andlor schedule or availability of
the owner. A phonepage is a data object that is linked to a unique
identifier such as a telephone number or an internet address such
as an IPv6 address, but not located or retrieved from the place
that the unique identifier identifies.
[0078] The A-party initiates a request in step 230, possibly after
encryption in step 220, and sends this request via a communication
channel, (e.g., packet switched as illustrated in FIG. 1) to a data
object server. The data object request may include at least one of
a number of different parameters, e.g.: [0079] A requested protocol
to be used for transmission (e.g., WAP, WML, HDML, HTML). [0080] An
identification of a data object server (e.g., a server name or a
plain IP address). [0081] A code denoting what kind of event that
triggered the data object request (e.g., outgoing call setup).
[0082] The indicated B-number associated to at least one B-party
equipment. [0083] An A-party identity, e.g., an A-number of a
mobile station. [0084] A network address of the A-party (e.g., IP
address) used by the data object server when returning a requested
data object. [0085] A capability code indicating the displaying
capabilities of the A-party (e.g., screen resolution, audio, etc.).
[0086] A code indicating an encryption scheme or encryption key
used. [0087] A code indicating in what country the mobile station
is registered (country code). [0088] A code identifying the current
PLMN (V-PLMN) operator or the PLMN where the A-party has a
subscription (H-PLMN) or both. [0089] A code indicating the vendor
of the mobile station and the type of the mobile station. [0090] A
code indicating an equipment unique identity. [0091] A validation
code (e.g. a checksum) of the parameters.
[0092] The data object request in 230 may, according to a variant
of the invention, be answered by the data object server in an
encrypted format, in which case a decryption in step 250 follows
the reception of the response in the user equipment.
[0093] In the next step follows a rendering procedure in step 260,
where the data objects are displayed according to the capability of
the UE after which the procedure is ended in step 299. Typically
after step 299, there will follow one or several procedures
according to the capability of the A-party UE or the type of
equipment addressed by a B-number. For example, a call may be setup
or a call may be disconnected. According to one of the above
mentioned embodiments, where a continuous triggering event is that
a call is conducted, special advantages may be relevant (e.g.,
commercial information may be sold in response to a dialed B-number
allowing easy payment for such information).
[0094] FIG. 3 illustrates the corresponding procedures in a data
object server (like the data object server 130), wherein, in step
305, the procedure starts and in step 310, the data object server
receives a request for a data object. The request may typically
include at least an indication corresponding to an A- or B-number
and what kind of action that triggered the request. If the request
is encrypted, decryption will be made in step 320, before
interpreting the content. The address indication (e.g., A- or
B-number) in the request received in step 310 will be mapped with a
memory address in the data object server, or to an address in the
data object server, connected memory and the data object, i.e.,
phonepage will be retrieved in step 330. The request in step 310
may also include an indication of a UE display capability, in which
case the data object may be adapted in the data object server to a
specific rendering capability, step 340, of a receiving UE. If the
request was encrypted, or if requested for some other reason, the
data object will be encrypted in step 350 before it is returned to
the requesting UE, in step 360 and then the procedure is ended in
the data object server in step 399.
[0095] The above described general solution to obtain a data object
connected to an address indication may of course be varied in a
number of different ways, depending on, e.g. the capabilities of
communication of the UEs involved. For example, a method of
simultaneously requesting, encrypting, obtaining, decrypting and
rendering a sequence of data objects can also be applied in a
variant of the present invention.
[0096] User equipment, like mobile stations, is today developed to
handle both packet switched and circuit switched communication
simultaneously. These are generally referred to as class A mobile
stations. Other mobile station designs allow packet switched and
circuit switched communication alternatively, i.e., no simultaneous
PS and CS transmission and reception. These are generally referred
to as class B mobile stations.
[0097] In FIG. 4 is illustrated a flow diagram of procedures
included when a circuit switched connection is initiated from a UE
which is a class A mobile station according to one aspect of the
present invention. In step 405, the procedure is started when a
class A mobile station is not involved in a call session and when a
user, e.g., starts to indicate a B-number to a B-party, step 420,
by pressing a digit, a button or by activating voice recognition
means. During step 420 the entire B-number is obtained. The mobile
station now start to set up two different connections, a circuit
switched connection for a voice communication channel in step
430-440-498, and a packet switched communication channel for
retrieval of a phonepage in step 450-499. These procedures may in a
class A mobile station be simultaneous.
[0098] For the circuit switched procedures, a voice connection with
a B-party is initiated in step 430, a communication recourse is
assigned by a mobile network over which a telephone conversation
may take place. The telephone conversation is ended in step 440 as
any ordinary voice call, for example by pressing a designated
button on the mobile station or hanging up a handheld part of a
fixed network telephone. Ending the call also involves
de-allocation of relevant communication resources within the
circuit switched part of the mobile communication network as well
as e.g., any PSTN resources involved in the connection.
[0099] Now follows an example of a protocol implementation between
the UE (100) and the Data Object Server (130).
[0100] The phonepage service relies on the following
components:
[0101] Event-detection function residing either in the user's
terminal or in the network;
[0102] PhonePage Number Service which handles phonepage requests,
retrieval of concerned phonepage, and downloading of the
information to the involved terminals;
[0103] PhonePage Web Servers (PWS) where phonepages are stored and
managed.
[0104] The PhonePage Number Service (PNS) is implemented using two
node types: local and root PNS. The root PNS receives registrations
from PWSs and keeps the local PNS updated. The local PNS acts as a
kind of "proxy" between the terminal and the PWSs. In one aspect of
the invention a local PNS contains an update client that regularly
checks for updates with the root PNS. If there are entries more
recent than the last successful local PNS update time, the new
entries are conveyed from the root PNS to the local PNS. If
communication is performed over the open Internet, information may
be encrypted (e.g., using the https: or IPSec protocol). There are
other means for keeping the different databases up to date. For
example, the root PNS may, upon changes in its database, contact a
plurality of local PNS's and, based on their individual update
status, convey any changes to the local PNS's. Again information
may be protected as described above.
[0105] FIG. 5 illustrates the case of a mobile phone user where the
event-detection has been implemented in the terminal. The client in
the mobile terminal detects an event and requests 510 a phonepage.
The Local PNS 520 receives the requests and finds out in which PWS
the phonepage is located. The local PNS retrieves 530 the phonepage
from the concerned PhonePage Web Server. The phonepage is
downloaded 540 to the terminal.
[0106] An MT--PNS PROTOCOL, first the PNS REQUEST. In general when
the Mobile Terminal (MT) detects an event, the MT send a PNS
Request to the Local PNS. The PNS Request from a MT client to the
PNS is implemented as a HTTP request using the GET method. The URI
used in the HTTP request is denoted request URI. The request URI is
a URI identifying the resource upon which to apply the request. The
request URI contains the host name of the Local PhonePages Number
Server (PNS), a host path (e.g., denoting an appropriate server)
and a parameter list. No specific header information in the HTTP
request is required.
[0107] Two alternatives for the parameter list are defined. In the
first alternative, the parameters are binary coded and the
corresponding binary string is then Base64 encoded. In the second
alternative the parameters are given using the standard URL
encoding scheme for passing parameters. Below the parameter list
when using the URL encoding scheme is described.
[0108] The request URI (Req_URI) is as follows: TABLE-US-00001
Req_URI= scheme ":" "//" host_name "/" host_path "?paramlist arg="
PPReq Message Content scheme = http host_name = "www." op_code
".getpp.net" host_path = "servlet/v10" paramlist = "ctp="
contenttype_value "&evn=" eventnum_value "&otu="
otherpublic_value *[("&owu "=" ownpublic_value) ("&owi "="
ownprivate_value) ("&grc "=" graphiccap_value) ("&auc "="
audiocap_value) ("&vcy "=" visitcountry_value) ("&voc "="
visitopcode_value) ("&hcy "=" homecountry_value) ("&hoc "="
homeopcode_value) ("&dab "=" databearer_value) ("&tec "="
terminalclass_value) ("&ven "=" vendor_value) ("&tty "="
terminatype_value) ("&atc "=" authentcounter_value)] op_code =
5DIGIT
The op_code is used to enable distributed PNS service. The op_code
has the following value: [0109] 1. The Home Public Land Mobile
Network (HPLMN) code of the subscriber. [0110] 2. If the HPLMN is
unknown, the op_code is the country code (padded with preceding
zeros) of the country where the subscriber is registered. For
example, Sweden is coded as 00046. [0111] 3. If neither HPLM nor
country code is known, the op_code is a random number between 99000
and 99999. Parameter Values
[0112] Content_TYPE TABLE-US-00002 Parameter short name: ctp
contenttype_value = 1*2DIGIT
[0113] The contenttype_value is coded as follows: TABLE-US-00003
Value 0 Reserved 1 HTML 2 WML 3 Text 4 SMS Text 5 Ring Tone (Nokia)
6 Group Graphics (Nokia)
[0114] All other values are reserved.
[0115] Event_Number TABLE-US-00004 Parameter short name: evn
eventnumber_value = 1*2DIGIT
[0116] eventnumber_value is coded as follows: TABLE-US-00005 Value
0 Reserved 1 User phonepage enquiry 2 An outgoing call is initiated
3 A call is answered 4 The called party is busy 5 The called party
does not answer 6 The called party rejects a call 7 The called
party is unavailable 8 A call is disconnected 9 An incoming
call
All other values are reserved.
[0117] Other Party's Public Identity TABLE-US-00006 Parameter short
name: otu otherpublic_value = domain "_" id domain = 1DIGIT id =
("+" | DIGIT) *DIGIT
[0118] The domain field is coded as follows: TABLE-US-00007 Value 0
Reserved 1 PSTN/ISDN 2 GSM IMSI
[0119] All other values are reserved. [0120] The id field indicates
a public identification of a peer user (e.g. telephone number) that
is relevant for the particular event.
[0121] Own Public Identity TABLE-US-00008 Parameter short name: owu
ownpublic_value = domain "_" id domain = 1DIGIT id = ("+" | DIGIT)
*DIGIT
[0122] The domain field is coded as follows: TABLE-US-00009 Value 0
Reserved 1 PSTN/ISDN 2 GSM IMSI
Other values are reserved. [0123] The id field indicates a public
identification of the mobile terminal user (e.g., telephone number)
that is relevant for the particular event.
[0124] Own Private Identity TABLE-US-00010 Parameter short name:
owi ownprivate_value = domain "_" id domain = 1DIGIT id = ("+" |
DIGIT) *DIGIT
[0125] The domain field is coded as follows: TABLE-US-00011 Value 0
Reserved 1 PSTN/ISDN 2 GSM IMSI
[0126] All other values are reserved. [0127] The id field indicates
a private identification of the mobile terminal user (e.g. IMSI)
that is relevant for the particular event.
[0128] Graphics Capability TABLE-US-00012 Parameter short name: grc
graphicscap_value = xres "_" yres "_" coldepth xres = 1*5DIGIT yres
= 1*5DIGIT coldepth = 1*3DIGIT
[0129] The xres field is the number of pixels on the x-axis on the
relevant screen.
[0130] The yres field is the number of pixels on the y-axis on the
relevant screen.
[0131] The coldepth field is the number of bits that is used to
code each pixel on the relevant screen.
[0132] Example: grc=640.sub.--480.sub.--8
[0133] Audio Capability TABLE-US-00013 Parameter short name: auc
audiocap_value = 1*2DIGIT
[0134] This parameter is for future use.
[0135] The coding of the audiocap_value is for further study.
[0136] Visiting Country TABLE-US-00014 Parameter short name: vcy
visitcountry_value = 3DIGIT
[0137] This parameter indicates the country where the PMT is
currently registered.
[0138] The country code is given according to GSM 03.03.
[0139] Visiting Operator Code TABLE-US-00015 Parameter short name:
voc visitopcode_value = 2DIGIT
[0140] This parameter indicates the PLMN where the PMT is currently
registered. The operator code is given according to GSM 03.03.
[0141] Home Country TABLE-US-00016 Parameter short name: vhcy
homecountry_value = 3DIGIT
[0142] This parameter indicates the country where the PMT has a
subscription. The country code is given according to GSM 03.03.
[0143] Home Operator Code TABLE-US-00017 Parameter short name: hoc
homeopcode_value = 2DIGIT
[0144] This parameter indicates the PLMN where the PMT has a
subscription. The operator code is given according to GSM
03.03.
[0145] Data Bearer TABLE-US-00018 Parameter short name: dab
databearer_value = 1*2DIGIT
[0146] The databearer_Value is coded as follows: TABLE-US-00019
Value 0 Reserved 1 GSM Circuit switched 2 GSM HSCSD 3 GSM SMS 4 GSM
USSD 5 GSM GPRS 6 W-CDMA 7 The called party is unavailable
All other values are reserved.
[0147] Terminal Class TABLE-US-00020 Parameter short name: tec
terminalclass_value = 1DIGIT
[0148] The terminalclass_value is coded as follows: TABLE-US-00021
Value 0 Reserved 1 Class C 2 Class B 3 Class A
All other values are reserved.
[0149] Vendor TABLE-US-00022 Parameter short name: ven vendor_value
= 1*3DIGIT
[0150] The vendor_Value is coded as follows: TABLE-US-00023 Value 0
Reserved 1 Unknown 2 Nokia 3 Ericsson 4 Motorola 5 Siemens 6 Bosch
7 Alcatel 8 Panasonic 9 Philips 10 Benefon
[0151] All other values are reserved.
[0152] Terminal Type TABLE-US-00024 Parameter short name: tty
terminaltype_value = 1*3DIGIT
[0153] The terminaltype_Value is coded as follows: TABLE-US-00025
Value 0 Reserved 1 Unknown 2-127 Unreserved 128 Reserved
[0154] All other values are reserved
[0155] Autentication Counter TABLE-US-00026 Parameter short name:
atc authentcounter_value = 1 * 10DIGIT
[0156] Local PNS Response. After receiving and interpreting a PP
Request message, a Local PNS server responds with a standard HTTP
response message containing the phonepage content. Note that part
of the phonepage content may be references (e.g., links) to
resources located on other servers (e.g., the PWS) than the Local
PNS. In such cases, the actual transfer of the referenced data will
be carried out between the MT and the servers hosting the
references resources and not pass through the Local PNS.
[0157] A L-PNS--PWS PROTOCOL. When the Local PNS receives a PNS
Request from the MT, the Local PNS looks up the address to the PWS
where the requested phonepage is located. The Local PNS then
requests the phonepage from the PWS by sending a HTTP request equal
to the PNS Request message as described above. Note that the
host_name and host_path parts of the request URI in this case are
equal to the host name and path of the PWS. The PWS responds with a
standard HTTP response message containing the phonepage
content.
[0158] A PWS--Root PNS PROTOCOL. The protocol between the PWS and
the Root PNS is based on HTTP and is used for registration and
management of phonepage entries in the PNS. In order to provide a
secure transport mechanism the HTTPS (Secure Hypertext Transfer
Protocol) can be used.
[0159] FIG. 6 shows registering a Phonepage entry. This procedure
specifies how a phonepage entry is registered with the root PNS. A
phonepage entry can only be created and registered upon the request
from an authorized PWS. In normal cases the PWS transmits 610 a
REGISTER REQUEST message to the root PNS. Then the root PNS
validates 620 the REGISTER REQUEST. Thereafter if the root PNS
finds the request to be valid a new entry is created and the root
PNS responds 630 with a REGISTER RESPONSE message with status code
201.
[0160] In abnonnal cases. If the PWS issuing the request is not
authorized, the root PNS responds with status code 401. If the
information in the message body of the request message is empty or
not complete the root PNS responds with status code 204. If the
information in the message body of the request message is
unreadable or not understandable the root PNS responds with status
code 400. If the identity of the entry (entrv-id) in the request
message is found to be invalid (e.g., not a valid identity for the
domain given in the domain element), the root PNS responds with
status code 406. If a root PNS entry already exists for the
requested identity (entity-id), the root PNS responds with status
code 409.
[0161] FIG. 7 shows an UnRegister Phonepage entry. In general this
procedure specifies how a phonepage entry is removed and
unregistered with the root PNS. A phonepage entry can only be
removed and unregistered upon the request from the (authorized) PWS
that has registered the entry. In normal cases the PWS transmits
710 a UNREGISTER REQUEST message to the root PNS, as defined in
section 0. Then the root PNS validates 720 the UNREGISTER REQUEST.
Thereafter if the root PNS finds the request to be valid a new
entry is created and the root PNS responds 730 with a UNREGISTER
RESPONSE message with status code 201.
[0162] In abnormal cases. If the PWS issuing the request is not
authorized or if the PWS is not the same as the one that previously
registered the entry, the root PNS responds with status code 401.
If the information in the message body of the request message is
empty or not complete, the root PNS responds with status code 204.
If the information in the message body of the request message is
unreadable or not understandable, the root PNS responds with status
code 400. If the identity of the entry (entry-id) in the request
message is found to be invalid (e.g., not a valid identity for the
domain given in the domain element), the root PNS responds with
status code 406.
[0163] FIG. 8 shows a Status Request. In general this procedure
specifies how a PWS performs a status request, concerning a
specific entry in the root PNS. In response to a status request,
the root PNS provides information about the entry. Status
information can only be obtained by an authorized PWS. In normal
cases the PWS transmits 810 a STATUS REQUEST message to the root
PNS, as defined in section 0. The root PNS validates 820 the STATUS
REQUEST. If the root PNS finds the request to be valid, information
about the entry is retrieved from the root PNS database and the
root PNS responds 830 with a STATUS RESPONSE message with status
code 200.
[0164] In abnormal cases. If the PWS issuing the request is not
authorized, the root PNS responds with status code 401. If the
information in the message body of the request message is empty or
not complete, the root PNS responds with status code 204. If the
information in the message body of the request message is
unreadable or not understandable, the root PNS responds with status
code 400. If the identity of the entry (entry-id) in the request
message is found to be invalid (e.g., not a valid identity for the
domain given in the domain element), the root PNS responds with
status code 406.
Messages
Register Request
General
[0165] This message is sent by PWS to root PNS whenever a new root
PNS entry is registered. TABLE-US-00027 Message type: REGISTER
REQUEST Direction: PWS to root PNS
Syntax [0166] The REGISTER REQUEST is implemented as a HTTPS
request using the POST method.
[0167] The request URI is: https://www.getpp.net/root PNSv10
[0168] The request URI is the absolute URI of the requested
resource (e.g., denoting an appropriate servlet) on the root PNS
server. p1 The massage body contains form data, encoded using the
`application/x-www-form-urlencode` format as specified in the
Hypertext Markup Language--2.0 RFC 1866 with the following fields:
TABLE-US-00028 Field name Description Command The value of this
field is equal to "Register". Account The root PNS account name of
the PWS Password The password associated with the account EntryID
The identity of the entry to be registered with the root PNS. This
is normally a telephone number in the PSTN/ISDN domain, but may be
also be an identity in another domain. In the PSTN/ISDN domain, the
value of the EntryID field is an international telephone number
(excluding any preceding `+` character, e.g., 46702692431. Domain
This specifies the domain in which the EntryID is valid. The
possible values of this field are as follows: Value Meaning 0
Reserved 1 PSTN/ISDN 2 Reserved 3 SIP 4 Reserved URI The URI of the
PWS where the phonepages are located.
Register Response General
[0169] This message is sent by the root PNS to PWS as a response to
a REGISTER REQUEST message. TABLE-US-00029 Message type: REGISTER
RESPONSE Direction: PWS to root PNS
Syntax
[0170] The REGISTER RESPONSE is implemented as a HTTPS response
message.
[0171] The Status-Code in the response message indicates the result
of a request to register a new entry in the root PNS. The root PNS
responds with one of the following status codes. TABLE-US-00030
Status-Code = "201": New entry successfully created "204": No
content "400": Bad Request "401": Unauthorized PWS "406": Not
Acceptable "409": Conflict, entry already exists "411": Length
required "500": Internal Server Error "509": Service
unavailable
UNRegister Request General
[0172] This message is sent by the PWS to root PNS whenever a root
PNS entry is to be removed. TABLE-US-00031 Message type UNREGISTER
REQUEST Direction PWS to root PNS
Syntax [0173] The UNREGISTER REQUEST is implemented as a HTTPS
request using the POST method. [0174] The request URI:
https://www.getpp.net/root PNSv10 [0175] The request URI is the
absolute URI of the requested resource (e.g., denoting an
appropriate servlet) on the ROOT PNS server.
[0176] The message body contains form data, encoded using the
`application/x-www-fonn-urlencode` format as specified in Hypertext
Markup Language--2.0 RFC 1866, with the following fields:
TABLE-US-00032 Field name Description Command The value of this
field is equal to `"UnRegister". Account The root PNS account name
Password The password associated with the account EntryID The
identity of the entry to be removed and unregistered with the root
PNS. This is normally a telephone number in the PSTN/ISDN domain,
but may be also be an identity in another domain. In the PSTN/ISDN
domain, the value of the EntryID field is an international
telephone number (excluding any preceding `+` character, e.g.,
46702692431. Domain This specifies the domain in which the EntryID
is valid. The possible values of this field are as follows: Value
Meaning 0 Reserved 1 PSTN/ISDN 2 Reserved 3 SIP 4 Reserved
UnRegister Response General
[0177] This message is sent by root PNS to PWS as a response to a
UNREGISTER REQUEST message. TABLE-US-00033 Message type UNREGISTER
RESPONSE Direction PWS to root PNS
Syntax [0178] The UNREGISTER RESPONSE is implemented as a HTTPS
response message.
[0179] The Status-Code in the response message indicates the result
of a request to register a new entry in the root PNS. The root PNS
responds with one of the following status codes. TABLE-US-00034
Status_code = "201": Entry successfully removed "204": No content
"400": Bad Request "401": Unauthorized PWS "406": Not Acceptable
"411": Length required "500": Internal Server Error "509": Service
unavailable
Status Request General
[0180] This message is sent by the PWS to the root PNS to check the
status of a root PNS entry.
[0181] The PWS may use the STATUS REQUEST message to retrieve
information on a certain root PNS entry, e.g., upon reception of a
REGISTER RESPONSE message with status code 409 (Conflict, entry
already exists).
Syntcx
[0182] The STATUS REQUEST is implemented as a HTTPS request using
the POST method. [0183] The request URI: https://www.getpp.net/root
PNSv10 [0184] The request URI is the absolute URI of the requested
resource (e.g., denoting an appropriate servlet) on the root PNS
server.
[0185] The message body contains form data, encoded using the
`application/x-www-form-urlencode` format as specified in Hypertext
Markup Language--2.0 RFC 1866, with the following fields:
TABLE-US-00035 Field name Description Command The value of this
field is equal to "Status". Account The root PNS account name
Password The password associated with the account EntryID The
identity of the root PNS entry to retrieve status about. This is
normally a telephone number in the PSTN/ISDN domain, but may be
also be an identity in another domain. In the PSTN/ISDN domain, the
value of the EntryID is an international telephone number
(excluding any preceding `+` character, e.g., 46702692431. Domain
This specifies the domain in which the EntryID is valid. The
possible values of this field are as follows: Value Meaning 0
Reserved 1 PSTN/ISDN 2 Reserved 3 SIP 4 Reserved
Status Response General
[0186] This message is sent by root PNS to PWS as a response to a
STATUS REQUEST message. TABLE-US-00036 Message type: STATUS
RESPONSE Direction: PWS to root PNS
Syntax [0187] The STATUS RESPONSE is implemented as a HTTPS
response message.
[0188] The Status-Code in the response message indicates the result
of a status request. The root PNS responds with one of the
following status codes. TABLE-US-00037 Status_code = "201" ; OK
"204" : No content "400" : Bad Request "401" : Unauthorized PWS
"406" : Not Acceptable "411" : Length required "500" : Internal
Server Error "509" : Service unavailable
[0189] If, and only if, the status code is 200, the message body of
the response contains form data, encoded using the
`application/x-www-form-urlencode` format as specified in Hypertext
Markup Language--2.0 RFC 1866, with the following fields:
TABLE-US-00038 Field name Description PWS The name of the PWS that
has registered the entry. Registration time The date and time when
the entry was registered. The value has the HTTP date/time stamp
format as defined in the Requirements for Internet Hosts
--Application and Support RFC 1123. EntryID The identity of the
root PNS entry. This is normally a telephone number in the
PSTN/ISDN domain, but may be also be an identity in another domain.
In the PSTN/ISDN domain, the value of the EntryID field is an
international telephone number (excluding any preceding `+`
character, e.g., 46702692431. Domain This specifies the domain in
which the EntryID is valid. The possible values of this field are
as follows: Value Meaning 0 Reserved 1 PSTN/ISDN 2 Reserved 3 SIP 4
Reserved URI The URI of the PWS where the phonepages are
located.
Terminal Capability
[0190] The packet switched procedures basically follow the
procedures described in connection to FIG. 4, where a data object
request is sent, possibly after encryption, steps 450 and 460, and
a response is received and the phonepage displayed, possibly after
proper decryption thereof, steps 470-490, after which the packet
switched connection also ends, in step 499.
[0191] As mentioned above, a class B type mobile station cannot
handle two simultaneous connections, one packet and one circuit
switched, so another approach to retrieve a phonepage is then
necessary when setting up a circuit switched voice connection
[0192] FIG. 9 illustrates a similar procedure to that explained
with reference to FIG. 4, but with a mobile station of a class B
type used in the A-party, call originating end. In step 905 the
procedure starts and in step 910, the B-number is indicated as
described above in reference to FIG. 4. In this embodiment, a step
920 is introduced where it is possible to select if a phonepage is
to be requested or not. This can typically be a selection made by
the user, and/or indicated by the B-number dialed by appropriate
setting. According to one embodiment of the current invention,
double clicking on a designated SEND button indicates that the
phone page is to be requested. If it is indicated that a phonepage
is not desired, then follows in step 950-960 and 999 a circuit
switched call connection and termination as explained in relation
to FIG. 4, steps 430, 440 and 498.
[0193] If it is indicated that a phonepage is desired, then the
following steps are to encrypt, 930, and send, 935, a data object
request on a packet switched communication channel. As long as the
packet session is not interrupted, 940, the download of data object
continues to the A-party. Data objects are received in step 970,
decrypted, if encrypted, in step 980 and rendered in step 990. In
step 995 the data objects are detected and as long as there is more
information to receive, step 995, and there is no interruptions in
step 940, the data download continues. A possible interrupt may
occur, e.g. when a user wishes to no longer wait for a complete
download of a phonepage and instead initiates the circuit switched
communication in step 950. This may be initiated by a time expiring
or by manually indicating on a man-machine interface (MMI). At the
latest, the circuit switched communication is initiated when there
is no more phonepage data to download. According to another
embodiment of the present invention the phonepage for a class B UE
is obtained from the data object server, 130, upon call completion
or whenever the UE is not involved in a call, and is stored locally
in the UE being readily available upon a next triggering event.
[0194] So far, the retrieval of phonepages to display in A-party
equipment has been addressed. It should be recognized that a
B-party may similarly also display a phonepage related to a
connection, preferably a phonepage identified with the A-party
number. In FIG. 10 is illustrated a flow diagram of the procedures
in B-party user equipment for retrieval of A-party phonepages
according to one embodiment of the present invention when the
B-party has the capabilities corresponding to that of a class A
mobile station. The procedure start in step 1005, e.g., by an
incoming call to a B-party UE. In step 1010 a communication channel
is allocated between the UE and the network, 110, it is connected
to. In step 1020 an indication of the call originating identity,
i.e., the A-party identity, preferably, an A-number, is revealed to
the B-party. Then in step 1060 and 1070, a request is sent,
subsequent to encryption thereof, to a data object server. The
request is, when received in the server, treated similar as the
requests received from the A-party, i.e., decrypted if necessary,
and responded to in the transmission of a data object related to
the A-party identity. The UE receives the data objects, i.e.,
phonepage in step 1080 and after decryption in step 1090, if
necessary, the phonepage can be displayed to the B-party user in
step 1095.
[0195] If the call is answered in 1030, the voice connection may
follow the same procedures as those described in relation to FIG. 3
and 4. If the call is not answered the voice part sequence ends in
1098.
[0196] For reasons of clarification, several steps in the signaling
between the UE 100 and the communication infrastructure 110;
between the UE 100 and the data object server 130; have been
omitted in several embodiments above, and focus has been put on the
necessary and novel steps according to the invention, in the
aforementioned signaling. It should be understood that other
procedures (e.g., authentication, channel assignment and charging)
might occur in addition to what has been described in the
aforementioned signaling.
Terminal Implementation.
[0197] FIG. 11 illustrates a UE according to be used in one
embodiment of the present invention, where the UE is a mobile
telephone or a PDA with mobile telephone capabilities. A Central
Processing Unit (hereafter CPU) 1150 is connected to at least one
memory unit 1151, and at least one display 1120. The CPU 1150 may
also be connected to a keyboard device or area 1152 to allow
subscribers to enter, for example, digits. The memory unit 1151 may
be non-volatile (e.g., EEPROM or SIM card) in order to retain
stored information, should power be temporarily unavailable. The
CPU 1150 is further connected to a communication unit 1110, such as
a radio, that may convert incoming and out going data to RF
modulated signals. The communication unit 1110 also connects to an
antenna 1160 allowing the RF modulated signals to be
received/transmitted to an RF compatible media (e.g., air). The
communication unit 1110 may also directly or indirectly be
connected to an earphone 1130 and a microphone 1140 in order to
allow voice communication. The UE may further comprise a plurality
of programs 1170, e.g., a browser, 1171, that can render at least
one type of data object and an encryption/decryption engine 1172
allowing data object requests to be encrypted and data objects to
be decrypted. The UE may optionally be equipped with a cache memory
in which it is possible to store and retrieve data objects without
occupying transmission resources within the communication network
10.
[0198] FIG. 12 illustrates a data object server 130, according to
one embodiment of the present invention. The data object server
comprises at least one CPU 1230 connected to at least one memory
device 1210, a cache memory 1250, at least one database 1240 and at
least one interface 1220. Memory devices 1210 and databases 1240
may be non-volatile. The interface 1220 enables the CPU 1230 to
send and receive data to/from the data network 120. The cache
memory 1250 allows storage of frequently used data objects so that
the CPU 1230 may obtain them readily. The database 1240 contains
the actual data objects that can be requested by the UE 100 via a
communication infrastructure 110 and a data network 120. The data
object server may also further comprise a number of programs 1260
including, but not limited to, a filter 1261 allowing the data
objects to be optimized according to the rendering capabilities of
the UE 100; and an encryption/decryption engine 1262 allowing data
object requests to be decrypted and data objects to be
encrypted.
[0199] According to a variant of the invention the blocks 1210,
1220, 1230, 1240, 1250 and 1260 may be implemented on a plurality
of computers. According to another variant of the present
invention, the said plurality of computers may be located at a
substantial distance.
[0200] B-number indication involves any means of indicating a
B-number in an A-party UE. A first example of B-number indication
procedure is described with reference to FIG. 13 where the B-number
indication comprises a start step at 1305 and the step 1310 of
receiving a character from a keyboard arrangement. In response to
step 1310, the character is stored in a memory buffer in the UE in
step 1320 and it is checked if the B-number is complete in step
1330. If the number is incomplete, steps 1310, 1320 and 1330 are
repeated. If the B-number is complete, the B-number indication
procedure is concluded in 1399. Determination of B-number
completion 1330 may or may not involve the use of timers
supervising the indication procedure; a short key combination in
order to minimize the number of keys pressed; designated buttons to
indicate number completion (e.g. pressing SEND or CALL buttons
once) or by analyzing the digits in the memory buffer for B-number
completeness.
[0201] A second example of B-number indication is by means of voice
detection, whereby an incoming talk spurt is successfully matched
with an entry in an internal database contained in a UE 100,
whereby a valid B-number could be obtained in response to the
aforementioned talk spurt.
[0202] A-number indication involves any means of indicating an
A-number to a said UE 100. A first example of an A-number
indication procedure is described with reference to FIG. 14 where
the A-number indication comprises the step 1405 of starting the
procedure and 1410 of receiving an A-number from a communication
infrastructure 110. In response to step 1410, it is checked if the
A-number was valid (e.g., not blocked, secret or misinterpreted)
and if it was valid, the A-number is stored in a memory in the UA
100 in step 1430. If the A-number was not valid, a flag indicating
a non valid A-number is stored in a memory of UE 100 in step 1440.
The procedure is ended in 1499.
[0203] A second example of A-number indication is by means of
sending an A-number or data objects in response to an A-number
directly on a logical data communication link 161.
[0204] FIG. 15 illustrates a UE 100 according to a second variant
of the invention when the UE 100 is a fixed telephone with graphic
capabilities. According to this second variant, the UE 100 is equal
to a mobile telephone as described in FIG. 11 but with the
exception that the communication unit 1110 and antenna 1160 are
replaced with a media adapter 1510 that converts incoming and
outgoing signals to and from a particular media standard including
but not limited to ISDN, ADSL, HDSL, VDSL and Cable networks and
any combination thereof.
[0205] FIG. 16 illustrates a UE 100 according to another embodiment
of the invention when the UE 100 is a mobile telephone 1690
possibly without data object rendering capabilities, with an
antenna 1660, connected to a PDA 1691 via a communication link
1695. The communication link may for example be realized with an
infrared, radio (e.g., Bluetooth) or wire communication
arrangement. The PDA 1691 further comprises a CPU 1653 connected to
at least one memory unit 1654, and at least one display 1621. The
CPU 1653 may also be connected to a keyboard device or area 1655 to
allow subscribers to enter, for example, digits. The memory unit
1654 may be non-volatile (e.g., EEPROM or SIM card) in order to
retain stored information, should power be temporarily unavailable.
The PDA 1691 further comprises a collection of programs 1670
including but not limited to a browser 1671 that can render at
least one type of data object and an encryption/decryption engine
1672 allowing data object requests to be encrypted and data objects
to be decrypted. The mobile phone 1690 is further described in FIG.
11 where 1620 corresponds to 1120, 1610 corresponds to 1110, 1650
corresponds to 1150, 1651 corresponds to 1151, 1652 corresponds to
1152, 1630 corresponds to 1130 and 1640 corresponds to 1140.
[0206] There are a number of possible technologies available that
are suitable for implementing phonepage functionality in the UE
(phonepage client). Examples of such technologies in the context of
GSM include:
[0207] SIM toolkit
[0208] WAP/WTA
[0209] Java and MeXE
[0210] Native implementation
[0211] Independent of implementation, the main function of the
client is to detect call events and launch the browser to the
appropriate URL determined by event type, content type, other
party's identity, own identity, HPLMN, VPLMN, visiting country
code, tenninal capability, and other parameters as described in
this document. Additionally the client could provide functions for,
e.g., activation and configuration of service, security, soft-keys
and menus.
[0212] As an alternative to directly launching the browser the
client may send an SMS to the server which would respond with a
push message (e.g., WAP push) containing the phonepage.
[0213] Now follows a description of a possible implementation based
on SIM toolkit (STK). The phonepage solution can be implemented in
various wavs with STK. It can be achieved by combining WAP with
STK. It can also be done as a stand-alone solution without
connections to WAP. A phonepage application can be divided into two
parts, one that is menu driven and one that is event driven. The
two parts of the application will remain integrated on the SIM. The
event driven part handles functions for, e.g., automatic
downloading of phonepages triggered by certain call events; the
phonepage format may be WAP, SMS or similar. The menu driven part
of the application handles functions for, e.g., service
configuration, and manual user-friendly downloading of
phonepages.
[0214] The SIM hosts several parameters that can be utilized for
the PP services. This adds value to the solution both for WAP and
non-WAP based solution. Example of such parameters are: event type,
other party's identity, own identity, visiting country code,
visiting operator code, and home operator code. Additional
parameters such as content type, device capability, device type and
data bearer can be obtained for example by UAProf (WAP) or native
in the device.
STK Combined with WAP Browser in the Phone.
[0215] The WAP solution can be combined with phonepage-WAP specific
parameters and content stored to be accessible on the SIM. This
means that parameters that are not supported by WAP could be
provided this way. The method can be applied in two ways to
implement the phonepage solution. One is to use SMS for the request
response in which the URLs will be downloaded or pushed from the
PNS. The other (launch browser method) is to define the URL
directly locally on the SIM without any preceding server
communication. With the launch browser method, the SIM specifies
browser, URL, gateway address and bearer among other parameters.
This makes it possible for the SIM to define which WAP application
that shall be addressed as well as how this shall be done. There is
a standardized possibility in STK to start a WAP browser from the
SIM. The solution would require support of the launch browser STK
command. An overview of the corresponding signaling in the system
is shown in FIG. 17. FIG. 17 shows a signaling overview of the
client initiated launch WAP browser solution.
[0216] Another solution that requires a server request from the SIM
could be implemented as a work-around if the launch browser STK
command is not supported. An overview of the corresponding
signaling is shown in FIG. 18. FIG. 18 shows a signaling overview
of the push-initiated launch WAP browser solution. This method
would require a SMS gateway to be implemented that translates the
SMS message to an HTTP request to the PNS. This would then be
followed by a WAP push. For this solution WAP push needs to be
supported.
WAP Similar Browser on the SIM (Stand-Alone Solution).
[0217] There is also a possibility to implement the phonepage
application with a WAP similar STK browser. This could be done
based on the same principles as sketched for the real WAP case
above. There are two different methods to implement this. With a
stand alone STK application that is not integrated with the micro
browser a network request would apply before the micro browser is
launched. An overview of the corresponding system signaling is
shown in FIG. 19. FIG. 19 show signaling overview of the
push-initiated launch STK micro browser solution.
[0218] The phonepage application could also be fully integrated
into the micro browser. This solution would require implementation
in the micro browser to support event handling. The system
signaling for this scenario is shown in the FIG. 20. FIG. 20 show
signaling overview of the client-initiated launch STK micro browser
solution. This solution could also be implemented so that a
stand-alone phonepage solution could be implemented to launch the
MB directly on the SIM.
Menu Driven Part.
[0219] Menus for, e.g., service configuration and manual phonepage
download could be implemented using STK. Menus could be used both
for the case of using a WAP browser in the phone and for the case
of a micro browser on the SIM card.
Event Driven Part.
[0220] STK supports detection of several call events including: an
outgoing call is initiated, an incoming call, a call is answered,
and a call is disconnected. There are several methods to implement
the event driven part using STK: [0221] Call control managed
solution with STK EVENT handling; [0222] Call control managed
solution without STK EVENT handling; [0223] STK menu managed
solution with call set up and no STK EVENT handling; Call Control
Managed Solution with STK EVENT Handling.
[0224] With this method the STK application would automatically be
launched via an STK event. It can be combined with call control to
add the outgoing call event. The STK application would be launched
slightly after the call is set up or when the call is
terminated.
Call control Managed Solution Without STK EVENT Handling.
[0225] With this method the STK application would be automatically
launched every time a call is to be set up. The STK application
would be launched slightly after the call is set up or when the
call is terminated. Nevertheless, with this method the event for
the outgoing call could be handled to give the possibility for the
user to download a phonepage at the outgoing call event.
STK Menu Managed Solution with Call Set Up and no STK EVENT
Handling.
[0226] With this method the STK application would be launched from
the ME menu when the user selects to set up a call this way. This
means that there would be a specific set up call application on the
SIM. This could be combined with access to the phone book on the
SIM. Also, with this method the event for the outgoing call could
be handled to give the possibility for the user to download a
phonepage at the outgoing call event.
[0227] According to a variant of the present invention, the
required software that needs to be added in the UE 100 may be
conveyed on a SIM card. This allows implementation of the invention
after it has been sold and/or without modifying the firmware of the
UE 100. One apparent way of doing this is to utilize SIM Tool Kit
(STK) functions using "proactive SIM" as described in the
specification ETSI GSM 11.14. Some of the possible triggering
events disclosed here may be mapped directly to a corresponding SIM
event.
[0228] Having detected a triggering event as described above, the
application residing on the SIM may invoke several actions.
According to a first variant of the invention, the application
sends an SMS to a data object server 130. In response to this, the
data object server 130 sends a response to the UE 100 using an SMS
message that is shown on the UE 100. According to a second variant
of the invention, the data object server 130 sends a response using
WAP Push technology as described in the WAP standard
(www.wapforum.org, WAP-165, Push Architectural Overview).
[0229] According to another variant of the invention, the required
software that needs to be added in the UE 100 may be conveyed in
the "repository" as described in the WAP standard
(www.wapforum.org, WAP-169, Wireless Telephony Application
Specification (WTA)). This allows implementation of the invention
after it has been sold and/or without modifying the firmware of the
UE 100. Different triggering events are mapped to different
"channels" (e.g., the triggering event "incoming call" is mapped to
a channel connected to the event "wtaev-cc/ic". other mappings
include the WTA events "wtaev-cc/cl". "wtaev-cc/oc" and
"wtaev-cc/cc".)
[0230] WAP/WTA constitutes a toolbox for creating telephony related
services. This toolbox provides suitable support allowing a
phonepage client to be implemented. The client resides in a
so-called WTA repository in the UE. The data object server is in
this case WTA compatible and would among other things enable
downloading of the client over-the-air.
[0231] Another technology suitable for implementing a phonepage
client in the UE is Java. Using, for example, JavaPhone
functionality for automatic phonepage download over, e.g., WAP,
HTML or SMS can be obtained. Moreover, functionality such as a
context sensitive phonepage soft-key can also be obtained. The
soft-key could, e.g., automatically appear after a call, in phone
address book, and in a call log. When pressing the soft-key a
phonepage associated with the telephone number on the display is
automatically downloaded.
Network Implementation.
[0232] The data network, 120, typically includes one or several
routers (not illustrated) and data bridges such that several nodes
may be interconnected and communicate with each other. The data
network used in connection with the present invention also includes
a data object server, 130. Typically, a plurality of data object
servers are included in a data network, although, for reasons of
explanation and clarity, only one data object server, 130, is
illustrated in FIG. 1. In a preferred embodiment the functionality
of a data object server 130 is divided into two logically different
parts, a name server and an object server. A name server and an
object server might be physically separated or just logically
separated. The name server provides translation between address
indications such as telephone numbers, events and an appropriate
location of an object server where desired objects, phonepages,
reside, e.g., URIs (Universal Resource Identifiers), URLs
(Universal Resource Locators). An object server hosts the desired
objects, the content of the phonepages. Several name servers might
be provided, for example a specific name server might be operated
by a mobile telephone network operator or a vendor of a mobile
telephone. The particular embodiment of the user equipment will
determine which name server is used. The name server can be given
by the service provider used, can be based on country, be a general
global, be dependent on service (such as email), or a combination.
In a preferred embodiment, the user equipment associated with a
specific network operator by means of, e.g., a SIM card, will
automatically send a request to a name server hosted by the network
operator. By automatically, as preprogrammed in, e.g., a SIM card,
directing a request from user equipment to a name server hosted by
the user's designated network operator (e.g., determined by a SIM
card), several advantages such as related to security, speed and
redundancy, can be obtained.
[0233] FIG. 3 illustrates the corresponding procedures in a data
object server (like the data object server 130), wherein, in step
305, the procedure starts and in step 310, the data object server
receives a request for a data object. The request may typically
include at least an address indication corresponding to, for
example, an A- or B-number, email address, or iPv6 address, and
what kind of action that triggered the request. If the request is
encrypted, decryption will be performed in step 320, before
interpreting the content. The address indication (e.g., A- or
B-number) in the request received in step 310 will be mapped with a
memory address in the data object server, or to an address in the
data object server, connected memory in another server and the data
object, e.g., a phonepage, will be retrieved in step 330. As
mentioned previously, the data object server can either provide a
phonepage directly or just a pointer to a phonepage, the pointer
suitably being a URI. In some embodiments when the data object
server does not comprise the phonepages itself, the data object
server will forward, i.e., dispatch, the request to the actual
phonepage server or provide the requester with the URI to the
phonepage. A dispatch can be described as: [0234] The user
equipment sends a request for a phonepage to the data object
server; [0235] The data object server forwards the request, with
all appropriate parameters, to an actual phonepage server; [0236]
The actual phonepage server transfers the requested phonepage to
the user equipment.
[0237] Alternatively, a dispatch can be described as: [0238] The
user equipment sends a request for a phonepage to the data object
server; [0239] The data object server forwards the request, with
all appropriate parameters, to an actual phonepage server; [0240]
The actual phonepage server transfers the requested phonepage to
the data object server; [0241] The data object server relays the
requested phonepage to the user equipment.
[0242] A redirect can be described as: [0243] The user equipment
sends a request for a phonepage to the data object server; [0244]
The data object server returns a URI of an actual phonepage server
to the user equipment; [0245] The user equipment makes a new
request to the actual phonepage server using the supplied URI;
[0246] The actual phonepage server transfers either directly or
indirectly (e.g., via the name server) the requested phonepage to
the user equipment.
[0247] The request in step 310 may also include an indication of a
UE display capability, in which case the data object may be adapted
in the data object server to a specific rendering capability, step
340, of the receiving UE. The request in step 310 may also include
an indication of an identity, e.g., a telephone number, of the
requester, in which case a returned phonepage or phonepages can be
from a selection of phonepages dependent of the identity of the
requester. If the request was encrypted, or if requested for some
other reason, the data object will be encrypted in step 350 before
it is returned to the requesting UE, in step 360 and then the
procedure is ended in the data object server in step 399.
[0248] Below follows an exemplary implementation of the procedure
between the UE and the data object server.
PMT-PNS/PWS Signaling.
Redirection scheme.
[0249] FIG. 21 shows a signaling scheme depicting the redirection
scheme, a phonepage redirect scheme. When the PMT encounters a
triggering event 2110, for example another party is called, it
gathers various parameters from its memory and from the SIM card
(if any). The parameters are compiled, encrypted and inserted into
a URI pointing to a PNS server. The URI is then inserted
automatically in the PMT's browser. In response to this, the
browser automatically sends a "PNS request" message to PNS 2120.
Upon reception of the redirect message 2130, the PMT again requests
phonepages 2140, now directly from the appropriate PWS using the
"PWS request" message. Once connection is established with the PWS,
the actual phonepage content may be exchanged between the PMT and
the PWS 2150.
Dispatch Scheme.
[0250] FIG. 22 shows a signaling scheme depicting a dispatch
scheme, a phonepage dispatch scheme. When the PMT encounters a
triggering event 2210, the parameters are encrypted and compiled
into a URI pointing to a PNS server. A "PNS request" message is
sent to PNS 2220, which resolves the correct PWS and relays (with
modified content) the request by sending a PWS request 2230 to PWS.
Once connection is established to the PWS, the actual phonepage
content may be sent from the PMT to the PWS via the PNS, but
directly from the PWS to the PMT 2240.
[0251] The PNS relays HTTP requests to the appropriate PWS. The PWS
on the other hand, may send HTTP messages directly to the PMT. This
depends on the IP network architecture, interconnection, web
service requested (e.g. http: or https:) and software configuration
at PNS and PWS. Special security means must also be installed.
Because the phonepage service is typically highly asymmetrical, the
PWS will absorb most of the extra load involved with this
scheme.
GSM Call Illustration.
[0252] FIG. 23A to 23C show a signaling scheme of an exemplary
GSM-type of system, involving a complete call handling sequence
between two GSM/GPRS, Class A, PMTs with phonepage functionality.
The phonepage function will be readily understood by following the
diagram and explanatory text below. Note that this is only an
example and that vital signaling has been omitted for clarity. The
procedures are: TABLE-US-00039 2301 The A-party phonepage user
enters the telephone number of the B-party and presses the SEND
button. The PMT sends a SETUP message to the MSC. 2302 The MSC
responds with a CALL PROCEED message, which is a triggering event
for the phonepage functionality. 2303 A URI is compiled
(comprising, for example, the B-number and the PNS server to use)
and transferred to the browser, which sends a "PNS Request" message
to the PNS. The B-party's PMT is notified using a SETUP message.
This message is sent in response to the SETUP message from the
A-party. The B-party SETUP message contains (indirectly) a CLI
information element revealing the MSISDN of the A-party. 2304 PNS
sends a "PNS Redirect" message to the browser in the PMT containing
a new URI with a pointer to B's PWS. The B-party's PMT sends a CALL
CONFIRMED message to the MSC. 2305 The browser in the A-party's PMT
connects to the PWS of the B-party by sending a "PWS Request"
message. The B-party's PMT rings and ALERTs the MSC that it is
ringing. The ALERT message is a triggering event for the PhonePage
functionality. 2306 The A-party PMT obtains B's "Called" phonepage
from B's PWS. The phonepage is rendered in the display. 2307 At the
B-party, a URI is compiled (comprising, for example, the A-number
(CLI) and B's PNS server) and is transferred to the browser, which
sends a "PNS Request" message to the PNS. 2308 A ringing control
tone is heard by the A-party in response to an ALERT message
received from the MSC. The B-party's browser receives a "PNS
Redirect" message pointing to the PWS of the A-party. 2309 The
browser in the B-party's PMT connects to the PWS of the A-party by
sending a "PWS Request" message. 2310 The B-party's PMT obtains A's
"Ringing" phonepage from A's PWS. The phonepage is rendered in the
display. 2311 The B-party's PMT may ring several times whereby a
ringing control tone may be heard at the A-party. 2312 The B-party
answers the call. The PMT sends a CONNECT message to the MSC. The
CONNECT message is a triggering event for the B-party's phonepage
functionality. 2313 In response, the A-party receives a CONNECT
message from the MSC, which is a triggering event for the A-party's
phonepage functionality. At the B-party, a new URI is compiled and
sent to the B-party's PNS server in a "PNS Request" message. 2314 A
new URI is also compiled and sent to the A-party's PNS server in a
"PNS Request" message. The PNS redirects the browser at the B-party
to the A-party's PWS. 2315 The PNS redirects the browser at the
A-party to the B-party's PWS. The browser of the B-party connects
to the PWS of the A-party by sending a "PWS Request" message. 2316
The browser of the A-party connects to the PWS of the B-party by
sending a "PWS Request" message. The B-party's PMT obtains A's
"Conversational" phonepage from A's PWS, The phonepage is rendered
in the display. 2317 The A-party's PMT obtains B's "Conversational"
phonepage from B's PWS. The phonepage is rendered in the display.
2318 Audio conversation may be conducted between the parties from
step 2314 to step 2319. 2319 The A-party hangs up and a DISCONNECT
message is sent to the MSC. 2320 The MSC responds with a RELEASE
message. The MSC sends a DISCONNECT message to the B-party's PMT.
2321 When communication resources are released the A-party PMT
sends a RELEASE COMPLETE message to the MSC. The RELEASE COMPLETE
message is a triggering event for the A-party's phonepage
functionality. A RELEASE message is sent by the B-party's PMT to
the MSC. 2322 A new URI is compiled by the A-party's PMT and is
sent to the A-party's PNS server in a "PNS Request" message. The
RELEASE COMPLETE message is sent to the B-party's PMT. The RELEASE
COMPLETE message is a triggering event for the B-party's phonepage
functionality. 2223 The PNS redirects the browser at the A-party to
the B-party's PWS. A new URI is compiled by the B-party's PMT and
is sent to the B-party's PNS server in a "PNS Request" message.
2324 The browser of the A-party connects to the PWS of the B-party
by sending a "PWS Request" message. The PNS redirects the browser
at the B-party to the A-party's PWS. 2325 The A-party's PMT obtains
B's "Disconnect" phonepage from B's PWS. The phonepage is rendered
in the display. The browser of the B-party connects to the PWS of
the A-party by sending a "PWS Request" message. 2326 The B-party's
PMT obtains A's "Disconnect" phonepage from A's PWS. The phonepage
is rendered in the display. 2327 The procedure is ended.
N.B. The procedure is exemplary and can only be viewed as
illustration. PNS Node.
[0253] The PNS is logically separated into two entities: a root and
a local PNS. These may physically be implemented as separate nodes
or integrated into one. The root PNS performs the following
functions: [0254] master database of all phonepage links [0255]
registration of phonepage links [0256] distribution of phonepage
link data to local PNSs
[0257] The root PNS could be implemented in a hierarchical
structure enabling high performance service on a global basis.
[0258] The local PNS contains a local database of phonepage links
and performs the following functions: [0259] reception of phonepage
requests from mobile and fixed users (requestees) [0260] fetching
of relevant phonepages associated with each request [0261]
downloading of said phonepages to requestees
[0262] For capacity and coverage reasons local PNS's will exist in
multiple instances. Moreover, to further improve security,
availability and performance, a mobile operator may want to have a
local PNS directly attached to his backbone.
[0263] An individual local PNS node may need to handle thousands of
requests per second in a high availability fashion. For this reason
a clustered solution with load sharing and redundancy may be
employed.
PWS Nodes.
[0264] The PNS allows any number of PWSs (c.f. the DNS service that
allows any number of homepage servers on the Internet). Thus, there
are no limitations on how the load is distributed over actors and
geography.
[0265] The PWS (phonepage web server) has the following main
functions: [0266] Database for storage of phonepages [0267]
Platform on which various phonepage related applications can reside
[0268] Tools allowing end-users to create and manage phonepages
[0269] Communication with PNS, end-users, and management system
[0270] Adaptation of phonepages according to the end-users device
and preferences
[0271] In the context of WAP, the adaptation of phonepages to the
user's device can be handled according to the mechanisms defined in
UAProf.
[0272] Typically, a PWS may be implemented using standard web
servers (e.g., Apache) with tailor-made servlets that may parse the
phonepage parameter lists and that generate phonepages that are
suitable for the recipient's phonepage device.
Peer to Peer Phonepage.
[0273] According to a variant of the invention, translation of
numbers and events to URLs can be made in the UE itself. Upon
detection of a triggering event, the UE looks in a memory position
(e.g., SIM card or address book) and retrieves or computes a URL
corresponding to a particular other party and event. The URL is
then conveyed to the other party via SMS. Upon reception of the URL
by the other part, the data objects are automatically
retrieved.
[0274] In another variant of the present invention, USSD or UUI
(User-User Information) according to the GSM standard can be used
to convey an URL instead of an SMS. In yet another variant, IP
signaling between two Uls can be used for conveying the SMS instead
of using SMS.
Retreival of Secondary Information to User Equipment
[0275] According to another embodiment of the present invention,
information that is related to, relevant to, or associated with an
ongoing communication (a "primary communication") between a user
and a first data source, such as a data server or a another user,
may be retrieved and provided. For simplicity, this will be
referred to as "secondary information." Examples of secondary
information include album artwork, lyrics, etc. corresponding to a
song, performance schedules for an artist; trivia, facts, new, etc.
about an artist, album, or video; statistics related to a sports
team; weather related to a destination; stock information
corresponding to a company, etc.
[0276] The relationship or association between the primary
communication and the secondary information may be a direct
relationship. An example of such is information about an artist
whose music is being streamed. The relationship or association may
also be indirect, or user-defined. An example of user-defined logic
is a user specifying that if A or B is detected, information type C
or D is to be retrieved about A or B. In the context of music, A
and B could be individual artists, C could be places where A and/or
B live (known to user), D could be a group (band) that A and/or B
were formerly part of (also known to user).
[0277] Examples of primary communications involve voice, audio and
video streams, and data streams (e.g., text messages, instant
messages, etc.).
[0278] Referring to FIG. 24, system 2400 includes a communication
device, such as user equipment (UE) 2410. As discussed above with
reference to FIGS. 5, 11 and 15, UE 2410 may be any device with
communication capability, including, for example, a fixed-line
phone, a mobile telephone, data equipment, e.g., Personal Digital
Assistance devices (PDA), desktop, laptop and handheld computers,
etc. One embodiment of UE 2410 will be described in greater detail
below with reference to FIG. 25.
[0279] UE 2410 communicates with first data source 2420 via
communication channel 2415. Although the figure depicts first data
source 2420 as a mobile phone or server, first data source 2420 may
be another UE, a landline telephone, a data server, such as a
computer, an Internet-based server including those under user
control (home media center, TiVo, slingbox, etc.), free public
sources (Internet radio), fee-based sources, subscription-based
sources, etc. In one embodiment, this communication may be via a
communication infrastructure (not shown), such as is discussed
above. Communication channel 2415 may be a bidirectional or a
unidirectional channel. Example communication channels 2415 include
broadcast, multicast, and unicast channels.
[0280] UE 2410 also communicates with phonepage server 2430 in
order to transmit and receive data via communication channel 2425.
In one embodiment, phonepage server 2430 may include a Phonepage
Number Service (PNS) server and a Phonepage Web Server (PWS).
[0281] Phonepage server 2430 communicates with second data source
2440 over communication link 2435. In one embodiment, second data
source 2440 may include at least one data object server. As
discussed above, pluralities of data object servers are typically
included in a data network, although, for reasons of explanation
and clarity, only one data object server is illustrated in FIG. 24.
Communications between phonepage server 2430 and second data source
2440 may be by any suitable network, for example, Internet and
Intranet networks. Other communication means and networks may be
used as necessary and/or desired.
[0282] In one embodiment, UE 2410 and second data source may also
communicate via communication channel 2445. The use of such a
communication channel is described in U.S. patent application Ser.
No. ______(Attorney Docket No. 57926.000068), filed on Jan. 31,
2007 and entitled "Technique For Providing Secondary Information To
A User Equipment," the contents of which are incorporated by
reference in their entirety.
[0283] Referring to FIG. 25, a block diagram of UE 2410 according
to one embodiment of the present invention is provided. UE 2410 may
further comprise a plurality of programs 2570, including, for
example, a browser 2571 that can render at least one type of data
object and an encode/decode unit 2572 that encodes (or encrypts)
requests for data objects and decodes (or decrypts) data objects.
In addition, in order to implement the provision of secondary
content, UE 2410 may also comprise an event generator application
2673, a request application 2574, a preference module 2575, and a
scanning application 2576. The event generator application 2573 may
be an embedded piece of software that runs automatically or in
response to activation. The event generator application 2573 may
generate triggering events either periodically or based on
predetermined criteria, while the communication device 2410 is busy
receiving and/or rendering a primary content. The request
application 2574 may respond to the triggering event and transmit
requests for secondary content to a phonepage server.
[0284] Preference module 2575 may be used to receive and store a
user's information (e.g., the user's birthdate, home address,
etc.), preferences (e.g., the user's favorite artists, music type,
sports teams), etc. for the retrieval of secondary information.
Other types of information, preferences, etc. may be stored as
necessary and/or desired.
[0285] In one embodiment, the user may enter his or her information
or preferences through keypad or keyboard 2552. In another
embodiment, this information may be transmitted and/or downloaded
to UE 2410. In another embodiment, a web-based method, similar to
that describe above, may be used for the remote creation and user
download of phone pages
[0286] Preference module 2575 may also be provided with a set of
user-defined rules for retrieving secondary information, such as
the type and amount of secondary information to retrieve.
[0287] Scanning application 2576 may be an embedded software
application. In one embodiment, scanning application 2576 scans the
content of the communication with device 2420. In one embodiment,
scanning application monitors the content of a communication
between UE 2410 and first data source 2420, and compares the
content of that communication with the user's information and/or
preferences. In one embodiment, this may involve comparing metadata
in the communication for matches to the stored user preferences and
profile. In another embodiment, scanning application 2576 may
employ image or audio recognition algorithms to identify matches in
the content of the primary communication, such as its renderable
content, rather than with the metadata. Examples of image
recognition algorithms that identify faces may include Eigenface,
Fisherface, the Hidden Markov model, Dynamic Link Matching, and
three-dimensional face recognition. Examples of audio recognition
algorithms may include natural language processing algorithms, and
Gracenote's audio recognition system.
[0288] In one embodiment, the triggering event occurs when scanning
application 2576 identifies a match between the scanned content or
metadata and the user's information or preferences. In response to
this triggering event, scanning application 2576 may cause UE 2410
to communicate a request for a data object, or it may trigger
another application, such as request application 2574, to request
the data object.
[0289] In one embodiment, the data object request may include
information identifying the UE, the requested data object, and a
potential location for retrieving the data object. In one
embodiment, the information identifying the data object may
generic, such as a set of requirements (e.g., information
identifying the object of interest in the primary content and
information about the preferences of the user with respect to
secondary content about that object) which are processed by the
phonepage or other server to provide a data object that best
matches the information provided (or nothing, if no such match
exists). In another embodiment, the information identifying the
data object may also specifically identify the data object
requested, and may include an identification of where that data
object may be found. In these and other embodiments, the amount of
information included in the request may depend upon the level of
intelligence in the communication device versus the level of
intelligence in the network.
[0290] In one embodiment, the data object request may also include
other information included in a phonepage request.
[0291] In one embodiment, the requested data object may be
conditioned based on the matched information and any other relevant
information that the user has provided. For example, the user may
have stored one of his or her favorite bands, and indicated a
preference to be informed of upcoming concert dates. The user may
also desire concert information for a particular area. In that
example, if the user receives audio or video content for that band,
UE 2410 would request concert date information for the user's
preferred area. Other information that may be relevant to the user
may be information regarding the next release by the artist.
[0292] Referring to FIG. 26, a flowchart depicting a method of
retrieving secondary information according to one embodiment of the
present invention is provided.
[0293] In step 2605, the user enters his or her information and/or
preferences into the user's UE. As discussed above, this may
involve providing the UE with a user's information and/or
preferences. In one embodiment, this may be entered on the UE's
keypad. In another embodiment, this may be transmitted to, or
downloaded by, the UE.
[0294] The user's preferences and profile may be stored in the
memory of UE.
[0295] In step 2610, the user participates in a primary
communication with a first data source over a first communication
channel using the UE. This primary communication may be with
another user (e.g., a voice communication, a text communication) or
it may be with a data server to retrieve content (e.g., receiving a
video or audio stream, receiving text, etc.) from the data
server.
[0296] In step 2615, the scanning application on UE scans the
content of the primary communication for a match with the user's
preferences or profile. As discussed above, the scanning
application may scan metadata in the communication for matches to
the user's favorite artists or genre. In another embodiment, the
scanning application may employ image or audio recognition
algorithms to identify matches in the content of the primary
communication, such as its renderable content.
[0297] In one embodiment, the scanning of content or metadata may
be periodic. In another embodiment, the scanning of content may be
continuous.
[0298] In step 2620, if a match is not detected, in one embodiment,
the scanning application continues scanning until the primary
communication is terminated.
[0299] If a match is detected, in step 2625, the match will
generate a triggering event in response to which the scanning
application may request another application, such as a request
application, to request the data object from the phonepage server.
In another embodiment, the scanning application may directly
request the data object from the phonepage server.
[0300] In step 2630, the phonepage server receives the data object
request from the UE. In step 2635, the phonepage server attempts to
locate the data object(s) needed to fulfill the request. The
requested secondary content may comprise one or more data objects.
In some cases, the communication device may include information
that uniquely identifies each data object. In other cases, the
request for the secondary content may be less explicit and may
require further action by the phonepage server and/or any
designated data object source. For example, in one embodiment, the
request for the secondary content might only specify a data object
server and the type of data objects needed. Accordingly, the
phonepage server may communicate with the specified data object
server to identify the requested data objects. In another
embodiment, the request might only specify the data objects needed
without specifically identifying a source of the data objects.
Accordingly, the phonepage server may first identify the
appropriate data object server(s) that have the requested data
objects available and then request those data objects.
[0301] In step 2640, the second data source receives the requests
from the phonepage server. In step 2645, the data object server
retrieves the data object and transmits it to the UE. In one
embodiment, the data object may be retrieved from the data object
holder by the data server, and then delivered to UE. In another
embodiment, the data server may request that that data object
server deliver the data object directly to the UE via a third
communication channel.
[0302] In step 2650, the UE may receive the secondary content and
render it. One or more component data objects may be cached or
stored by the communication device upon receipt and then assembled
to construct the secondary content. To render the secondary content
on the communication device, the reception and/or rendering of the
primary content may be temporarily suspended. Alternatively, the
secondary content may be rendered concurrently or simultaneously
with the primary content. The rendering options may depend on the
type of secondary content as well as the processing or display
capabilities of the communication device. If the secondary content
is of substantially smaller bandwidth than the primary content,
concurrent rendering of both contents may not be a problem. For
example, an RSS feed or stock/sports ticker may be easily rendered
at the bottom of a video frame. If the secondary content is of a
comparable size or complexity as the primary content, concurrent
rendering of both contents may not require higher performance from
the communication device. For example, it may be more practicable
to pause a video-on-demand (VOD) stream in order to play secondary
audio or video data object(s). Likewise, there will be some
instances where providing a user-friendly interface will dictate
the need to stop or pause the rendering of the primary content in
order to render the secondary content.
[0303] The present disclosure is not to be limited in scope by the
specific embodiments described herein. Indeed, other various
embodiments of and modifications to the present disclosure, in
addition to those described herein, will be apparent to those of
ordinary skill in the art from the foregoing description and
accompanying drawings. Thus, such other embodiments and
modifications are intended to fall within the scope of the present
disclosure. Further, although the present disclosure has been
described herein in the context of a particular implementation in a
particular environment for a particular purpose, those of ordinary
skill in the art will recognize that its usefulness is not limited
thereto and that the present disclosure may be beneficially
implemented in any number of environments for any number of
purposes. Accordingly, the claims set forth below should be
construed in view of the full breadth and spirit of the present
disclosure as described herein.
* * * * *
References