# Patent

## Title
Method and system for display of activity of users

## Abstract

A method for display of activity of users at workstations. Each workstation is in a different geographical location. Data relating to a rate of computer input activity of at least one user at each workstation is continuously collected from each workstation, compiled in a central database, and displayed in a display in a representation of the rate of computer input activity of the at least one user at each workstation as a different musical characteristic for each workstation. Each different musical characteristic for each workstation is displayed in accordance with the combined number of input device clicks of the users in each workstation in a given period. The input device clicks are key clicks, mouse clicks, or a combination of key clicks and mouse clicks. The representation of the rate of computer input activity may alternatively comprise a visual swirl across a screen or an activity of a robot.

## Background
This application is a divisional of Ser. No. 10/289,881, filed Nov. 7, 2002.


FIELD OF THE INVENTION
The present invention relates to a method and system for the display of the activity of users. In particular, the invention relates to the display of the activity of users at a plurality of workstations in more than one geographical location.
BACKGROUND OF THE INVENTION
In a large organization, there may be more than one geographical location at which members of the organization are active. The locations may be different building within an organization's site, different sites within the same town or city, or locations in different countries. A member of an organization feels the level and type of activity around them in a location but has no concept of whether the level or type of activity is the same at another location. This can result in a problem of a disjointed feeling between different locations of an organization.
It is beneficial to have some community connectivity between remote locations. This provides a sense of belonging with the other location or locations while a member is physically at one location.
Cameras can be used to show some forms of activity at limited specific locations but do not provide a picture of the overall activity of members of an organization at more than one location.
The aim of the present invention is to represent activity at more than one remote geographical location. Traditional concepts of time and motion studies may be represented in an abstract form through networked devices on multiple channels. This provides members of the organization with the sense of belonging to the organization as a whole. Such representation also enables customers to be shown the organization at work giving a picture of the dynamics of the whole organization.
It is known to collect and analyse information relating to the time and work performed on a computer for monitoring the activity of users. US patent application Publication U.S. 2001/0003172 discloses a method and system for such monitoring and analysis of users. The collection of data regarding the use of a computer workstation is carried out on the workstation and the data is stored as an isolated data collection. This document also includes a system for data to be exported from a workstation and used in an estimating algorithm or used in statistical analysis.
SUMMARY OF THE INVENTION
According to a first aspect of the present invention there is provided a method for display of activity of users at a plurality of workstations, the plurality of workstations being grouped in more than one distributed geographical location, the method comprising: continuously collecting data from each workstation, the data relating to the activity of a user at the workstation; compiling the data from the workstations in a central database; displaying the compiled data in a display in an abstract representation of the activity of users at the workstations displayed in real time, the display including the data from the workstations in the more than one geographical location.
The abstract representation may be one of a visual, audio or physical manifestation display. For example, a visual display can be provided on a monitor with user activity represented in different visual forms, an audio representation can be provided by different sounds representing different forms and levels of activity, a physical manifestation display can include a three dimensional model moving in different directions and speed or flows of liquid in a display. It will be appreciated, that the forms of abstract representations are limitless.
Preferably, the display is accessible via a network including the Internet or an intranet. Internet 20 technology may be used to display the data.
A workstation may be a computer interface and the activity may include computer input activity. The computer input activity may include at least one of keyboard strokes, mouse clicks and cursor movement across a screen.
A workstation may also be a device other than a computer, for example, a drinks vending machine, photocopier or corridor location which is monitored for activity. The workstation may be a location and the activity may be movement near the location.
The method may include grouping the data in the display according to at least one of the type of user of the workstation, the location of the workstation, the activity of the user at the workstation. The method may include representing differently each group of data in the display.
According to a second aspect of the present invention there is provided a system for display of activity of users at a plurality of computer interfaces, the plurality of computer interfaces grouped in more than one distributed geographical location, the system comprising: a plurality of computer terminals each with a computer interfaces; each computer terminal having a client application for continuously collecting data relating to the activity of a user of the computer interface; a server for compiling the data from the computer interfaces in a database; means for displaying the compiled data in a display in an abstract representation of the activity of users displayed in real time, the display including the data from the computer interfaces in the more than one geographical location.
The abstract representation may be one of a visual, audio or physical manifestation display.
The means for displaying the compiled data may be in the form of a servlet provided on the server which is accessible via a network. The servlet may be queried frequently by the abstract representation in the form of the visual, audio or physical manifestation.
The activity of a user may include computer input activity including at least one of keyboard strokes, mouse clicks and cursor movement across a screen.
The means for displaying the data may group the data in the display according to at least one of the type of user, the location of the computer interface, the activity of the user at the computer interface. The means for displaying the data may represent each group of data differently in the display.
According to a third aspect of the present invention there is provided a computer program product stored on a computer readable storage medium for display of user activity of users at a plurality of workstations, the plurality of workstations being grouped in more than one distributed geographical location, the computer program product comprising computer readable program code means for performing the steps of: continuously collecting data from each workstation, the data relating to the activity of a user at the workstation; compiling the data from the workstations in a central database; displaying the compiled data in a display in an abstract representation of the activity of users at the workstations displayed in real time, the display including the data from the workstations in the more than one geographical location.



BRIEF DESCRIPTION OF THE DRAWINGS
A preferred embodiment of the invention will now be described in detail by way of example only with reference 30 to the following drawings:
FIG. 1 is a block diagram representation of a system in accordance with the present invention;
FIG. 2 is a schematic representation of the concept of the method and system of the present invention; and
FIG. 3 is a representation of a visual display in accordance with the present invention.



DETAILED DESCRIPTION
Referring to FIG. 1, a system 100 is shown in which there are N locations 102, 104 of an organization. It will be readily appreciated that any number of geographic locations, from two upwards, could be provided. The locations 102, 104 are separated by distances 106 which may be a few hundred meters, several miles or thousands of miles.
Each of the locations 102, 104 has a plurality of workstations 108, 110 at which users carry out one or more activities regarding which data is collected. For example, the workstations 108, 110 may be computers and the activities carried out by a user may include keyboard strokes, mouse clicks, cursor movement, etc. Other forms of workstation 108, 110 can be included, for example, drinks vending machines, photocopiers, corridor locations, lifts, doorways, pool table etc.
Each workstation 108, 110 has means of collecting data regarding the activity or activities at the workstation 108, 110. For example, each workstation 108, 110 in the form of a desktop or laptop computer may run a small client, for example, written in Delphi. This client collects transparently mouse strokes, key presses, mouse clicks, etc. Each workstation 108, 110 client collates its average rate of data. The client may send the data to a data collection client application 112, 114 for each location 102, 104 or each workstation client may send data directly.
In modern environments most computers in an organization are connected to a network. The network may be the organization's intranet or the Internet. Workstations 108, 110 which are in the form of computers can send the collected data continuously via the network to the data collection client 112, 114 for the location 102, 104.
Other forms of workstation 108, 110 such are doorways may be connected to the network if they are operated by an access control system, for example, operated by electronic identity cards. Some workstations 108, 109 may not be connected to the network, for example, photocopier and vending machines, and data may need to be input periodically to the data collection client 112, 114. Alternatively, a computer linkage could be put in place to record the activity at such workstations 108, 110 in real time. Other inputs can be used to capture data such as acoustic pick ups on wooden 25 floors.
Summations, average rates of change or snapshots of collected data from the workstations 108, 110 are continuously sent either direct from the workstation clients or from the data collection clients 112, 114 to a server 116. The server 116 may be the server for the organizations intranet to which all computer systems in the organization are connected. Alternatively, the server may be a server for a network to which only nodes with data collection clients 112, 114 are connected.
Each workstation 108, 110 can be attached to a local area network with TCP/IP connectivity, for example, Ethernet. Each workstation 108, 110 has the ability to directly address a data collection and collation application 118 in the server 116. Other possible topologies could include direct connections via MQ Series (Trade Mark of International Business Machines Corporation) or other data connectors. Data could also be placed in common areas on a shared file system and collected by a scheduled process.
The server 116 includes a data collection and collation application 118 with an associated datastore 120 where it stores the data from the workstations 108, 110. The data collection clients 112, 114 at each location 102, 104 are identified on nodes of the network by sockets 122, 124 by the data collection and collation application 118. The data collection and collation server 118 compiles and sorts the data as to which client sent the data and sends it to the datastore 120. The datastore 120 may be a DB/2 (Trade Mark of International Business Machines Corporation) database. An application 126 carries out housekeeping and garbage collection in the datastore 120.
The continuous flow of data is sent from the datastore 120 to a serving application 128. The serving application 128 may be a Websphere Application server which allows any HTTP based application to request the data. Querying of the data is allowed relating to average clicks per second per person through standard web protocols, like HTTP. The data is used by the serving application 128 when a request is made to it by representation clients. At this point the data is combined, for example, a set of values for the last ten most frequent users of the system. The serving application 128 and the data collection and collation application 118 use a standard Java (Trade Mark of Sun Microsystems, Inc) connector such as jdbc to allow Java to talk to the datastore 120 in the form of a DB/2 database.
The serving application 128 has servlets 130, 132, 134 which are small application programs which run on the server 116 and which display the data which has been compiled from the plurality of workstations 108, 110 in the locations 102, 104.
The servlets 130, 132, 134 or other technology such as a web services interface allow any application to query the data. Multiple servlets can exist to query the data in a suitable form. The following are examples of the use of servlets. One servlet could produce the last top ten usage statistics as a piece of) (MD (extensible markup language). Another servlet could average every five records over the past hour to produce a list of 20 values. Each servlet would depend on how the data needed to be represented and the display dynamics. This allows also for the tuning of the data flow to ensure that not too much data is retrieved at once or so that trend data can be produced.
Web protocols allow a representation client to make a request from a server and form the basis for the operation of web browsers. The representation client uses a universal resource locator (URL) with additional parameters to request specific version of the data (e.g., request the set of data pertaining to London, key presses normalized to an average rate of 5 clicks per second).
The display is in the form of an expression of group activity 136. The servlets 130, 132, 134 may display the data in audio form 138, visual form 140 on a display means 142, and/or physically 144. The display is an abstract representation of the activity of the users at the workstations 108, 110 at the locations 102, 104. Different activities can be represented differently and the amount of users carrying out an activity can also be represented.
As an example, a visual representation may be a collection of organic cells displayed on screen that gain energy and colour based on the rate of typing and cluster into separate flocks representing different geographic locations of the users carrying out the activity. This and other abstract representations are described further below with reference to FIG. 3.
The users can be categorised by location and by other means such as work departments, etc. However, it is not an aim of the system to provide a data log of the activity of individual identified users.
The servlets 130, 132, 134 can be accessed by users anywhere on a network connected to the server 116. This may include locations 102, 104. The servlets 130, 132, 134 may be accessed via other networks, for example, via the Internet. A user who is not at one of the locations 102, 104 can access the abstract representation of the activity at the locations 102, 104 via the Internet or another form of network.
The data is displayed in the abstract representation of the servlets 130, 132, 134 continuously, in real time, or as near to real time as the processing of the information will allow. Referring to FIG. 2, a schematic diagram is provided representing the concept of the described method and system. A first location 202 is shown with multiple users at stations 1, 2 and y 204, 205, 206. Each user 204, 205, 206 carries out activities 207, 208, 209. The activities 207, 208, 209 are collated 210 and represented as virtual activities 212. The virtual activities 212 can be sorted into a plurality of different combinations of types of activity, for example, combination of activity 1 to combination of activity n 214, 215 in which all the same activities are combined together regardless of the location of the activities.
The combination of activity 1 is represented in an abstract representation 216 which indicates the unified activity at all the locations and the combination of activity n is represented in an abstract representation 217. The representations 216, 217 of each activity can be accessed 218, 219 by the users 204, 205, 206 at the first location 202. The representations 216, 217 can also be accessed 220, 221 by users 222 at other locations 224.
An embodiment of a visual display of an abstract representation of data is illustrated in FIG. 3. The display is an abstract representation of key click data of members at two locations “a” and “b”.
A first state 301 at a first time and a second state 302 at a later time are shown. Although two states are shown, in practice the visual representation will go through transition phases. Each of the states 301, 302 includes representations or symbols 303 for members at a first location “a” and symbols 304 for members at a second location “b”. The symbols 303 for members of location “a” are grouped together 305 and have an affinity of movement as they all belong to location “a”. Similarly, the symbols 304 for members of location “b” are grouped together 306 and have an affinity of movement as they all belong to location “b”. Each group 305, 306 of symbols 303, 304 for members has a direction and speed of travel 307, 308 in the first state 301.
The size of each symbol 303, 304 is representative of the number of key clicks of a member in a period of time. In the first state 301, there are three members of location “a” represented by symbols 311, 312, 313 each with one key click in a given period. In the second state 302, the number of key clicks for the three members has changed. The first symbol 311 has not changed as the number of key clicks for the member represented by the symbol 311 has not changed and is still 1. The second symbol 312 has increased in size moderately as the number of key clicks for the member represented by the symbol 312 has increased from 1 to 25. The third symbol 313 has increased in size substantially as the number of key clicks for the member represented by the symbol 313 has increased from 1 to 40. There is an ordinal mapping for input data in that the first number is used to drive symbol 311, the second number is used to drive symbol 312, etc.
The size and energy of each symbol 303, 304 is related to an individual at a location although the symbol is not tied to that individual. The size of the symbol 303, 304 increases if the rate of clicks increases and diminishes if the rate drops. The colour of the symbols 303, 304 can be dependent on the mixture of mouse clicks and keyboard clicks. For example, if a member is only making mouse clicks, the symbol representing that member will be green. If another member is only using a keyboard, the symbol for that member will be blue. All shades between green and blue represent a combination of mouse and keyboard clicks in a given ratio.
The movement 307, 308 of each group 305, 306 of symbols 303, 304 is dependent on the activity of each member in the group 305, 306. The biggest symbol sets the direction that the group follows.
In a different embodiment, another form of representation can be a client program that requests 30 activity and uses aspects of that data to affect the tempo, pitch or style of music being played. One example is to generate ambient tones based on the rate of work of members in locations. A more complex example is to create fast paced rock music or calming mood music utilising samples of real instruments, one stream of data driving the beat, another the melody, another the percussion and so on.
Another embodiment is a client program that collects the sets of mouse stroke x and y coordinates to create a combined swirl visually from the combined data.
A further representation can be provided by the activity of a physical device such as a robot. A robot wirelessly attached to the network can make requests of the data. The robot can operate physical devices based on certain rates being reached or set patterns occurring. For example, if ten members reach four clicks a minute, the robot may physically ring a bell. If all members reach zero clicks a minute, the robot may walk around in patrol mode.
Activities can be visualised across multiple locations and the infrastructure allows for customisable visualisation and audio components to read the data.
This provides a representation of activities of users across a plurality of different locations which may be thousands of miles apart in different countries. In this way, members of an organization are provided with information as to the level and type of activity in real time being carried out in the organization as a whole including at the organizations distributed sites. Traditional measurements of time and motion concepts are represented in an artistic and creative manner through networked devices on multiple channels.
The present invention is typically implemented as a computer program product, comprising a set of program instructions for controlling a computer or similar device. These instructions can be supplied preloaded into a system or recorded on a storage medium such as a CD-ROM, or made available for downloading over a network such as the Internet or a mobile telephone network.
Improvements and modifications may be made to the foregoing without departing from the scope of the present invention.

## Claims

1. A method for display of activity of users at a plurality of workstations, the method comprising:
continuously collecting data from each workstation of the plurality of workstations, each workstation of the plurality of workstations being in a different geographical location, the collected data relating to a rate of computer input activity of at least one user at each workstation;
compiling the data continuously collected from each workstation in a central database;
displaying the compiled data in a display in a representation of the rate of computer input activity of the at least one user at each workstation,
wherein the representation of the rate of computer input activity of the at least one user is a different musical characteristic for each workstation,
wherein each different musical characteristic for each workstation is displayed in accordance with a combined number of input device clicks of the users in each workstation in a given period, and
wherein the input device clicks of each user at each workstation are independently selected from the group consisting of key clicks, mouse clicks, and a combination of key clicks and mouse clicks.

2. The method of claim 1, wherein each different musical characteristic is independently selected from the group consisting of musical instruments, musical melodies, musical beats, musical pitch, musical style, and combinations thereof.

3. The method of claim 2, wherein the different musical characteristic for a first workstation of the plurality of workstations is selected from the group consisting of the musical instruments.

4. The method of claim 2, wherein the different musical characteristic for a second workstation of the plurality of workstations is selected the group consisting of the musical melodies, the musical beats, the musical pitch, and the musical style.

5. The method of claim 2, wherein the different musical characteristic for a first workstation of the plurality of workstations is selected from the group consisting of the musical melodies.

6. The method of claim 5, wherein the different musical characteristic for a second workstation of the plurality of workstations is selected the group consisting of the musical beats.

7. The method of claim 2, wherein the different musical characteristic for a first workstation of the plurality of workstations is selected from the group consisting of the musical beats.

8. The method of claim 2, wherein the different musical characteristic for a second workstation of the plurality of workstations is selected the group consisting of the musical instruments, the musical melodies, the musical pitch, and the musical style.

9. The method of claim 2, wherein the different musical characteristic for a first workstation of the plurality of workstations is selected from the group consisting of the musical pitch.

10. The method of claim 2, wherein the different musical characteristic for a second workstation of the plurality of workstations is selected the group consisting of the musical instruments, the musical melodies, the musical beats, and the musical style.

11. The method of claim 2, wherein the different musical characteristic for a first workstation of the plurality of workstations is selected from the group consisting of the musical style.

12. The method of claim 2, wherein the different musical characteristic for a second workstation of the plurality of workstations is selected the group consisting of the musical instruments, the musical melodies, the musical beats, and the musical pitch.

13. The method of claim 1, wherein the input device clicks of each user at a first workstation of the plurality of workstations is selected from the group consisting of the mouse clicks.

14. A system, comprising a server adapted to implement the method of claim 1, said server being coupled to the plurality of workstations.

15. A computer program product stored on a computer readable storage device, the computer program product comprising computer readable program code for performing the method of claim 1.