Abstract:
A network data visualization system and method are disclosed. In a specific embodiment, a user accesses a web page using a browser. Before returning the web page, the server authenticates the user by returning an authorization page that prompts the user for a password. If the user enters a valid password, the server returns a web page containing data visualization software in the form of one or more applets. The data visualization software running on the user station retrieves network data from a database, processes the retrieved network data for visualization, and displays the network data to the user. The network data may include telephone call records, traffic data, or traffic management statistics. The displayed information may be arranged temporally or spatially. The displayed information may be limited to that of one or more specific telephone numbers. The data visualization software allows the user to monitor events almost in realtime.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation under 35 USC §120(365) of copending PCT/GB96/02528 designating the U.S. and filed Oct. 16, 1996 as, in turn, a continuation-in-part (under 35 USC §120/365) of U.S. application Ser. No. 08/622,346 filed Mar. 25, 1996, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a system and/or process for remote access to data and visualisation thereof. It finds particular application in data monitoring. 
     2. Related Art 
     Data visualisation techniques are known and clearly useful. There are many scenarios in which a user may have complex and extensive data available to them. The ability to present large data sets in a graphical form which allows a user to gain more understanding of the original data has been the focus of the emerging subject of scientific visualisation for the past few years. In a typical visualisation application, data is represented in the form of a three dimensional graphical object on a computer display screen. The shape and colouring of the object are dictated by the data set from which it was derived. The user has the ability to move and turn the object on the screen and adjust the lighting angles to highlight features in the data set. The use of animation, where the form of the object varies in time according to changes in the base data, is also a valuable mechanism in communicating trends in the data set. 
     Visualisation is used for instance within the scientific and academic communities to examine the results of simulations and experiments. The data is generally stored locally to the computer on which the visualisation is to be performed and each set of data is approached with the user writing software to produce a different visualisation. Thus visualisation is a mechanism of data access used by technical users who understand the nature of, and access methods for, their data. It has now been realised, in making the present invention, that it is possible and advantageous to find a way to give remote access to data, together with visualisation capability, to non-technical users. 
     SUMMARY OF THE INVENTION 
     According to the present invention, there is provided a remote access data visualisation system comprising: 
     i) a communications network; 
     ii) access means for use in accessing a database; 
     iii) means for receiving a user request in relation to visualisation of data stored in the database; and 
     iv) at least one data visualisation software tool for visualising data from the database, the tool being stored, when not in use by a user, so as to be downloadable to a user location, wherein the system is adapted to respond to a received user request in relation to data visualisation by downloading: 
     a) the data visualisation software tool; and 
     b) location information for data for use by the tool in visualisation, to the user location. 
     The user location can be remote with respect to either or both of the database and the storage location for the software tool. 
     It will be understood that the network may in practice comprise more than one type of network. For instance, the network may in practice be provided by a local area network connected to a public switched telecommunications network and/or to the Internet. 
     Preferably, the system further comprises means for loading and updating data in the database in a form which can be queried by the data visualisation software tool when downloaded to the user location. This allows a system operator also to provide the relevant data for the user to visualise. 
     By providing a suitable data visualisation means, such a system can enable a non-technical user, at a remote location with respect to a database, to access a complex data set and to control the manner of presentation so that the data is presented in a graphic and understandable way. This brings data visualisation techniques to a far greater range of users. For instance, data visualisation could, according to embodiments of the present invention, provide significant benefits to commercial fields, particularly the financial and telecommunications industries, where large quantities of data are routinely collected on computerised monitoring systems. Allowing a wider range of people within an organisation, with widely differing technical capabilities, to examine this data could for instance provide a valuable insight into the effectiveness of a particular operation. Alternatively, an organisation might want to provide better information to their customers. 
     A problem solved by embodiments of the present invention is moving the field of data access and visualisation from the province of the technical expert situated close to the data source to the area of access by a geographically diverse set of users with varying levels of experience and different types of equipment. 
     In a particularly useful and advantageous embodiment, the data to be accessed may comprise traffic data for a communications network. A user who has an interest in traffic on that network may then be able to download and visualise the data in an extremely useful way. For instance, if the user is a service or information provider, it would be possible for the user to get extremely early feedback on the response to a new or modified service, or to an advertising campaign, in a way which has not previously been available. The data visualisation software tool will of course in these cases generally be a tool for visualising communications traffic and may provide for instance a bar chart format and/or geographical indicators. 
     Preferably, the means for receiving a user request comprises authentification means for authenticating a received request as being made by an authorised user. This means that the database could contain confidential information. 
     As mentioned above, the user request may carry an identifier for data to be selected from the database, in which case the authentication means may authenticate the request specifically in relation to the data to be selected. A system of this type would have particular relevance where the data comprises communications traffic statistics in a network and the identifier may comprise one or more telephone numbers in which the user may have an interest. For instance, this may be because the user is a service provider, using said one or more telephone numbers in provision of the service. Preferably, the system then further comprises means to read the identifier and to download, together or in association with the data visualisation software tool, one or more addresses for location of the data to be selected. 
     Effectively, it becomes possible to provide a practicable system of remote access data visualisation. The system of providing a data access method to a remote computer where the data presentation and access software are retrieved by the user automatically at the time of data access is a new technique in data distribution. If the data relates to traffic statistics in a communications network, then this is a particularly useful system for the service provider who can monitor almost in real time the success or otherwise of a particular communications service. 
     Another use of an embodiment of the invention might be to access data relating to financial transactions. In this case, an identifier for relevant data might comprise one or more account numbers, or a banking office address. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     A data access and visualisation system according to an embodiment of the present invention will now be described, by way of example only, with reference to the following FIGS. in which: 
     FIG. 1 shows in schematic form components of the data access and visualisation system; 
     FIG. 2 shows a flow diagram of the process steps involved at high level in accessing and visualising data using the system of FIG. 1; 
     FIG. 3 shows a graphical display which might be accessed by a user in use of the system; 
     FIG. 4 shows a display control window by means of which a graphical display according to FIG. 3 might be controlled by a user in use of the system; 
     FIG. 5 shows a data selection window by means of which data being visualised in use of the system can be selected by a user; and 
     FIG. 6 shows a flow diagram of the process steps of FIG. 2 represented at a more functional level. 
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     A major problem in moving to geographically diverse data access is the method of delivery. To be of practical use the system should preferably be capable of allowing immediate access to data which is continually being produced. Different methods of data visualisation are appropriate to different data types and so require different software in which to produce them. Although it would be possible for each user to procure and load the necessary software onto their local machines prior to receiving the data, this would involve delay and require a certain level of technical competence on the part of the user. 
     Referring to FIG. 1, the data access and visualisation system provides data to a user&#39;s personal computer (PC) 160 by means of one or more (in this case three) communications networks  130 , 140 , 150 . That is, the user&#39;s PC 160 is connected via their own Local Area Network (LAN)  150  in known manner to a data network with high inter-connectivity between different sites, for instance an “information superhighway” such as the Internet  140 . In turn, the Internet is connected to a public network  130  with which the target database  120  is associated. 
     The target database  120  in the general case may belong to the user, albeit in a different location or locations from their PC, or it may for instance be that of an independent service or information provider. In the embodiment described below, the database  120  is that of the public network provider and receives network management information from the public network  130  in the normal running of the network  130 , including performance and traffic data. Hence the database  120  is connected to a network management system  170  which processes (in known manner) management information from the network  130 . It is also connected to the public network  130  for remote access to the management data. 
     The public network  130  itself provides the link from the Internet  140  to the network provider&#39;s computing system  100 . Access for the user to the remote computing system  100  is via a Common Gateway Interface (CGI)  110 . (The CGI is a known protocol and is simply shown in FIG. 1 as a functional block.) 
     The user&#39;s PC 160 is provided in known manner with a World Wide Web (WWW) browser  190  for locating and accessing information via the Internet  140 . A WWW browser  190  is not essential but is used in order to obviate the need to supply different software for users&#39; differing computers. Several of these are currently available for accessing information from sites on the Internet  140  including Mosaic and Netscape (Trade Marks). However, in order to realise an embodiment of the present invention, a browser having capabilities equivalent to those of “HotJava” (Trade Mark) developed by SUN Microsystems is required. That is, the browser should be able to retrieve not only text and images from the Internet  140 , but also sections of executable code that can run on the user&#39;s own machine. If a HotJava browser is used, the code can run securely, within HotJava on the user&#39;s machine. 
     These sections of code are referred to as “applets”  180  and are written in the java programming language. In the embodiment of the invention described, the applets  180  will be stored on the network provider&#39;s computer system  100 . They are only retrieved when it is necessary and are loaded automatically by the browser  190 , as described below. There is no need for the user to identify and load the relevant software locally. Details of HotJava can be found from WWW at http://java.sun.com. 
     Overall, the process for implementing the remote data access and visualisation technique covered in this patent application takes the following form. A user accesses a relevant page on the Internet, dedicated to the visualisation process, by using their WWW browser  190 . The software to provide the appropriate visualisation tool is then downloaded from the remote computer  100  into the browser running on the user&#39;s own computer  160 . 
     The exact form of the graphical user interface can vary depending on the type of data being accessed but it will always contain a mechanism for a user to select a specific set of data. 
     Referring to FIG. 2, the operation of the system can be described by the following process steps: 
     STEP  200 : the user locates and enters a WWW page provided by the public network provider; 
     STEP  205 : visualisation software is downloaded, again provided by the public network provider; 
     STEP  210 : the visualisation software is run on the user&#39;s browser  190 ; 
     STEP  215 : the visualisation software prompts the user to request data; 
     STEP  220 : once the user has identified the data to be requested, the visualisation tool communicates with the network provider&#39;s computer  100 , requesting the identified data from the remote database  120 . This causes a process to run on the network provider&#39;s computer  100 , querying the database  120 ; 
     STEP  225 : the remote database  120  responds by sending the requested data to the network provider&#39;s computer  100  which packages it in a form that can be viewed by the user at any one time and sends it to the user&#39;s browser  190 ; 
     STEP  230 : the visualisation software presents the data to the user; 
     STEP  235 : the user moves through the data using the visualisation tool. 
     After STEP  235 , the user can return to STEP  215  and repeat STEPS  220  to  235  in respect of freshly requested data. The intention is that the user will employ the visualisation tool to look through the data that has been requested. Once the user has gained all of the information required from a particular data set, they can request additional data from the remote machine  100  and the first data set can be discarded. 
     Example: 
     Telephone Traffic Data Visualisation 
     In a specific implementation of the data access method described above, the data a user requests relates to the number of telephone calls made over the public network  130  to a specific number, belonging to the user, from different regions of the country. The data available in the database  120  has already been processed by the network provider such that calls are grouped according to the trunk network exchange that they originate on and by the hour in which they were made. 
     Referring to FIG. 3, a basic graphical display might then comprise a set of towers  300 ,  305  extending in a three-dimensional representation from a map of the UK. The location of the towers  300 ,  305  shows the actual location of the trunk exchanges and the height and colour of each tower  300 ,  305  relate to the number of calls handled by the relevant exchange in a one hour period. (Such displays are of known type. Other display techniques could be substituted and will generally be optimised for the nature of the data involved.) 
     Referring to FIG. 1, the operation of the data access system is therefore as follows. The user enters the appropriate page on WWW, provided by the network provider, and is asked to enter the destination telephone number in which they are interested, in addition to their name and password. This will then run a script  115  via the Common Gateway Interface (CGI)  110  on a remote server of the network provider&#39;s computer system  100  to check the authority of the user to access the appropriate data. Assuming that the authorisation is given, the script will return an html (Hyper Text Mark-up Language) page to the originating browser into which is included a line specifying the applet  180  which must be loaded in order run the visualisation tool. Input information  125  to the applet  180  is also included on this line. In the case of a call record implementation this includes the location of a data file containing the outline map of the UK, a file giving the location of the towers  300 ,  305  and a file containing additional information about each tower that will display when a tower is selected. More information about this selection is given later. In addition the appropriate address for accessing the data from the remote server is presented. On receiving this html page, the HotJava browser will load the applet  180  from wherever it is stored, which will conveniently be from the remote server. 
     Once the applet  180  has successfully loaded into the browser  190  it will access the remote server to download the necessary map files. This is achieved using the standard remote file access features supplied with a release of HotJava available from http://java.sun.com. An initial display as shown in FIG. 3 is then drawn to the screen using the existing library functions available with HotJava. Depth cueing can be implemented in a call record visualisation exercise in order to give the user a visual guide to the orientation of the display. 
     Referring to FIGS. 4 and 5, in the call record implementation of the remote data access, the applet  180  causes three additional windows to be displayed on the screen. These are the display control window (FIG.  4 ), data selection window (FIG. 5) and pick data windows (not shown). These windows are only open for the period that the user is inside, on the data access page. 
     Display Control 
     A geometry package has been developed which can be used as a platform for other visualisation applets that require the user to be able to manipulate a graphical object on the screen. The available functions are: 
     rotation—this is achieved by either placing the mouse pointer over the graphical display and dragging the mouse with the mouse button depressed in the required direction of rotation or alternatively by adjusting the slider bars on the display control window shown in FIG.  4 . All mouse control functions are provided in the HotJava applet library. The mechanism for rotating the object involves updating a transformation matrix and applying it to the original graphical data set as the mouse is dragged across the screen. Following each matrix transformation the screen is redrawn. This is a standard computer graphics technique. Due to the computation overhead required in rotating the whole image in real time another mode of rotation is available. In this case, on depressing the mouse button a box which fully bounds the graphical object is drawn on the screen in place of the full display. This contains far fewer components and so can be rotated far quicker than the full image. The two modes are selected using the mutually exclusive “Normal” and “Bounding Box” buttons on the display control screen. The bounding box technique is employed in other visualisation products, for example AVS. 
     scaling—the image can be made larger and smaller using the scaling slider bars on the display control window. The ability to scale the figure differently in three orthogonal planes is provided. Scaling is achieved via a transformation matrix in much the same way as rotation. 
     translation—the image can be moved around the screen using the translate slider bars on the display control window. Movement is divided into three orthogonal directions. 
     reset—this returns the display to a predefined orientation which is stored within the applet. 
     Data Selection 
     Referring to FIG. 5, the data selection window offers the user the ability to choose the appropriate data set. In the case of the call record implementation, this involves selecting the appropriate hour and day for which data is required. This is done via a set of widgets  500  in the data selection window that allow the user to select the appropriate day, month and year. The widget sets are available in the Java widget libraries. 
     In addition to setting the date and time, any subset of data can also be selected at this point. In the call record example, the calls are split into two categories, effective and ineffective. Thus the user can select whether or not to view the effective calls, ineffective calls or all calls (the sum of effective and ineffective). 
     Once the appropriate date and time has been selected, the user presses the “Retrieve Call Data” button  505 . This initiates a query to a database  120  running on the remote server. In a call record implementation, it may be that the access time to retrieve data from the database  120  is considered to be unacceptable and a number of pre-prepared data files corresponding to individual hour slots can be produced. These can then be retrieved from the database  120  and a form of data compression carried out. That is, all extraneous white spaces and unwanted data can be removed from the resulting files to ensure the smallest possible file to increase the speed of transmission of the file from the server to the browser  190  across the Internet  140 . In this case, depressing the “Retrieve Call Data” button  505  causes the browser  190  to request the file corresponding to the correct date and time from the remote server. This is achieved using the remote file access libraries supplied with HotJava. 
     In addition to retrieving data for a single period, the call record example can allow for the data representation to be animated. The user can select whether or not to animate over 24 hours, in which case the data is accessed one hour at a time from the server and displayed on the screen in a series of 24 frames. Alternatively the user can select to run over a week, in which case seven sets of data are retrieved corresponding to the selected hour on seven subsequent days. Selection of the one month option will result in a “calendar months” set of files being accessed for the selected hour and displayed on the screen in turn. At each point the animation can be started or halted by pressing the “Animate/Stop” button  510  on the data selection screen. This initiates or halts the loop which controls the remote data file access commands. 
     Data Picking 
     An additional feature available within the call record data access system is the ability to acquire additional data about individual towers. This data is contained in a file that is loaded shortly after the applet  180  and can be tailored to the requirements of individual users. Referring to FIG. 4, to enable the data picking facility, the “Pick Information” button  400  on the display control window should be depressed. This will freeze the image of the towers  305 ,  300  and map outline on the screen. The locations of the towers  305 ,  300  are converted, via the transformation matrix, from three dimensional to two dimensional space and a two dimensional map is created on which the extents of each form a polygon. Where one tower obscures the view of another a check is made on the three dimensional data to ensure that the two dimensional map attributes the front tower an area corresponding to its fullest extent and the obscured tower only has an area equivalent to its unobscured portion. 
     Now as the mouse pointer tracks across the display a check is made to see when the pointer enters a tower area on the two dimensional map. When this occurs the tower is redrawn in white and the information corresponding to that tower is displayed in text form in the pick data window. Further information about the specific location can be accessed by depressing the mouse button at this point. This causes the browser to access a different htmi page, the address of which is stored in the towers data file, and to shut down the additional windows that were opened by the java applet. (The ability to move to other html pages from within a java applet is provided in the java libraries.) 
     Data Exchanges 
     Referring to FIG. 6, this section describes the precise mechanisms in which data is accessed and passed around the data visualisation system. 
     Authorisation 
     On entering the welcoming WWW page (STEPS  600 ,  605 ) the user is required (STEP  610 ) to input the telephone number for which they require data and a password (STEP  615 ) associated with this number. This is implemented using the FORM , ACTION and METHOD tags specified in the html (Hypertext Markup Language). Following this action a process is initiated on the remote server, using the Common Gateway Interface (CGI), which will examine the password and telephone number combination to ensure that they correspond (STEP  620 ). If this is the case, the process will form a file in html, including the Java applet tag indicating the location of the visualisation application, which is returned to the browser at the local host. The WWW browser running at the local host accepts this as a new page and downloads and launches the data visualisation application. 
     Data Retrieval 
     The visualisation application allows the user to select the data to be retrieved via a graphical user interface (STEP  625 ). Once the user has requested a particular set of data another process, referred to hereafter as the retrieval process  135 , is created on the remote server using CGI. The arguments passed to the retrieval process  135  identify the data that is required. It is the retrieval process (STEP  630 ), running on the remote server that forms a query using SQL (Standard Query Language) which is used to extract the necessary data from the Call Records Database (STEP  635 ). The Call Records Database could be one of a number of commercially available databases, for example ORACLE. The result of the query on the database is received by the retrieval process and compressed (STEP  640 ) to produce a binary file. The binary file is accessed by the local host using the standard libraries supplied with the Java language and unpacked to provide the data required by the visualisation software (STEP  645 ). 
     The commercial software required to provide this system includes a database containing the call records and a WWW server running on the remote server in addition to a Java compatible WWW browser running on the local host. The additional software developed to produce this system includes the visualisation application itself, written in Java, in addition to the authorisation and retrieval processes on the remote server. These could be written in any suitable language, including for instance “CT”.