U.S. patent application number 12/342977 was filed with the patent office on 2009-04-23 for adaptive notification delivery in a multi-device environment.
This patent application is currently assigned to AT&T Intellectual Property I, L.P.. Invention is credited to Javier B. Arellano, Sreenivasa Gorti.
Application Number | 20090106382 12/342977 |
Document ID | / |
Family ID | 33416316 |
Filed Date | 2009-04-23 |
United States Patent
Application |
20090106382 |
Kind Code |
A1 |
Arellano; Javier B. ; et
al. |
April 23, 2009 |
ADAPTIVE NOTIFICATION DELIVERY IN A MULTI-DEVICE ENVIRONMENT
Abstract
A notification service node to deliver notification messages is
disclosed. The notification service node includes a processor and a
memory accessible to the processor. The memory includes
instructions executable by the processor to receive a notification
message via an instant messaging network, where the notification
message is intended for a user. The memory also includes
instructions executable by the processor to identify a plurality of
network-enabled devices that are associated with the user, to
assign one of the network-enabled devices as a current device, and
to send the notification message to the current device. The current
device includes an agent module capable of discovering a second
network-enabled device by communicating from the agent module to a
second agent module of the second network-enabled device. The
current device is capable of negotiating with the second
network-enabled device for the second network-enabled device to
render the content of the notification message.
Inventors: |
Arellano; Javier B.;
(Austin, TX) ; Gorti; Sreenivasa; (Austin,
TX) |
Correspondence
Address: |
AT & T LEGAL DEPARTMENT - Toler;ATTN: PATENT DOCKETING
ROOM 2A-207, ONE AT & T WAY
BEDMINISTER
NJ
07921
US
|
Assignee: |
AT&T Intellectual Property I,
L.P.
Reno
NV
|
Family ID: |
33416316 |
Appl. No.: |
12/342977 |
Filed: |
December 23, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10430806 |
May 6, 2003 |
7496630 |
|
|
12342977 |
|
|
|
|
Current U.S.
Class: |
709/206 |
Current CPC
Class: |
H04L 51/04 20130101 |
Class at
Publication: |
709/206 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Claims
1. A notification service node to deliver notification messages,
the notification service node comprising: a processor and a memory
accessible to the processor, the memory including instructions
executable by the processor to: receive a notification message via
an instant messaging network, wherein the notification message is
intended for a user; identify a plurality of network-enabled
devices that are associated with the user; assign one of the
plurality of network-enabled devices as a current device, the
current device including an agent module capable of discovering a
second network-enabled device by communicating from the agent
module of the current device to a second agent module of the second
network-enabled device, wherein the second agent module of the
second network-enabled device is capable of discovering at least
one other agent module of one of the plurality of network-enabled
devices, the current device capable of negotiating with the second
network-enabled device for the second network-enabled device to
render content of the notification message, wherein the current
device is assigned independent of the capability of the current
device to render the content of the notification message; and send
the notification message to the current device.
2. The notification service node of claim 1, wherein the memory
includes instructions executable by the processor to receive
information from each of the plurality of network-enabled devices
relating to user activity at each of the plurality of
network-enabled devices and wherein the current device is assigned
based on the user activity information of each of the plurality of
network-enabled devices.
3. The notification service node of claim 1, wherein the user
activity information indicates a network-enabled device of the
plurality of network-enabled devices that has most recently
detected user activity.
4. The notification service node of claim 1, wherein the memory
includes instructions executable by the processor to receive
information from a user location related to a location of the user
detector and wherein the current device is assigned based on the
user location information.
5. The notification service node of claim 4, wherein the user
location information indicates a network-enabled device of the
plurality of network-enabled devices that is closest in proximity
to the location of the user.
6. The notification service node of claim 1, wherein the memory
includes a plurality of instructions executable by the processor to
process the notification message based on message urgency, message
sender information, a user profile, at least one user preference,
past behavior of the user, or any combination thereof.
7. The notification service node of claim 6, wherein the current
device is assigned based on the processing of the notification
message.
8. The notification service node of claim 1, wherein notification
messages are received from a plurality of instant messaging
networks.
9. A method of delivering notification messages, the method
comprising: determining that a first network-enabled device is
incapable of rendering content of a notification message;
discovering a second network-enabled device by agent-to-agent
communication between a first agent module of the first
network-enabled device and a second agent module of the second
network-enabled device; receiving information at the first
network-enabled device from the second network-enabled device,
wherein the information indicates that the second network-enabled
device is capable of rendering the content of the notification
message; and negotiating with the second network-enabled device for
the second network-enabled device to render the content of the
notification message.
10. The method of claim 9, further comprising negotiating with the
second network-enabled device for the second network-enabled device
to perform a service associated with the notification message.
11. The method of claim 9, wherein the first network-enabled device
includes one of a set-top box device, a personal computer, a tablet
computer, and a cellular telephone.
12. The method of claim 9, wherein the second network-enabled
device includes one of a set-top box device, a personal computer, a
tablet computer, and a cellular telephone.
13. The method of claim 9, further comprising: discovering a third
network-enabled device by agent-to-agent communication between the
first agent module of the first network-enabled device and a third
agent module of the third network-enabled device; and receiving
information at the first network-enabled device from the third
network-enabled device, wherein the information from the third
network-enabled device indicates that the third network-enabled
device is capable of rendering the content of the notification
message; wherein the first network-enabled device chooses to
negotiate with the second network-enabled device to render the
content of the notification message based on a location of the
second network-enabled device and a location of the third
network-enabled device with respect to a location of the first
network-enabled device.
14. The method of claim 13, wherein the third network-enabled
device includes one of a set-top box device, a personal computer, a
tablet computer, and a cellular telephone.
15. The method of claim 9, wherein rendering the content of the
notification message includes visually presenting the content,
audibly presenting the content, or any combination thereof.
16. The method of claim 9, wherein the notification message is
associated with a particular format, a particular connection type,
a particular type of transaction, or any combination thereof.
17. A computer-readable medium comprising executable instructions
that, when executed by a processor, cause the processor to:
determine that a network-enabled device is incapable of rendering
content of a notification message; discover a second
network-enabled device by communicating from an agent module of the
network-enabled device to a second agent module of the second
network-enabled device; receive information from the second
network-enabled device, wherein the information indicates that the
second network-enabled device is capable of rendering the content
of the notification message; and requesting the selected
network-enabled device to render the content of the notification
message.
18. The computer-readable medium of claim 17, further comprising
executable instructions that, when executed by the processor, cause
the processor to: discover a third network-enabled device by
communicating from the agent module of the network-enabled device
to a third agent module of the third network-enabled device;
receive information from the third network-enabled device, wherein
the information from the third network-enabled device indicates
that the third network-enabled device is capable of rendering the
content of the notification message; and select one of the second
network-enabled device and the third network-enabled device to
render the content of the notification message based on a location
of the second network-enabled device and a location of the third
network-enabled device with respect to a location of the
network-enabled device.
19. The computer-readable medium of claim 18, further comprising
executable instructions that, when executed by the processor, cause
the processor to negotiate with the second network-enabled device
for the second network-enabled device to perform a service
associated with the notification message.
20. The computer-readable medium of claim 18, wherein the
notification message is intended for a user, and wherein the user
is associated with each of the network-enabled device, the second
network-enabled device, and the third network-enabled device.
Description
CLAIM OF PRIORITY
[0001] This application is a continuation application of, and
claims priority to, U.S. patent application Ser. No. 10/430,806,
filed May 6, 2003, the contents of which are expressly incorporated
herein by reference in their entirety.
FIELD OF THE DISCLOSURE
[0002] The present disclosure relates to methods and systems for
delivering notification messages from messaging networks.
BACKGROUND
[0003] Home network environments are becoming increasingly
prevalent as network-enabled consumer devices proliferate. Examples
of the network-enabled consumer devices include personal computers
(PCs), personal digital assistants (PDAs), smart telephones, Web
tablets or other tablet computers, set-top boxes, and
Internet-enabled refrigerators. Each of these devices, at its core,
has Internet or Web access in addition to one or more
device-specific functions.
[0004] A popular application of the Internet is instant messaging
(IM). Users receive and send messages to each other using a client
application interface. For most popular IM networks (e.g. America
Online's AOL Instant Messenger and Microsoft's MSN Instant
Messenger), versions of the client software exist for PCs, PDAs,
and sometimes for smart telephones.
[0005] Instant messaging is currently evolving from basic
user-to-user notification to more generalized notification services
where back-end services send alert messages to users. For example,
an airline may send notification to a user about an arrival or
departure status of a particular flight. Another example is a home
surveillance camera sending an alert and a Web link to a video
clip. A further example is an alert from a Web-based auction site
about a competing bid to which a user needs to respond within an
hour.
[0006] Current client-based IM networks offer limited support for
the aforementioned scenarios. First, each of these IM networks
requires a proprietary client. Second, the client needs to be
available on multiple devices within the user's home. Third,
dealing with multiple of these IM networks is a nuisance for an
average user. In some cases, the client itself is a gateway to
multiple IM networks, but these gateway clients have been limited
to a few kinds of devices. Fourth, the user needs to be "logged in"
to the network on a particular device and have this device be
available to receive the notification. Often, this particular
device is a cellular phone which has limited display and processing
abilities.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present disclosure is pointed out with particularity in
the appended claims. However, other features are described in the
following detailed description in conjunction with the accompanying
drawing in which:
[0008] FIG. 1 is a block diagram of an embodiment of a system for
adaptive notification delivery; and
[0009] FIG. 2 is a flow chart of an embodiment of a method of
adaptive notification delivery.
DETAILED DESCRIPTION
[0010] Disclosed herein are methods and systems that enable a user
to receive notifications from multiple IM networks on a variety of
consumer devices. The method and system coordinate multiple
consumer devices of the user based on the devices' capabilities to
properly render different types of messages (including different
media formats, different connection types, and different types of
transactions). A notification service node forwards notification
messages to an active one of the user's devices. The active device
proceeds to display content associated with the notification
message if capable of same. If incapable, the active device
negotiates with a secondary device to render the content.
[0011] FIG. 1 is a block diagram of an embodiment of a system for
adaptive notification delivery. The system comprises a notification
service node 10 registered to receive notification messages on at
least one Instant Messaging (IM) network 12, and to forward each
notification message to an end device within a network 14.
Preferably, the notification service node 10 is to receive
notification messages from multiple IM networks (e.g. AOL IM from
America Online and GROOVE). The multiple IM networks may include
one or more business-oriented IM networks and one or more
consumer-oriented IM networks. For purposes of illustration and
example, the notification service node 10 is shown to receive
notification messages from three different IM networks 16, 18 and
20.
[0012] The notification service node 10 comprises a processor
programmed to perform the specific acts described herein. The
processor may be responsive to a computer-readable medium encoded
with executable instructions representing a computer program.
Examples of the computer-readable medium include, but are not
limited to, a magnetic medium such as a hard drive or another
magnetic disk, an optical medium such as a CD, a DVD, or another
optical disk, and an electronic medium such as an electronic memory
or an electronic memory card. The notification service node 10 may
be integrated with one of the user's network-enabled devices, or
may be a standalone gateway device.
[0013] In one implementation, the notification service node 10
provides a gateway service. In other implementations, the
notification service node 10 incorporates filters to process the
notification messages based on message urgency, message sender
information, a user profile, at least one user preference, and past
behavior of a user.
[0014] The notification service node 10 may serve a single user, in
which case each notification message is forwarded to one or more
network-enabled devices associated with the single user.
Alternatively, the notification service node 10 may serve multiple
users, in which case each notification message is forwarded to one
or more network-enabled devices associated with its intended
recipient user.
[0015] Regardless of whether a single user or multiple users are
served, the notification service node 10 forwards each notification
message to a current device associated with the user who is the
intended recipient. Preferably, the current device is one of the
user's network-enabled devices that is either closest in proximity
to the user or has most recently experienced user activity.
[0016] For purposes of illustration and example, four
network-enabled devices 22, 24, 26 and 30 associated with a
particular user 31 are depicted in FIG. 1. The network-enabled
device 22 may comprise a set-top box in the particular user's home,
for example. The network-enabled device 24 may comprise a personal
computer in the particular user's bedroom, for example. The
network-enabled device 26 may comprise a Web tablet computer for
the particular user 31, for example. The network-enabled device 30
may comprise the particular user's cellular telephone, for
example.
[0017] In general, each of the network-enabled devices 22, 24, 26
and 30 is capable of receiving notification messages via the
network 14 from the notification service node 10. However, each of
the network-enabled devices 22, 24, 26 and 30 has its own set of
capabilities and services for rendering content and performing
actions associated with a notification message. For example, a
protocol enabling secure communications between a Web server and a
browser, such as Secure Sockets Layer (SSL), may be fully supported
by the network-enabled devices 24 and 26 (e.g. the personal
computer and the Web tablet), but may have limited support by the
network-enabled device 22 (e.g. the set-top box). As another
example, the network-enabled device 22 (e.g. the set-top box) may
support higher quality video than the network-enabled devices 24
and 26 (e.g. the personal computer and the Web tablet).
[0018] Each of the network-enabled devices 22, 24, 26 and 30 has a
respective agent module 32, 34, 36 and 40 to assist in providing
adaptive notification delivery based on device capabilities and
user activity and/or proximity. Each respective agent module is a
lightweight software module which acts to determine if its
associated network-enabled device is capable of rendering content
associated with a notification message received thereby, to
advertise its services and capabilities to at least one other
respective agent module, to discover at least one other agent
module, and to communicate information with at least one other
respective agent module. Agent-to-agent communication can be
facilitated using either an Agent Communication Language or a
peer-to-peer protocol such as JXTA (Juxtapose) via the network 14.
The network 14 may comprise a wireless network (e.g. 802.11), a
wireline network (e.g. Ethernet), or a combination thereof. In one
embodiment, the network 14 comprises a local area network (LAN) for
a user's home. In another embodiment, the network 14 comprises a
wide area network (WAN) such as a digital subscriber line (DSL)
network that serves multiple users premises.
[0019] As stated in the foregoing description, the notification
service node 10 forwards a notification message to a current device
based on user proximity or user activity. The respective agent
module of the current device processes the notification message
based on the capabilities of the current device. In particular, the
respective agent module directs the current device to render
content associated with the notification message if the current
device is capable of same. If the current device is incapable, the
respective agent module negotiates with another one of the
network-enabled devices to render the content.
[0020] To determine the current device for the particular user 31,
each of the network-enabled devices 22, 24, 26 and 30 may have a
respective user activity detector 42, 44, 46 and 50. Each user
activity detector may detect user activity similar to a screen
saver program by detecting user-initiated input actions made by a
keyboard, a pointing device such as a mouse or a touch pad, or
another user-input device associated with its network-enabled
device. The user activity detectors 42, 44, 46 and 50 detect which
of the network-enabled devices 22, 24, 26 and 30 is experiencing or
has most recently experienced user activity. The current device may
be assigned as the presently-active one or the most-recently active
one of the network-enabled devices 22, 24, 26 and 30.
[0021] Alternatively, a user location detector 52 may be used to
assign one of the network-enabled devices 22, 24, 26 and 30 as the
current device. The user location detector 52 may comprise an agent
monitoring a network of sensors to determine a user location, and
determine which of the network-enabled devices 22, 24, 26 and 30 is
closest in proximity to the particular user 31. The current device
may be assigned as the closest one of the network-enabled devices
22, 24, 26 and 30.
[0022] An embodiment of a method of adaptive notification delivery
using the system of FIG. 1 is described with reference to the flow
chart in FIG. 2. As indicated by block 60, the method comprises
receiving, at the notification service node 10, a notification
message for the user 31 from an IM network. The IM network may
comprise any of the IM networks 16, 18 and 20.
[0023] Optionally, as indicated by block 62, the method comprises
processing the notification message based on at least one of
message urgency, message sender information, a user profile, at
least one user preference and past behavior of the user 31. The act
of processing is performed by the notification service node 10.
[0024] As indicated by block 64, the method comprises assigning one
of the user's network-enabled devices 22, 24, 26 and 30 as a
current device. This act may comprise detecting which of the user's
network-enabled devices 22, 24, 26 and 30 is experiencing or has
most recently experienced user activity, and assigning same as the
current device (block 66). Alternatively, this act may comprise
detecting a location of the user 31 and assigning the current
device as one of the user's network-enabled devices 22, 24, 26 and
30 close in proximity to the user 31 (block 70). In addition to
user location and user activity, the current device may be assigned
based on the processing performed in block 62. For purposes of
illustration and example, consider that the user 31 is using and/or
proximate to the network-enabled device 24 when the notification
message is received, and therefore the network-enabled device 24 is
the current device.
[0025] As indicated by block 72, the method comprises forwarding
the notification message from the notification service node 10 to
the current device. Continuing with the above example, the
notification message is forwarded to the network-enabled device
24.
[0026] As indicated by block 74, the method comprises determining
whether the current device is capable or incapable of rendering
content or performing a service associated with the notification
message. This act may be performed by the agent module 34 of the
current device. If it is determined that the current device is
capable of rendering the content and/or performing the service, the
content is rendered and/or the service is performed using the
current device (block 76). Rendering content may comprise visually
and/or audibly displaying the content. If it is determined that the
current device is incapable of rendering the content and/or
performing the service, the following acts are performed to find
another network-enabled device to render the content and/or perform
the service.
[0027] As indicated by block 80, the method comprises discovering,
by the current device, at least one other network-enabled device
associated with the user 31. The current device discovers the at
least one other network-enabled device by agent-to-agent
communication between agent modules via the network 14. In one
embodiment, the current device discovers all of the other
network-enabled devices 22, 26 and 30 associated with the user
31.
[0028] As indicated by block 82, the method comprises receiving, by
the current device and from at least one discovered device,
information indicating a capability of the discovered device. The
information is communicated between agent modules via the network
14.
[0029] As indicated by block 84, the method comprises determining
which of the discovered device(s) is capable of rendering the
content and/or performing the service based on the information. A
capable device that is near the current device is selected to be a
secondary device to render the content and/or perform the service.
Continuing with the above example, consider that the
network-enabled device 22 is the secondary device.
[0030] As indicated by blocks 86 and 90, the method comprises
negotiating, between the current device and the secondary device,
to cause the secondary device to render the content and/or perform
the service. Negotiation is performed by agent-to-agent
communication via the network 14. Continuing with the above
example, the content associated with the notification message is
communicated to and rendered by the network-enabled device 22. The
network-enabled device 22 also may be used to perform a service
associated with the notification message.
[0031] Two specific examples are provided to illustrate practical
applications of the adaptive notification method and system.
EXAMPLE 1
Secure Protocol Service
[0032] John is scheduled to take the 8:00 AM flight from Austin to
Chicago, then on to Boston, using a particular airline. However,
due to bad weather in Chicago, the flight to Chicago is canceled.
As John is watching the morning news at home and preparing to leave
for the airport, an alert is received by a set-top box through the
notification service, and displayed on his bedroom TV. In the
alert, the airline suggests an alternative route and needs
confirmation of his acceptance to immediately reroute his travel
plans. Using the set-top box, John selects to see the alternative
route on his bedroom TV. However, since the set-top box is limited
in its SSL support, the set-top box negotiates with a personal
computer in the bedroom to display a secure Web page to allow John
to complete the transaction.
EXAMPLE 2
Content Rendering
[0033] Bob is surfing the Web on his Web tablet computer when he
receives a notification from one of his friends. The notification
message suggests that Bob should visit a local air show today. His
friend has attached a Uniform Resource Locator (URL) or another
computer address link to a video clip which is an advertisement for
the show. Bob clicks "play" on the associated notification. The Web
tablet determines that it lacks the resources to properly play the
video clip, and thus decides to negotiate with a set-top box to
play the video clip using a television display.
[0034] Both of the above examples show how an active device
receives a notification and then negotiates with a nearby device to
properly complete a service. Delivering the notification to the
active device obviates the need for users to repeatedly check for
time-critical notifications. Negotiating with a nearby device acts
to aggregate capabilities across multiple devices. In each case,
the only service that is aware of the back-end IM or other
messaging network is the notification gateway service.
[0035] It will be apparent to those skilled in the art that the
disclosed subject matter may be modified in numerous ways and may
assume many embodiments other than the preferred forms specifically
set out and described herein. For example, the acts of discovering
other devices and their capabilities may be performed prior to
determining whether the current device is capable of rendering the
content and/or performing the service. More generally, some acts
depicted in FIG. 2 may be performed in an alternative order or in
parallel to provide the same adaptive notification result.
[0036] Accordingly, it is intended by the appended claims to cover
all modifications which fall within the true spirit and scope of
the present invention.
* * * * *