throbber
(12) United States Patent
`Glasser et al.
`
`US006519639B1
`US 6,519,639 B1
`Feb. 11,2003
`
`(10) Patent N0.:
`(45) Date 0f Patent:
`
`(54) SYSTEM AND METHOD FOR ACTIVITY
`EATNVBOIEEIEORTING IN A
`
`Primary Examiner—Moustafa M. Meky
`(74) Attorney, Agent, or F irm—Woodcock Washburn LLP
`
`(75) Inventors: Daniel S. Glasser, Seattle, WA (US);
`Stephen M. Li?ick, Seattle, WA (US)
`
`ABSTRACT
`
`57
`(
`)
`-
`-
`-
`-
`-
`-
`A
`system for momtormg user activity in an mstant messag
`(73) Assignee; Microsoft Corporation, Redmond, WA ing session on a computer network periodically sends an
`(US)
`activity message to other participants in the instant messag
`f th,
`th t
`d, 1 _
`S b, t t
`ing session if the user has actively entered data during a ?rst
`u ec 0 an 1sc a1mer, e erm o
`is
`_
`_
`_
`_
`_
`patelnt is eXtZnded or adjusted under 35
`predetermined time mterval. The system periodically sends
`U_S,C, 154(b) by 0 days,
`a neW activity message at intervals corresponding to the ?rst
`predetermined time interval so long as the user is actively
`entering data during each time interval. If the user has not
`entered data during the ?rst predetermined time interval, the
`system Will not send an activity message. Other participants
`in the instant messa in Session receive the activit messa e
`g g
`y
`g
`and generate an acnvlty_n_ldlcator or} Fhelr respect“? (115‘
`plays. The computer receiving the activity message displays
`an activity indicator on the computer display in response to
`receipt of an activity message and starts a timer to measure
`a second predetermined time interval. If another activity
`message is not received Within the second predetermined
`
`( * ) N t,
`0 ice:
`
`(21) APPL NOJ 09/359,337
`(22) Filed:
`Jul_ 21’ 1999
`51
`I t C] 7
`.............................................. ..
`(
`)
`n .
`.
`709/224- 709/204- 709/205
`(52) U s C]
`(58) Field of Search ............................... .. 709/200, 201,
`709/203, 217, 218, 219, 223, 224, 227,
`228, 229, 204
`
`G06F 13/00
`
`(56)
`
`_
`References Clted
`U.S. PATENT DOCUMENTS
`
`6260148 B1 * 7/2001 Aggalwal et aL ________ __ 713/201
`6,288,715 B1 * 9/2001 Bain et a1. ................ .. 345/211
`6,301,609 B1 * 10/2001 Aravamudan et a1. .... .. 709/207
`
`time interval, the activity indicator is deleted from the
`display.
`
`* cited by examiner
`
`54 Claims, 6 Drawing Sheets
`
`150
`
`Establish / 152
`communication link
`
`Us
`entered data
`
`Send activity message
`
`f 155
`
`f 160
`
`Start timer
`
`User-entered
`data
`'2
`
`Set activity ?ag
`
`f 164
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 1
`
`

`
`Facebook and WhatsApp Exhibit No. 1005
`Page 2
`
`

`
`U.S. Patent
`
`Feb. 11, 2003
`
`Sheet 2 0f 6
`
`US 6,519,639 B1
`
`/ 21
`
`f 36
`
`CPU
`
`4
`
`>4
`
`>
`
`DISPLAY
`
`/ 22
`
`MEMORY
`
`‘
`
`"
`
`f 102
`
`USER INPUT
`DEVICE
`
`/ 106
`
`TIMERS
`
`"
`
`f 104
`
`USER ACTIVITY
`MONITOR
`
`/ 108
`
`f 40
`
`MESSAGE
`PROCESSOR
`
`‘
`" \
`23
`
`‘
`'
`
`NETWORK
`INTERFACE
`
`Fig. 2
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 3
`
`

`
`Facebook and WhatsApp Exhibit No. 1005
`Page 4
`
`

`
`U.S. Patent
`
`Feb. 11,2003
`
`Sheet 4 6f 6
`
`US 6,519,639 B1
`
`150
`
`Establish
`communication link
`
`_/ 152
`
`@ A:
`
`154
`
`User
`entered data
`f)
`
`Send activity message
`
`f 156
`
`i
`
`Start timer
`
`f 160
`
`V
`
`Set activity flag
`
`User-entered
`data
`
`Fig. 4A
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 5
`
`

`
`U.S. Patent
`
`Feb. 11,2003
`
`Sheet 5 6f 6
`
`US 6,519,639 B1
`
`Generate and send _/ 172
`activity message to all
`recipients
`
`i
`
`_/ 174
`
`Reset activity flag
`
`Fig. 4B
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 6
`
`

`
`U.S. Patent
`
`Feb. 11, 2003
`
`Sheet 6 0f 6
`
`US 6,519,639 B1
`
`Start
`
`200
`
`‘
`Establish
`communication
`link
`
`_/ 20?
`
`/204
`
`Start timer
`
`Receive activity
`message
`
`Delete activity
`indicator
`
`V
`
`Display activity
`indicator
`
`_/-210
`
`Fig. 5
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 7
`
`

`
`US 6,519,639 B1
`
`1
`SYSTEM AND METHOD FOR ACTIVITY
`MONITORING AND REPORTING IN A
`COMPUTER NETWORK
`
`TECHNICAL FIELD
`
`The present invention is related generally to computer
`networks and, more particularly, to a system and method for
`monitoring user activity and reporting the same in a com
`puter netWork.
`
`BACKGROUND OF THE INVENTION
`
`Computer networks, such as the Internet, are extensively
`used for storage and retrieval of a vast reservoir of infor
`mation. Person-to-person communication, in the form of
`electronic mail (e-mail), has also become Widely accepted as
`a replacement for conventional mail and facsimile. Any
`individual Who has access to the Internet can establish an
`e-mail account and communicate With other individuals on
`the Internet.
`A neW form of e-mail communication, knoWn as instant
`messaging, is gaining popularity among users of the Inter
`net. As shoWn in a recent popular movie, “You’ve Got
`Mail,” tWo individuals can engage in an ongoing electronic
`communication Without the need for entering the message
`recipient’s e-mail address for each individual transmission.
`The advantage of instant messaging is that tWo or more
`individuals may engage in an ongoing electronic “chat” by
`simply typing the message on the keyboard and pressing the
`“Enter” button on the computer keyboard or by clicking on
`a “Send” icon on the computer display screen.
`Unlike telephonic communication, When participants
`knoW that a person is speaking, participants in an instant
`messaging session do not knoW that somebody is preparing
`a message for transmission. Without a cue that the other
`person is transmitting information, it is difficult to have a
`smooth conversational ?oW. One mechanism that addresses
`this problem is employed by a UNIX “talk” program, Which
`performs a character-by-character transmission of an instant
`message. That is, each time individual types of a single
`character on the computer keyboard, that character is trans
`mitted to all other participants in the instant messaging
`session. Because other participants are essentially Watching
`the person type, there are clear cues that a user is “talking.”
`HoWever, this approach has several limitations. First,
`character-by-character transmission greatly increases the
`How of netWork traf?c because each character requires one
`or more data packets to be sent to each participant in the
`instant messaging session. In addition, many users do not
`like to be “Watched” as they type, as their typing errors and
`incomplete thoughts are transmitted before they can be
`corrected. Finally, message recipients are often distracted by
`Watching the ?ickering screen in Which characters appear
`one time as a complete message is formed. Therefore, it can
`be appreciated that there is a signi?cant need for a system
`and method that Will provide the desired noti?cation of user
`activity in a computer netWork. The present invention pro
`vides this, and other advantages, as Will be apparent from the
`folloWing detailed description and accompanying ?gures.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`SUMMARY OF THE INVENTION
`
`The present invention is embodied in a system and
`method for detecting user operation of a user input device
`and providing an activity noti?cation to other computers in
`a computer netWork. This is particularly useful in an instant
`
`65
`
`2
`messaging session Where tWo or more participants may be
`preparing messages for other participants in the instant
`messaging session. The system comprises a user input
`device, such as a keyboard, microphone, mouse, or the like,
`and an activity monitor to detect user activation of the user
`input device. The activity monitor Will generate a signal
`indicative of user activation of the input device. A timer
`measures a ?rst predetermined time interval and, if user
`activity is detected Within the ?rst predetermined time
`interval, a message processor generates an activity message
`at the end of the ?rst predetermined time interval and
`transmits the activity message to at least one recipient With
`Whom the user is communicating via the computer netWork.
`When the user initially activates the user input device to
`begin composing a message, the activity message processor
`can immediately send an activity message Without Waiting
`for the expiration of the ?rst predetermined time interval. So
`long as user activity continues to occur in each subsequent
`?rst predetermined time interval, an activity message is sent
`to the at least one recipient at the end of each time interval.
`If no user activity occurs during a particular time interval,
`the activity message processor Will not send an activity
`message at the end of that time interval. If the user subse
`quently begins activity on the user input device again, the
`activity message processor can send an immediate activity
`message or, alternatively, Wait for the expiration of the ?rst
`predetermined time interval to send the activity message.
`The recipient receives and processes the activity message
`to thereby generate an activity indicator, Which may be
`conveniently displayed on the computer display. The activity
`indicator may be in the form of a textual status message, a
`graphical icon, or a combination of the tWo. In this manner,
`the user of the recipient machine is aWare that another
`individual is actively preparing a message for transmission
`via the computer netWork.
`Since the activity message is only transmitted When a user
`is actively operating the user input device, the recipient
`computer must have a Way of determining When some other
`user is no longer active. The recipient computer uses a timer
`to measure a second predetermined time interval. In one
`embodiment, the second predetermined time interval is
`longer than the ?rst predetermined time interval. If an
`activity message is not received Within the second prede
`termined time interval, the recipient machine can delete the
`activity indicator from the display, thereby providing the
`user of the recipient computer With an indication that the
`other participant is no longer actively entering data on their
`user input device. In this manner, the recipient machine does
`not rely on any status message indicating nonactivity, but
`simply presumes that a nonactive status is appropriate if a
`subsequent activity message is not received. This technique
`also minimiZes processing of activity messages by the
`recipient computer since only the ?rst activity message need
`result in a display of the activity indicator. If subsequent
`activity messages are received Within the second predeter
`mined time interval, the recipient computer does not need to
`alter the display to indicate the continued active status. If the
`activity message is not received Within the second prede
`termined time interval, the recipient computer can delete the
`status indicator from the display. Alternatively, the message
`sender can de?ne the second predetermined time interval by
`sending data Within the text message and/or the activity
`message. This programmability alloWs the sender to alter the
`predetermined time period.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 illustrates a computer system that includes com
`ponents to implement the system of the present invention.
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 8
`
`

`
`US 6,519,639 B1
`
`3
`FIG. 2 is a functional block diagram of computer system
`components used to implement the system of the present
`invention.
`FIG. 3 is a functional block diagram illustrating the
`operation of the system of FIG. 2 for multiple participants in
`instant messaging session.
`FIGS. 4A and 4B together form a ?oWchart illustrating the
`operation of the system to monitor user input and to generate
`and transmit a user activity message.
`FIG. 5 is a ?oWchart illustrating the operation of the
`system to receive and process user activity messages.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`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 a personal computer.
`Generally, program modules include routines, programs,
`objects, components, data structures, etc. that perform par
`ticular tasks or implement particular abstract data types.
`Moreover, those skilled in the art Will appreciate that the
`invention may be practiced With other computer system
`con?gurations, including hand-held devices, multiprocessor
`systems, microprocessor-based or programmable consumer
`electronics, netWork PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practiced
`in distributed computing environments Where tasks are
`performed by remote processing devices that are linked
`through a communications netWork. In a distributed com
`puting environment, 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 personal computer 20,
`including a central processing unit (CPU) 21, a system
`memory 22, and a system bus 23 that couples various system
`components including the system memory to the processing
`unit 21. The system bus 23 may be any of several types of
`bus structures including a memory bus or memory
`controller, a peripheral bus, and a local bus using any of a
`variety of bus architectures. The system memory 22 includes
`read only memory (ROM) 24 and random access memory
`(RAM) 25. Abasic input/output system 26 (BIOS), contain
`ing the basic routines that helps to transfer information
`betWeen elements Within the personal computer 20, such as
`during start-up, may be stored in ROM 24.
`The personal computer 20 further includes input/output
`devices 27, such as a hard disk drive 28 for reading from and
`Writing to a hard disk, not shoWn, a magnetic disk drive 29
`for reading from or Writing to a removable magnetic disk 30,
`and an optical disk drive 31 for reading from or Writing to
`a removable optical disk 32 such as a CD ROM or other
`optical media. The hard disk drive 28, magnetic disk drive
`29, and optical disk drive 31 are connected to the system bus
`23 by a hard disk drive interface 33, a magnetic disk drive
`interface 34, and an optical drive interface 35, respectively.
`The drives and their associated computer-readable media
`provide nonvolatile storage of computer readable
`instructions, data structures, program modules and other
`data for the personal computer 20. Although the exemplary
`environment described herein employs a hard disk, a remov
`able magnetic disk 30 and a removable optical disk 32, it
`should be appreciated by those skilled in the art that other
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`types of computer readable media Which can store data that
`is accessible by a computer, such as magnetic cassettes, ?ash
`memory cards, digital video disks, Bernoulli cartridges,
`random access memories (RAMs), read only memories
`(ROM), and the like, may also be used in the exemplary
`operating environment. Other I/O devices 27, such as a
`display 36, keyboard 37, mouse 38, sound board 39 may be
`included in the personal computer 20 and operate in a knoWn
`manner. Still other I/O devices 27, such as a joystick,
`speakers and the like may also be included in the personal
`computer 20. For the sake of brevity, these components are
`not illustrated in FIG. 1.
`The personal computer 20 may also include a netWork
`interface 40 to permit operation in a netWorked environment
`using logical connections to one or more remote computers,
`such as a remote computer 41. The remote computer 41 may
`be another personal computer, a server, a router, a netWork
`PC, a peer device or other common netWork node, and
`typically includes many or all of the elements described
`above relative to the personal computer 20, although only a
`memory storage device 42 has been illustrated in FIG. 1. The
`logical connections depicted in FIG. 1 include a local area
`netWork (LAN) 43 and a Wide area netWork
`44. Such
`netWorking environments are commonplace in of?ces,
`enterprise-Wide computer netWorks, intranets and the Inter
`net.
`When used in a LAN netWorking environment, the per
`sonal computer 20 is connected to the LAN 43 through the
`netWork interface 40. When used in a WAN netWorking
`environment, the personal computer 20 typically includes a
`modem 45 or other means for establishing communications
`over the WAN 44, such as the Internet. The modem 45,
`Which may be internal or external, permits communication
`With remote computers 46—50. In a netWorked environment,
`program modules depicted relative to the personal computer
`20, or portions thereof, may be stored in the remote memory
`storage device 42 via the LAN 51 or stored in a remote
`memory storage device 52 via the WAN 44. It Will be
`appreciated that the netWork connections shoWn are exem
`plary and other means of establishing a communications link
`betWeen the computers may be used.
`The present invention is embodied in the system 100
`illustrated in the functional block diagram of FIG. 2. For the
`sake of clarity, some components illustrated in FIG. 1 are not
`shoWn in FIG. 2 because they do not relate directly to the
`implementation of the system 100. Some components illus
`trated in FIG. 2 are actually implemented by a series of
`instructions stored in the system memory 22 and executed
`by the CPU 21. HoWever, for the sake of clarity, each of
`these components is illustrated as a separate block into block
`diagram because each performs a separate function.
`In addition to the CPU 21 and the system memory 22, the
`system 100 includes the display 36 and netWork interface 40,
`Which are all coupled together by the system bus 23. The
`system 100 can use the modem 45 (see FIG. 1) in place of
`or in addition to the netWork interface 40. HoWever, for the
`sake of brevity, the present description Will refer to the
`netWork interface 40. In addition to these components, the
`system 100 includes a user input device 102, such as the
`keyboard 37. HoWever, as Will be described beloW, the user
`input device 102 may take other forms, such as the mouse
`38 or an audio input device 122 (see FIG. 3) coupled to the
`sound board 39 and speech recognition softWare program.
`A user activity monitor 104 detects user operation of the
`user input device 102 and generates signals in response
`thereto. A timer 106 operates in conjunction With the user
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 9
`
`

`
`US 6,519,639 B1
`
`5
`activity monitor 104 to measure a time period since the last
`user activity. A typical computer 20 (see FIG. 1) includes
`several timers, Which may be part of the CPU 21. The use
`of one or more timers 106 in the system 100 is described in
`greater detail beloW. The programming instructions to oper
`ate the timers 106 to measure one or more predetermined
`time periods is Well knoWn and need not be described herein.
`Amessage processor 108 forms one or more data packets
`for transmission on the LAN 43 (see FIG. 1) or WAN 44
`using the netWork interface 40. The message processor 108
`may send user-entered data, such as a message typed in by
`the user on the keyboard 37. The formation of data packets
`to send text messages over a computer netWork is Within the
`knoWledge of one skilled in the art in need not be described
`in greater detail herein. In addition, the message processor
`108 transmits user activity messages via the netWork inter
`face 39. The formation of activity messages and content
`thereof Will be described in greater detail beloW.
`The message processor 108 also processes data packets
`received from a remote computing platform. For example,
`the message processor 108 receives and processes data
`packets received from another participant in an instant
`messaging session, including text messages and activity
`messages. The operation of the message processor 108 to
`receive and process text messages is knoWn to those skilled
`in the art and need not be described in detail herein. The
`operation of the system 100 for received activity messages
`Will be described in greater detail beloW.
`The system 100 monitors user activity during the instant
`messaging session and sends periodic activity messages to
`other participants in the instant messaging session. In one
`embodiment, the timer 106 measures a ?rst predetermined
`time period and, if user activity of the user input device 102
`occurred Within the ?rst predetermined time period, the
`message processor 108 automatically generates an activity
`message and transmits it to the other participants in the
`instant messaging session. Thus, each participant in the
`instant messaging session is aWare that another participant is
`actively communicating. For example, the timer 106 can
`measure ?ve second intervals. During each ?ve second
`interval, the user activity monitor 104 monitors the user
`input device 102 and detects user at operation or activation
`thereof. If user activity occurred Within the ?ve second
`interval, the message processor 108 Will generate an activity
`message and transmit it over the netWork interface 40 to
`each participant in the instant messaging session.
`The user activity monitor 104 is typically a series of
`computer instructions stored in the system memory 22 and
`executed by the CPU 21. One example of a user activity
`monitor is a computer screen saver, Which blanks or other
`Wise alters data for the display 36 if the user does not
`activate the keyboard 37 or the mouse 38 for some prede
`termined delay time, such as, by Way of example, ten
`minutes. Each time the screen saver program detects user
`activity, it resets the timer. The primary difference betWeen
`the user activity monitor 104 and a screen saver program is
`it that the time period measured by the timer 106 is generally
`much shorter than the typical screen saver delay time.
`Screen saver programs form no part of the present invention,
`but are described as an example of a technique for moni
`toring keyboard activity. The user activity monitor 104 may
`be implemented using similar monitoring techniques, but for
`a shorter time interval, such as ?ve seconds. HoWever, the
`user activity monitor 104 does not alter data for the display
`36 if no activity occurs Within the ?ve second time interval.
`Rather, the message processor 108 does nothing if no
`activity occurs Within the ?ve second time interval and
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`generates an activity message if activity does occur Within
`the ?ve second time interval. The user activity monitor 104
`may also be implemented using hardWare interrupts Wherein
`the user activity monitor detects the generation of interrupts
`from I/O devices, such as the keyboard 37 or mouse 38.
`Similarly, the user activity monitor 104 can monitor user
`activity on input devices, such as a joystick (not shoWn) or
`the audio input device 122 (see FIG. 3) of a multi-media
`board, such as the sound board 39.
`As noted above, the message processor 108 Will generate
`and transmit an activity message if user activity Was
`detected during the last time interval measured by the timer
`106. If no user activity Was detected during the last time
`interval, the message processor 108 Will not generate an
`activity message. Thus, the system 100 does not create
`excessive netWork traffic by transmitting a data packet
`corresponding to each character typed by the user, but only
`periodically sends an activity message indicating that the
`user is actively operating user input device 102.
`The user enters data With the user input device 102 (e.g.,
`the keyboard 37) to form a message for transmission. The
`data entered by the user is stored in a buffer, Which is
`typically part of the memory 22. The user can terminate data
`entry and cause the message processor 108 to form data
`packets and transmit the message by activating a selected
`control on the user input device 102. For example, if user
`input device is the keyboard 37, the user types in the desired
`message and presses the “Enter” key on the keyboard.
`Alternatively, the user may terminate the message input
`mode and transmit the text message by manipulating the
`mouse 38 to position a cursor (not shoWn) on a “Send”
`button on the display 36.
`
`Once a text message has been transmitted, the message
`processor 108 Will not transmit additional activity messages
`until the user once again activates the user input device 102
`to generate another text message. If the data entered by the
`user is the start of a text message, the message processor 108
`can generate and transmit an activity message immediately
`rather than Wait for the time interval measured by the timer
`106 to expire. For example, the message processor 108 can
`generate an activity message the ?rst time the user activates
`the keyboard 37 to type a message. Thus, the system can
`provide an immediate activity message When the user begins
`to enter a message (via the user input device 102) and Will
`subsequently send a periodic activity messages at the end of
`time interval measured by the timer 106 so long as user
`activity occurred during the last time interval. Similarly, the
`message processor 108 can immediately send an activity
`message if the user has entered a partial text message into
`the buffer and then stopped entering data for some time
`greater than the ?rst predetermined time interval and sub
`sequently enters additional data into the buffer.
`
`The activity message itself is transmitted in a conven
`tional email form using the multipurpose Internet mail
`extensions (MIME) format. The activity message has the
`folloWing form:
`MIME-Version: 1.0
`Content-Type: text/x-msmsgscontrol
`TypingUser: <name of sending user>
`<blank line>
`<blank line>
`The text message itself is also transmitted in a conven
`tional email form using the MIME format. The text message
`has the folloWing form:
`
`Facebook and WhatsApp Exhibit No. 1005
`Page 10
`
`

`
`US 6,519,639 B1
`
`7
`
`MIME-Version: 1.0
`Content-Type: text/plain; charset=UTF-8
`To: <name of receiving users>
`<blank line>
`<message body>
`Each recipient receives and processes the activity mes
`sages and text messages. The text messages are processed in
`a conventional fashion and need not be described in greater
`detail herein. The activity messages are processed to indicate
`to each recipient that one or more participants in the instant
`messaging session are actively entering data via their respec
`tive user input devices 102.
`FIG. 3 illustrates an instant messaging session betWeen
`three participants. It should be understood that each partici
`pant in the instant messaging session has a computer plat
`form containing the components illustrated in the FIG. 2.
`FIG. 3 illustrates three computers 20, identi?ed as Comput
`ers A—C, Which are each coupled to a computer netWork 120,
`such as the Internet. As those skilled in the art can
`appreciate, the Computers A—C can be coupled to the
`computer netWork 120 by a variety of means, such as the
`modem 45 (see FIG. 1), netWork connections such as an
`Ethernet connection, or any other conventional netWork
`connection. It is further noted that the Computers A—C need
`not have the same type of netWork connection. For example,
`the Computer A may be connected to the computer netWork
`120 via the modem 45 Within the computer system 20, While
`the computer C may be coupled to the computer netWork by
`high-speed netWork connection, such as an Ethernet con
`nection.
`For purposes of the folloWing discussion, it is assumed
`that the users of the Computers A—C are coupled to the
`computer netWork 120 and engaged in an instant messaging
`session. In accordance With the principles of the present
`invention, if one or participant (e.g., the user of computer A)
`enters text message data using the keyboard 37, the system
`100 Within that computer (e.g., the Computer A) Will gen
`erate an activity message and transmit it to the other com
`puters in the instant messaging session (e.g., the Computers
`B—C). If the user of the Computer C is also typing a message
`on the keyboard 37, an activity message Will be generated by
`the system 100 Within the Computer C and transmitted to the
`Computers A—B.
`It should be noted that the Computer C also includes an
`audio input device 122, such as a microphone, coupled to
`one of the input/output devices 27 (see FIG. 1), such as the
`sound board 39 or other multimedia interface (not shoWn).
`In this example, the user of the Computer C can enter user
`data for a message using the keyboard 37 or the microphone
`122. The audio data can be converted into text data by a
`conventional voice recognition softWare program and trans
`mitted as text data. Alternatively, the message processor 108
`can create data packets for the audio data and transmit audio
`data instead of text data. In either event, the user entry of
`data is detected by the user activity monitor 104 (see FIG.
`2) and the message processor 108 Within the Computer C
`Will send the activity message to the Computers A—B.
`The activity messages received by Computers A—C are
`processed by the message processor 108. As soon as an
`activity message is received, the message processor 108
`generates an activity indicator and displays it on the display
`36. The activity indicator may take the form of a text
`indicator 124, as illustrated on the display 36 of the Com
`puter A. Alternatively, the display indicator may take the
`form of a graphic icon 126, as illustrated on the display 36
`of the Computer C. The activity indicator may also be a
`combination of graphic icon and text indicator.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`8
`The computer receiving the activity message must inde
`pendently determine When another participant is no longer
`actively entering data via the user input device 102.
`Although it is possible for a computer to transmit a status
`message indicating inactivity, such a status message is
`undesirable because it increases the traf?c volume on the
`computer netWork to transmit periodic messages indicating
`that nothing is happening. Furthermore, if a status message
`is not received, it may be due to the fact that the computer
`is no longer coupled to the netWork and is thus unable to
`transmit status messages. Therefore, the present invention
`provides a technique in Which a recipient computer inde
`pendently measures the time interval from the receipt of the
`last activity message and Will assume that a user is no longer
`active if a neW activity message is not received Within a
`predetermined time interval. Returning again to FIG. 2, the
`message processor 108 also resets one of the timers 106
`upon receipt of an activity message. The timer 106 is set to
`measure a second predetermined time interval and can be
`reset to measure a neW time interval When an activity
`message is received.
`Those skilled in the art Will appreciate that timer functions
`may vary from one system to another. For example, the
`Windows@ operating system alloWs the user to select a time
`interval and continuously measure the selected time interval
`until halted by the user. Each time the time interval expires,
`the operating system generates a signal, such as an interrupt,
`and restarts the time interval measurement. With a timer of
`this sort, the system 100 simply starts a timer to measure the
`second predetermined time interval. If a neW activity mes
`sage is not received before the expiration of the second
`predetermined time interval, the message processor 108 Will
`delete the activity indicator from the display 36. For
`example, the timer 106 may measure a six second time
`interval. The message processor 108 Will delete the activity
`indicator from the display 36 at the end of the six second
`time interval unless a neW activity message is received. In
`the example described above, in activity message than is
`generated and transmitted every ?ve seconds (i.e., the ?rst
`predetermined time interval). So long as the user is actively
`entering data, an activity message is transmitted every ?ve
`seconds and thus received just before the expiration of the
`six second time interval. Those skilled in the art Will
`appreciate that the system 100 is not limited to the time
`periods presented in the examples above. The ?ve second
`and six second time intervals measured by the timer 106 may
`be set to other convenient values. Although the ?rst and
`second predetermined time intervals may be set to any
`values, it is convenient to make the second predetermined
`time interval longer than the ?r

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