`
`a2) United States Patent
`US 7,287,056 B2
`(0) Patent No.:
`Oct. 23, 2007
`(45) Date of Patent:
`Lovelandet al.
`
`(54) DISPATCHING NOTIFICATION TO A
`DEVICE BASED ON THE CURRENT
`CONTEXT OF A USER WITH THE DEVICE
`
`(75)
`
`Inventors: Shawn Dominic Loveland,
`Sammamish, WA (US); Jorg-Thomas
`Pfenning, Redmond, WA (US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 774 days.
`
`(21) Appl. No.: 09/966,685
`
`(22) Filed:
`
`Sep. 28, 2001
`
`2003/0018692 Al*
`
`1/2003 Ebling et al... 709/108
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`WO 01/69287
`
`9/2001
`
`OTHER PUBLICATIONS
`
`Title: Nomadic Radio: speech and audio interaction for contextual
`messaging in nomadic
`environments Author Sawhney, N.;
`Schmandt, C. Journal: ACM Transactions on Computer-Human
`Interaction vol. 7, No. 3 p. 353-83 Publication Date: Sep. 2000
`Country of Publication: USA.
`
`(Continued)
`US 2003/0065790 Al—-Apr. 3, 2003
`Primary Examiner—Wen-Tai Lin
`(74) Attorney, Agent, or Firm—Workman Nydegger
`
`Prior Publication Data
`
`(65)
`
`(51)
`
`Int. Cl.
`GO6F 15/16
`
`(2006.01)
`(2006.01)
`GO6F 7/00
`(2006.01)
`HO4M 15/00
`(52) US. Ch oo. 709/206; 709/207; 379/211.01;
`707/102
`
`(58) Field of Classification Search................ 709/206;
`340/531; 455/41; 713/169
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`6,275,957 Bl
`/2001 Novik et al. we 714/39
`6,463,462 B1* 10/2002 Smith et al. oo. 709/206
`
`........ 455/412.1
`6,671,508 B1* 12/2003 Mitsuokaet al.
`
`1/2002 Chow et al. .......... 713/169
`2002/0002678 AL*
`we. 455/41
`2002/0022453 AlL*
`/2002 Balog et al.
`.
`
`(2002 Dalal et al. oe. 709/206
`2002/0073158 AlL*
`........ 379/211.01
`2002/0085701 AL*
`7/2002 Parsonset al.
`2002/0118798 Al *
`2002 Langhart et al.
`.
`.- 379/67.1
`
`(2002 Murray .........cce eee 455/414
`2002/0123329 AL*
`2002/0177428 AL*
`11/2002 Menard et al.
`......0... 455/404
`
`(57)
`
`ABSTRACT
`
`After detecting that an event occurs for which notification is
`desired, a notification service determines an appropriate way
`to notify the user given the user’s current circumstances. ‘he
`notification service determines the appropriate notification
`method by accessing context information for the user(e.g.,
`whether the user’s telephoneis on, busy, in hands-free mode,
`in meeting mode, or the like). The notification service then
`accesses a set of rules from which the appropriate notifica-
`tion method may be determined based on the current cir-
`cumstances of the user. These rules may be, for example,
`default rules or may be set of the user. The notification
`service then causes the notification to be sent to the user
`
`using the appropriate notification method. The notification
`methods include voice notifications in which the notification
`is read to the user.
`
`28 Claims, 3 Drawing Sheets
`
`STEP FOR
`SENCING A
`NOTIFICATION TO
`THE USER THAT
`1$ APPROPRIATE
`FOR USER
`CIRCUMSTANCES
`302
`
`DETECT EVENT
`304
`
`
`
`IDENTIFY ONE OF A
`PLURALITY OF NOTIFICATION
`METHODS BASEO ON CONTEXT
`
`304
`
`
`CAUSE NOTIFICATION TO BE
`
`OISPATCHED USING IDENTIFIED
`NOTIFICATION METHOD
`
`
`305
`
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 1
`Page 1
`
`
`
`US 7,287,056 B2
`
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`
`2003/0023690 AL*—1/2003 Lohtia .....
`Title: The computer voices alarm Author Kuroda, T. Conference
`
`2003/0058096
`Al*
`3/2003 Shteyn ....
`Title: Official Proceedings of International Speech Tech ’87: Voice
`..
`2003/0126216
`AL*
`/2003 Avila et a.
`Input/Output Applications Show and Conference p. 76-81 Publica-
`
`2005/0103767
`AL*
`5/2005 Kainecetal.
`
`tion Date: 1987 Country of Publication: USA 260 pp.
`2005/0207544
`AL*
`9/2005 Liu etal.
`....
`2006/0036642
`Al*
`/2006 Horvitz et al..., 707/102
`
`* cited by examiner
`
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 2
`Page 2
`
`
`
`U.S. Patent
`
`Oct. 23, 2007
`
`Sheet 1 of 3
`
`US 7,287,056 B2
`
`YlNdWoo
`
`
`
`
`
`YYOMLINV3IYV1¥901
`
`LS}
`
`
`
`vad¥JdiM
`
`WYOMLIN
`
`JLOWIY
`
`YalndWOo
`
`oS}
`
`S|
`
`NOILVOITdd¥}--29E|
`
`
`
`quvogaay
`
`YOLINOW
`
`
`
`SP)yaldvay
`
`O30IA
`
`bet
`
`ONIS$IOOUd
`
`LINN
`
`
`
`G8)W3LSAS
`
`ONILYYadO
`
`=>—=—
`
`ESNYNDONd
`
`NOILVOIdd¥
`
`
`viv|JOVIMSLNI|[SOVINIING||JOVINRN||ZOVIYIINIWYd0ud
`__|oe
`SHYNDOUdTP
`
`
`NotaLNOdINCIANN0JANG
`
`
`
`
`1143SWolldo||¥Sl0DU3NDNN)=YSIOONWH
`
`ealANOWZNWBLSAS
`
`
`
`
`7¢hs31nd0w
`
`
`
`WYN9ONdYaHLO
`
`
`
`
`
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 3
`Page 3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Oct.
`
`23
`
`, 2007
`
`Sheet 2 of 3
`
`sg300¥
`
`HO93dS-OL-1X3L
`
`J1NGOW
`
`82
`
`006
`
`oan
`
`US 7,287,056 B2
`
`OIN!80QIN!Yalu
`
`HILOLX31N00J1G0W
`sanyLSSOSHOLIMS
`NOLLWOIJILON]]H933dSLeeHd
`bbeEbeYYOMLIN
`——002
`
`yeeYHOMLIN_JOVIYSLNIINOHdIaL
`
`J01AY3S—
`
`NOILVOISILONINIHd3SIOASORT
`
`
`NOILYWHONIFINGON
`
`IIUNOS71NG0Wa4
`
`
`UaAdaSwoltaNOLNOLWOIJILON]__820
`Obe07—__
`=oT_JINGON
`TeYYOMLINiteSHS
`LieNOILINDOOIYHO33dSMe
`
`311800JINGONNOISYIANCD7jwingiyg
`
`
`LS$Vee
`
`¢Old
`
`082
`
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 4
`Page 4
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Oct. 23, 2007
`
`Sheet 3 of 3
`
`US 7,287,056 B2
`
`START
`
`DETECT EVENT
`304
`
`BT|
`|
`STEP FOR
`ACCESS CURREN
`|
`
`|
`NOTIFICATION TO
`USER ori
`|
`|
`THE USER THAT
`|
`!
`IS APPROPRIATE
`:
`|
`FOR USER
`|
`)
`CIRCUMSTANCES
`!
`|
`302
`:
`:
`
`CCESS
`
`CURRENT
`
`
`
`wy
`
`IDENTIFY ONE OF A
`PLURALITY OF NOTIFICATION
`METHODS BASED ON CONTEXT
`304
`
`
`
`
`
`SENDING A
`
`|
`|
`
`|
`|
`|
`
`|
`:
`
`|
`|
`|
`
`|
`:
`
`
`CAUSE NOTIFICATION TO BE
`
`
`DISPATCHED USING IDENTIFIED
`NOTIFICATION METHOD
`
`
`
`305
`
`|
`|
`|
`|
`|
`beeeeee J
`
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 5
`Page 5
`
`
`
`US 7,287,056 B2
`
`1
`DISPATCHING NOTIFICATION TO A
`DEVICE BASED ON THE CURRENT
`CONTEXT OF A USER WITH THE DEVICE
`
`BACKGROUNDOF THE INVENTION
`
`1. The Field of the Invention
`
`The present invention relates to methods, systems and
`computer program products for notifying a user of an event
`via voice notifications or other notification methods depend-
`ing on the user’s dynamic circumstances.
`2. Background and Related Art
`Access to relevant information is essential to the decision
`
`2
`as the user may be distracted from driving if the user has to
`visibly read the text message. Furthermore, should the user
`want to perform an action in response to the notification
`(e.g., asking for the full text of an e-mail whennotified of an
`important e-mail), the user might be tempted to visually
`navigate to the desired action and select that action, thus
`further distracting the user. On the other hand, it may be far
`more appropriate,if the telephoneis in the hands-free cradle,
`to have the notification spoken to the user via a voice
`notification, and to allow the user to act on the voice
`notification by speaking a desired responseaction.
`After detecting that an event occurred for which notifi-
`cation is desired, a notification service determines an appro-
`priate way to notify the user given the user’s current
`circumstances. The notification service determines the
`
`appropriate notification method by accessing context infor-
`mation for the user (e.g., whether the user’s telephoneis on,
`busy, in hands-free mode, in meeting mode,or the like). The
`notification service then accesses a set of rules from which
`
`the appropriate notification method may be determined
`based on the current circumstances of the user. These rules
`
`may be, for example, default rules and/or may be set by the
`user. For example, a default setting may be that if the user’s
`telephone is on, but busy, that the notification be sent to the
`telephone as a text message so as not to interrupt the user
`during a telephone call. However, the user may specify that
`if an e-mail is received from a certain important person, that
`a voice notification interrupt the current conversation even if
`the user is currently on the telephone. The notification
`service then causes the notification to be sent to the user
`
`using the appropriate notification method.
`Additional features and advantages of the invention will
`be set forth in the description which follows, and inpart will
`be obvious from the description, or may be learned by the
`practice of the invention. ‘he features and advantages of the
`invention may be realized and obtained by meansof the
`instruments and combinations particularly pointed out in the
`appended claims. These and other features of the present
`invention will become more fully apparent from the follow-
`ing description and appended claims, or may be learned by
`the practice of the invention as set forth hereinafter,
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`In order to describe the mannerin which the above-recited
`
`and other advantages and features of the invention can be
`obtained, a more particular description of the invention
`briefly described above will be rendered by reference to
`specific embodiments thereof which are illustrated in the
`appended drawings. Understanding that
`these drawings
`depict only typical embodimentsofthe invention andare not
`therefore to be considered to be limiting of its scope, the
`invention will be described and explained with additional
`specificity and detail through the use of the accompanying
`drawings in which:
`FIG.1 illustrates an example computing system that may
`implement the present invention.
`FIG.2 illustrates a suitable network environment in which
`
`the present invention may operate.
`FIG. 3 illustrates a flowchart of a method for notifying a
`user of an event in a context sensitive mannerthat takes into
`consideration the user’s currentstate.
`
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 6
`Page 6
`
`making process. Computer networks such as the Internet
`have revolutionized the way people access information. For
`example, when using an Internet-enabled computing device,
`one can access information on an almost unlimited variety of
`subjects. The proliferation of such computing devices has
`resulted in this modem era being often termed “‘the infor-
`mation age”. Conventional information searches are “syn-
`chronous” in that one obtains the information only after a
`synchronous request for the information.
`Often, it is desirable to know immediately when some-
`thing occurs, without having to navigate to the information
`source, and without having to make a synchronous request
`for the information. This is possible using conventional
`notification technology. Notification technology involves a
`user subscribing to notifications regarding a certain event.
`Later, if the event occurs, a notification is dispatched to the
`user indicating that the event occurred. Notification tech-
`nology is useful when a user is interested in knowing of a
`certain event in a timely manner, without having to con-
`stantly navigate to the information source at frequent inter-
`vals.
`There are a variety of conventional notification tech- :
`niques, typically involving some form of visual notification.
`For example, when using a telephone network to send a
`notification to a mobile device, a notification may take the
`form of one or more related Short Text Message (SMS)
`messages. This notification may include text information
`that typically represents information regarding the event.
`Another type of notification is the Wireless Application
`Protocol (WAP) HyperText Markup Language (HTML)text
`push notification, which may also be used to send text
`notifications, as welt as corresponding layout information, to
`mobile devices.
`Often, certain notification techniques may be less appro-
`priate depending on the user’s circumstances. For example,
`if a user is driving a car, it may be less effective to simply
`display a text notification assembled from SMS messages.
`Viewing the notification would require that the user turn his
`attention from driving. In that case, speaking the notification
`may be the most appropriate notification method. Therefore,
`what are desired are methods, systems, and computer pro-
`gram products for notifying a user via voice notifications, or
`other notifications as appropriate for the user’s circum-
`stances.
`
`20
`
`25
`
`40
`
`45
`
`55
`
`SUMMARYOF THE INVENTION
`
`60
`
`Methods, systems, and computer program products are
`described that notify users of events in a manner that is
`appropriate considering the current circumstances of the
`user. This notification may involve voice notifications.
`For example, the user may be driving a car with the user’s
`telephone in a hands-free cradle. In that case, it may be
`inappropriate to send an urgent notification via text message
`
`
`
`US 7,287,056 B2
`
`3
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`The present invention extends to methods, systems and
`computer program products for facilitating voice notifica-
`tion methods and other notification methods as appropriate
`considering a user’s dynamically changing circumstances.
`The notification process begins when an event occurs that
`requires notification. For example, a user may have previ-
`ously subscribed to notifications regarding the event. The
`user’s current context is then accessed to determine the best
`methodto use in notifying the user. For example,if the user
`is driving a car with the telephone in hands-free mode, the
`user may be notified via an audible voice notification
`through the hands-free telephone. If the user is in front of a
`personal computer, the notification may take the form of an
`instant message. The rules for how and whetherto notify an
`individual given a certain situation may be set by the user.
`Embodiments within the scope of the present invention
`include computer-readable media for carrying or having
`computer-executable instructions or data structures stored
`thereon. Such computer-readable media can be any available
`media that can be accessed by a general purpose or special
`purpose computer. By way of example, and not limitation,
`such computer-readable media can comprise physical stor-
`age media such as RAM, ROM, EEPROM, CD-ROM ar
`other optical disk storage, magnetic disk storage or other
`magnetic storage devices, or any other medium which can be
`used to carry or store desired program code means in the
`form of computer-executable instructions or data structures
`and which can be accessed by a general purpose or special
`purpose computer.
`When information is transferred or provided over a net-
`work or another communications connection (either hard-
`wired, wireless, or a combination of hardwired or wireless)
`to a computer, the computer properly views the connection
`as a computer-readable medium. Thus, any such connection
`is properly termed a computer-readable medium. Combina-
`tions of the above should also be included within the scope
`of computer-readable media. Computer-executable instruc-
`tions comprise, for example,
`instructions and data which
`cause a general purpose computer, special purpose com-
`puter, or special purpose processing device to perform a
`certain function or group of functions.
`FIG. 1 and the following discussion are intended to
`provide a brief, general description of a suitable computing
`environment in which the invention may be implemented.
`Although not required, the invention will be described in the
`general context of computer-executable instructions, such as
`program modules, being executed by computers in network
`environments. Generally, program modules include rou-
`tines, programs, objects, components, data structures, etc.
`that perform particular tasks or implementparticular abstract
`data types. Computer-executable instructions, associated
`data structures, and program modules represent examples of
`the program code meansfor executing steps of the methods
`disclosed herein. The particular sequence of such executable
`instructions
`or
`associated data
`structures
`represents
`examples of corresponding acts for implementing the func-
`tions described in such steps.
`Those skilled in the art will appreciate that the invention
`may be practiced in network computing environments with
`many types of computer system configurations, including
`personal computers, hand-held devices, multi-processor sys-
`tems, microprocessor-based or programmable consumer
`electronics, network PCs, minicomputers, mainframe com-
`puters, and the like. The invention may also be practiced in
`
`10
`
`LS
`
`20
`
`25
`
`30
`
`BS.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`distributed computing environments where tasks are per-
`formed by local and remote processing devices that are
`linked (either by hardwired links, wireless links, or by a
`combination of hardwired or wireless links)
`through a
`communications network. In a distributed computing envi-
`ronment, program modules may be located in both local and
`remote memory storage devices.
`With reference to FIG. 1, an exemplary system for imple-
`menting the invention includes a general purpose computing
`device in the form of a conventional computer 120, includ-
`ing a processing unit 121, a system memory 122, and a
`system bus 123 that couples various system components
`including the system memory 122 to the processing unit 121.
`The system bus 123 may be any of several types of bus
`structures including a memory bus or memorycontroller, a
`peripheral bus, and a local bus using any ofa variety of bus
`architectures. The system memory includes read only
`memory (ROM) 124 and random access memory (RAM)
`125. A basic input/output system (BIOS) 126, containing the
`basic routines that help transfer information between ele-
`ments within the computer 120, such as during start-up, may
`be stored in ROM 124.
`
`The computer 120 mayalso include a magnetic hard disk
`drive 127 for reading from and writing to a magnetic hard
`disk 139, a magnetic disk drive 128 for reading from or
`writing to a removable magnetic disk 129, and an optical
`disk drive 130 for reading from or writing to removable
`optical disk 131 such as a CD-ROMorother optical media.
`The magnetic hard disk drive 127, magnetic disk drive 128,
`and optical disk drive 130 are connected to the system bus
`123 by a hard disk drive interface 132, a magnetic disk
`drive-interface 133, and an optical drive interface 134,
`respectively. The drives and their associated computer-
`readable media provide nonvolatile storage of computer-
`executable instructions, data structures, program modules
`and other data for the computer 120. Although the exem-
`plary environment described herein employs a magnetic
`hard disk 139, a removable magnetic disk 129 and a remov-
`able optical disk 131, other types of computer readable
`media for storing data can be used,
`including magnetic
`cassettes, flash memory cards, digital versatile disks, Ber-
`noulli cartridges, RAMs, ROMs,andthelike.
`Program code means comprising one or more program
`modules may be stored on the hard disk 139, magnetic disk
`129, optical disk 131, ROM 124 or RAM 125,including an
`operating system 135, one or more application programs
`136, other program modules 137, and program data 138. A
`user may enter commands and information into the com-
`puter 120 through keyboard 140, pointing device 142, or
`other input devices (not shown), such as a microphone,joy
`stick, game pad, satellite dish, scanner,or the like. These and
`other input devices are often connected to the processing
`unit 121 through a serial port
`interface 146 coupled to
`system bus 123. Alternatively,
`the input devices may be
`connected by other interfaces, such as a parallel port, a game
`port or a universal serial bus (USB). A monitor 147 or
`another display device is also connected to system bus 123
`via an interface, such as video adapter 148. In addition to the
`monitor, personal computers typically include other periph-
`eral output devices (not shown), such as speakers and
`printers.
`The computer 120 may operate in a networked environ-
`ment using logical connections to one or more remote
`computers, such as remote computers 149a@ and 1496.
`Remote computers 149a and 1495 may each be another
`personal computer, a server, a router, a network PC, a peer
`device or other commonnetwork node, and typically include
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 7
`Page 7
`
`
`
`US 7,287,056 B2
`
`5
`manyorall of the elements described above relative to the
`computer 120, although only memory storage devices 150a
`and 150 and their associated application programs 136a
`and 1366 have been illustrated in FIG. 1. The logical
`connections depicted in FIG. 1 include a local area network
`(LAN) 151 and a wide area network (WAN) 152 that are
`presented here by way of example and not limitation. Such
`networking environments are commonplace in office-wide
`or enterprise-wide computer networks,
`intranets and the
`Internet.
`
`When used in a LAN networking environment, the com-
`puter 120 is connected to the local network 151 through a
`network interface or adapter 153. When used in a WAN
`networking environment, the computer 120 may include a
`modem154, a wireless link, or other means for establishing
`communications over the wide area network 152, such as the
`Internet. The modem 154, which may beinternal or external,
`is connected to the system bus 123 via the serial port
`interface 146. In a networked environment, program mod-
`ules depicted relative to the computer 120, or portions
`thereof, may be stored in the remote memory storage device.
`It will be appreciated that the network connections shown
`are exemplary and other meansof establishing communica-
`tions over wide area network 152 may be used.
`FIG. 2 illustrates an example environment 200 in which
`the present invention may be implemented. FIG.3 illustrates
`a method in accordance with the present
`invention for
`notifying a user of an event in a context sensitive manner
`that takes into consideration the user’s current state. FIGS.
`2 and 3 will be described with frequent reference to each
`other.
`
`the example environment 200
`Referring to FIG. 2,
`includes several devices that are capable of receiving noti-
`fications such as telephonic devices 241 and 242. The
`environment200 also includes a notification source 210 that
`
`generates the notification either in response to having
`directly detected an event, or in response to having indirectly
`detected an event via another notification that may be
`received by the notification source 210. In addition,
`the
`environment 200 includes a delivery component 220 that
`delivers
`the notification using the correct notification
`method to the user of the corresponding telephonic device
`241 or 242.
`
`The notification source 210 may be, for example, an
`enterprise that manages information or that may detect
`events that
`the user is
`interested in. For example,
`the
`notification source 210 may be an e-mail, news, and/or stock
`quote server. The delivery component 220 is responsible for
`delivering the notification using the proper method and may
`be, for example, incorporated in a carrier network.
`Although the notification source 210 and the delivery
`component 220 are illustrated as distinct components sepa-
`rated by a network 216, the notification source 210 and the
`delivery component 220 may, in fact, be at least partially
`integrated. In other words, at least some of the functionality
`described below as being performed by the delivery com-
`ponent 220 may be performed instead by the notification
`source 210, and vice versa. In addition, although the delivery
`component 220 is described as an integrated component, the
`functionality of the delivery component 220 maybe distrib-
`uted over a network. The notification source 210 mayalso be
`distributed.
`The notification source 210 includes a notification service
`
`211 that directly or indirectly detects an event, rules 212 for
`determining the best notification method to use when detect-
`ing an event, context information 213 that represents a user’s
`current state, other database information 214 for storing
`
`10
`
`LS
`
`20
`
`25
`
`30
`
`BS.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`other information such as e-mail or news, an information
`server 215 for allowing the various elements of the notifi-
`cation source 210 to interact with each other and with the
`
`network 216, and a mobile speech access module 217 for
`receiving and complying with voice commands to act in
`responseto a notification. Any database may be usedto store
`the rules 212, context information 213 and other database
`information 214 so long as there is a component (e.g.,
`information server 215) by which this information may be
`accessed.
`
`The information server 215 may be, for example, the
`Microsoft® Mobile Information Server Enterprise Edition
`(also called EE MIS). The network 216 may be, for example,
`the Internet. The notification source 210 and the delivery
`component 220 may each be implemented by a computing
`environment such as the computing environment illustrated
`in FIG. 1. The various elements included within the notifi-
`
`cation source 210 and the delivery component 220 may be,
`for example, one or more of the application programs 136
`and/or other program modules 137 as they are executed by
`processing unit 121. The various elements of the delivery
`component 220 will be described as the method of FIG.3 is
`described further below.
`
`FIG. 3 is a flowchart of a method that may be performed
`by the notification source 210. The notification process is
`initiated by the detection of an event that requires a notifi-
`cation be dispatched to the user (act 301). Referring to FIG.
`2, the notification service 211 may detect an event to which
`a user has previously subscribed. Such events are notlimited
`to any particular events or classes of events. For example,
`the notification may be that a new e-mail from an important
`individual has been received in the user’s in-box. The event
`mayalso be that a breaking newseventor that a stock price
`has reached a predetermined value.
`Then, the method includes a step for sending a notification
`to the user that is appropriate for the user’s circumstances
`(step 302). This step for accomplishing this result may be
`accomplished by the corresponding acts illustrated as acts
`303, 304, and 305. For example, the method may include an
`act of accessing a current context of the user (act 303) after
`detecting the event. Referring to FIG. 2, this may include the
`notification service 211 accessing the context information
`213 via the information server 215. The current context may
`include, for example, whether or not the user’s telephone is
`on, busy, in hands-free mode, out of range, in meeting mode
`or the like for each of the user’s telephones. More regarding
`how the current context may be accurately and dynamically
`updated to reflect the user’s current state will be described
`further below.
`
`Then, the method includes identifying one of a plurality
`of possible notification methods to use in order to dispatch
`the notification based on the current context of the user (act
`304). This may be accomplished,
`for example, by the
`notification service 211 accessing rules 212 via the infor-
`mation server 215. The rules 212 relate the current user
`circumstances with how and whether notification should
`occur given the current circumstances, and may be defined
`by default or by user designation.
`There is an endless permutation of possible rules. As an
`illustrative example, the rules might define which telephonic
`devices to notify given the current time, and what notifica-
`tion methods to use if the current device is on or off, in
`hands-free mode or not, and busy or not. As a more specific
`example, the user may state that she wants to be notified by
`audible voice message if she receives an e-mail from a
`certain individual, except if she is already using the tele-
`Epic Games Ex. 1008
`Epic Games Ex. 1008
`Page 8
`Page 8
`
`
`
`US 7,287,056 B2
`
`7
`phonethrough which the voice message wasto be rendered,
`in which case the user may specify to be notified via a text
`message.
`The method may then cause the notification to be dis-
`patched to the user using the identified notification method
`(act 305). This may include the notification service 210
`issuing a network message over the network 216 to a
`delivery component 220 that is to ultimately deliver the
`notification. Although FIG. 2 shows only one notification
`source, and only one delivery component, those of ordinary
`skill in the art will appreciate, after having reviewed this
`description, that the principles of the present invention may
`be scaled such that multiple notification sources communi-
`cate over the network 216 with multiple delivery compo-
`nents.
`
`The delivery component 220 then delivers the notification
`using the appropriate notification method. In this descrip-
`tion, the operation of the delivery component 220 to deliver
`via three specific notification methods(e.g., voice, SMS, and
`WAPtext push notifications) will be described although
`those of ordinary skill in the art will appreciate, after having
`reviewedthis description, that the principles of the present
`invention may extend to many other types of notification
`methods.
`
`Suppose that the notification method is to be a voice
`notification. In this description and in the claims, a “voice”
`notification is defined as an audible rendering of information
`that is interpretable by a human. For example, a computer-
`ized reading ofa text notification may be considered a voice
`notification under this definition.
`
`LS
`
`20
`
`25
`
`30
`
`The voice notification may be facilitated by the notifica-
`tion source 210 sending one or more network messages to
`the delivery component 220 via the network 216. The
`network message indicates the content of the notification as
`well as an indication that the notification is to be a voice ;
`
`40
`
`45
`
`notification. A notification proxy 222 receives the network
`message via an information server 221. The information
`server 221 may be, for example, the Microsoft® Mobile
`Information Server Carrier Edition (also called CE MIS).
`The notification proxy 222 then causes the SS7 module
`223 to interface via SS7 interface 224 with the Public
`Switched Telephone Network 231 (also called a “PSTN
`network’). The SS7 interfaces are a conventional interface
`typically maintained by carriers to control various aspects of
`a telephone network. For example, the SS7 module 223 may
`cause the SS7 interface 224 to establish a telephonic con-
`nection between the destination telephonic device (e.g.,
`telephone 241, or mobile telephone 242) and the gateway
`225 via the PSTN 231. The gateway 225 operates to convert
`sound data present on the telephone connection between the
`gateway 225 and the destination telephonic device to sound
`data of a form recognizable by various telephone services
`such as voice print module 226, text-to-speech conversion
`module 227, and speech recognition module 228.
`The voice print module 226 may be used for authentica-
`tion by interpreting voice patterns of words spoken by a
`telephone user (e.g., a user of telephone 241 or mobile
`telephone 242) to authenticate the user. The text-to-speech
`conversion module 227 converts text
`to speech. For
`example, in order to create an audible form of the notifica-
`tion, the notification proxy 222 provides the content of the
`notification in text form to the text-to-speech conversion
`module 227. In this description and in the claims, “text-to-
`speech” conversion is defined as any technology now exist-
`ing, or to be developedin the future, that converts text into
`an audible reading of the text. One such technology involves
`the concatenation of digital audio files (e.g.,
`.wav files),
`
`8
`where each audio file represents a word or phrase. A speech
`recognition module 228 either directly recognizes the mean-
`ing of spoken words, or else converts the spoken words into
`text form.
`
`The notification proxy 222 has access to each of these
`telephone services to facilitate the voice notification. For
`example, in order to authenticate the user, the notification
`proxy 222 may provide a text message to the text-to-speech
`conversion module 227 instructing the user to speak certain
`words. This text is then converted to speech information,
`which is audibly presented to the user over the established
`telephone connection between the gateway 225 and the
`destination telephonic device. ‘he user may then respond by
`speaking the certain words. The notification proxy 222
`causes the voice print module 226 to listen for the spoken
`words andto identify whether or not the voice print matches
`the voice print of the intended recipient of the notification.
`The voice print module 226 may then report the success or
`failure of the voice print authentication to the notification
`proxy 222. Thus, voice print authentication is possible.
`Other forms of authentication may also be performed. For
`example, the speech recognition module 228 may be used to
`report a spoken PIN (i.e., a voice PIN) to the notification
`proxy 222. The gateway 225 may includea caller ID module
`to thereby support authentication using caller ID. In addi-
`tion, the delivery component 220 may support touch-tone
`PIN (e.g., a DIMF pin) authentication. For example, the
`gateway 225 may have a Telephony Application Program
`Interface (TAPI) module that detects and reports concerning
`the receipt of DTMFtones. The delivery component 220 is
`not limi