throbber
US007287056B2
`
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket