Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR SELECTIVE MESSAGE TRANSMISSION
Document Type and Number:
WIPO Patent Application WO/2002/096027
Kind Code:
A1
Abstract:
The present invention relates to a method for sending a message in a multi-user computer network from an administration terminal (4) to a plurality of user terminals (3a-3e). The method comprises the steps of:saving inventory data for the user terminals in a server (6);choosing at least one condition for sending the message to at least one user terminal, the at least one condition being based on inventory information stored in the server;sending the message from the administration terminal to the server;determining whether or not the at least one user terminal satisfies the condition;sending the message to the user terminal if the user terminal satisfies the condition.The invention also relates to a multi-user computer system, a server, a user terminal, an administration terminal, an administration computer program (32), a database management system (12) for a database (11) and a client computer program.

Inventors:
SJOEVOLD THORBJOERN (SE)
LIIKAMAA JAN (SE)
Application Number:
PCT/SE2001/001135
Publication Date:
November 28, 2002
Filing Date:
May 21, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KNOWLEDGE FACTORY SCANDINAVIA (SE)
SJOEVOLD THORBJOERN (SE)
LIIKAMAA JAN (SE)
International Classes:
H04L12/18; H04L12/24; H04L12/58; (IPC1-7): H04L12/18; H04L12/24; H04L12/58
Foreign References:
US5742829A1998-04-21
US6170065B12001-01-02
US5758071A1998-05-26
EP0993145A12000-04-12
Attorney, Agent or Firm:
ALBIHNS STOCKHOLM AB (P.O. Box 5581 Linnégatan 2 Stockholm, SE)
Download PDF:
Claims:
Claims
1. A method for sending a message in a multiuser computer network from an administration terminal (4) to at least one user terminal of a plurality of user terminals (3a3e), comprising the steps of : saving inventory data for the user terminals (2a3e) in a server (6); choosing at least one condition for sending the message to the at least one user terminal, the at least one condition being chosen through the administration terminal (4); sending the message from the administration terminal (4) to the server (6); determining the at least one user terminal that satisfies the at least one condition by comparing the at least one condition with the inventory data saved in the server (6) sending the message from the server (6) to the at least one user terminal if the at least one user terminal satisfies the at least one condition.
2. A method according to claim 1, comprising the step of saving the inventory data for each one of the user terminals (3a3e) in the respective user terminal.
3. A method according to claim 1 or 2, comprising the step of choosing at least two conditions that must be satisfied for sending the message to the at least one user terminal.
4. A method according to anyone of the preceding claims, comprising the step of sending the message from the server (6) to a mailserver (5) if the at least one condition is satisfied by at least one registered user of the multiuser computer network.
5. A method according to anyone of the preceding claims, comprising the following steps before the saving of inventory data for the user terminals (3a3e): making an inventory of the user terminals (3a3e) through an inventory manager computer program (22) installed in each one of the user terminals (3a3e), and sending at least a part of the inventory data retrieved from the inventory to the server (6).
6. A method according to anyone of the preceding claims, comprising the steps of : retrieving at least one class, at least one property associated with the class and at least one value associated with the at least one property, from an operating system (13 or 31) installed on the server (6) or the administration terminal (4), and choosing the at least one condition from the at least one class, the at least one property and the at least one value.
7. A method according to anyone of the preceding claims, comprising the step of : instructing the user terminals (3a3e) to make an inventory by writing instructions to the user terminals (3a3e) in the message.
8. A multiuser computer system for a method according to claim 1, comprising a plurality of user terminals (3a3e), at least one administration terminal (4) and a server (6), characterised in that the server (6) comprises at least one database (11) for storing inventory data for the user terminals (3a3e), a database management system (12) which adapts the server (6) to receive the inventory data from the user terminals (3a3e), update inventory data stored in the at least one database (11), retrieve the inventory data stored in the at least one database (11) and determine which of the user terminals (3a3e) or users that satisfy at least one condition received from the at least one administration terminal (4), and an administration interface computer program (14), which adapts the server (6) to communicate with the at least one administration terminal (4) and receive a message from the at least one administration terminal (4); each one of the user terminals (3a3e) comprises an inventory manager computer program (32), a message manager computer program (33) and an agent computer program (24) for receiving the message from the administration terminal (4) via the server (6) and activating an inventory manager computer program (22) or a message manager computer program (23), where the inventory manager computer program (22) causes the user terminals (3a3e) to automatically or upon request from the at least one administration terminal (4) perform an inventory of at least some of all hardware and software comprised in the user terminals (3a3e) and causes the inventory data of the user terminals (3a3e) to be sent to the server (6), and the message manager computer program (23) causes the user terminals (3a3e) to display the message received from the server (6); and the at least one administration terminal (4) comprises an administration computer program (32) for creating the message, sending the message to the server (6), communicating with the administration interface computer program (14) and choosing at least one condition that must be satisfied by at least one of the user terminals (3a3e) or at least one user in order for the server (6) to send the message to the at least one of the user terminals (3a3e) or the at least one user.
9. A multi user computer system according to claim 8, wherein the message is sent in the body of an MSMQ message.
10. A multi user computer system according to claim 9, wherein the message format is based on XML and supports text, pictures and hyperliks to UNC and URL addresses.
11. A server (6) for sending messages from an administration terminal (4) to at least one of a plurality of user terminals (3a3e) in a multiuser computer network and storing inventory data for the user terminals (3a3e), comprising at least one database (11) for storing inventory data for the user terminals (3a3e); a database management system (12), which adapts the server (6) to receive the inventory data from the user terminals (3a3e), update inventory data stored in the at least one database (11), retrieve the inventory data stored in the at least one database (11) and determine which of the user terminals (3a3e) or users that satisfy at least one condition received from the at least one administration terminal (4); and an administration interface computer program (14), which adapts the server (6) to communicate with at least one administration terminal (4) and receive a message from the at least one administration terminal (4).
12. A server (6) according to claim 11, which is able to communicate with a mail server (5) via a logic bridge.
13. A user terminal (3a, 3b, 3c, 3d, 3e) in a multiuser computer network with a server (6) according to claim 11, comprising an inventory manager computer program (22), a message manager computer program (23) and an agent computer program (24) for receiving a message from an administration terminal (4) via the server (6) and activating an inventory manager computer program (22) or a message manager computer program (23), where the inventory manager computer program (22) causes the user terminal to automatically or upon request from the administration terminal (4) perform an inventory of at least a part of all hardware and software comprised in the user terminal and causing at least a part of the inventory data of the user terminal to be sent to the server (6), and the message manager computer program (23) causes the user terminal to display the message received from the server (6).
14. An administration terminal (4) in a multiuser computer network with a plurality of user terminals (3a3e) and a server (6) according to claim 11, comprising an administration computer program (32) for creating at least a part of a message, sending the message to the server (6) and choosing at least one condition that must be satisfied by at least one of the user terminals (3a3e) or at least one user in order for the server (6) to send the message to the at least one of the user terminals (3a3e) or the at least one user.
15. An administration computer program (32) for an administration terminal (4) in a multiuser computer system, comprising : computer readable code means for causing the administration terminal (4) to display a first window for creating a filter, which comprises at least one condition that must be satisfied by inventory data for at least one of a plurality of user terminals (3a3e) or at least one user in order to send a message to the at least one of the user terminals (3a 3e) or the at least one user; computer readable code means for causing the administration terminal (4) to enable the creation of at least a part of the message; and computer readable code means for causing the administration terminal (4) to send the message and the at least one condition to a server (6) for determining of which of the user terminals or users that satisfy the at least one condition and thereby shall receive the message.
16. An administration computer program according to claim 15, comprising computer readable code means for causing the administration terminal to display a second window for editing at least one of the at least one condition, which window comprises a first list box for selecting a Win32 class, a second list box for selecting a property belonging to the Win32 class, a third list box for selecting an operator, and a fourth list box for selecting a value for the property.
17. A computer program product comprising a computer useable medium and an administration computer program (32) according to claim 15, the administration computer program (32) being recorded on the computer useable medium.
18. A database management system (12) for a server (6) according to claim 11, comprising computer readable code means for causing the server (6) to receive inventory data from a plurality of user terminals (3a3e); computer readable code means for causing the server (6) to update inventory data saved in at least one database (11) in the server (6) for storing of the inventory data received from the user terminals (3a3e); computer readable code means for causing the server (6) to retrieve the inventory data stored in the at least one database (11); and computer readable code means for causing the server (6) to determine which of the user terminals (3a3e) that satisfy the at least one condition by comparing the at least one condition with the inventory data stored in the at least one database (11).
19. A computer program product comprising a computer useable medium and a database management system (12) according to claim 18, the database management system (12) being recorded on the computer useable medium.
20. A client computer program for a user terminal in a multiuser computer network, comprising an agent computer program (24), an inventory management computer program (22) and a message manager computer program (23), where the agent computer program (24) comprises computer readable code means for causing the user terminal to receive a message from at least one administration terminal (4) via a server (6) and computer readable code means for causing the user terminal to activate the manager computer program (22) or the message manager computer program (23); the inventory manager computer program (22) comprises computer readable code means for causing the user terminal to automatically or upon request from the at least one user terminal (4) via the message perform an inventory of at least some of all hardware and software comprised in the user terminal, computer readable code means for causing the user terminal to send inventory data of the user terminal to the server (6); and the message manager computer program (23) comprises computer readable code means for causing the user terminal to display the message received from the administration terminal (4) via the server (6).
21. A computer program product comprising a computer useable medium and a client computer program according to claim 20, the client computer program being recorded on the computer useable medium.
Description:
METHOD AND SYSTEM FOR SELECTIVE MESSAGE TRANSMISSION Technical Field of the Invention The present invention relates to a method for sending a message in a multi-user computer network from an administration terminal to at least one user terminal of a plurality of user terminals. The invention also relates to a multi-user computer system, a server, a user terminal, an administration terminal, an administration computer program, a database management system for a database, and a client computer program.

Background of the invention Different operating systems, such as Windows NT, Windows 2000 and UNIX, provides network administration tools. A feature provided by e. g. Windows 2000 is the possibility to send and receive messages. However, this possibility is restricted; the choice of receivers is limited, a message can only be sent to all member computers in a Windows NT/2000 domain, all users having a file or print session to a specific server or a single user or computer. Messages are only received if the client is online and reachable at the moment the message is sent.

Summary The object of the present invention is to make it easier for administrators of a mult- user computer system or other authorised persons to send messages to at least one desired end-user in the system.

The invention relates to a method for sending a message in a multi-user computer network from an administration terminal to at least one user terminal of a plurality of user terminals, comprising the steps of : saving inventory data for the user terminals in a server;

choosing at least one condition for sending the message to the at least one user terminal, the at least one condition being chosen through the administration terminal ; sending the message from the administration terminal to the server; determining the at least one user terminal that satisfies the at least one condition by comparing the at least one condition with the inventory data saved in the server sending the message from the server to the at least one user terminal if the at least one user terminal satisfies the at least one condition.

Hereby is achieved that messages may be sent from an administration terminal to user terminals based on the hardware and/or software that is comprised in the user terminals.

The method may also comprise the step of saving the inventory data for each one of the user terminals in the respective user terminal. Hereby is achieved that inventory data for a user terminal retrieved through the inventory process in said user terminal, can be compared to inventory data from an earlier inventory and already stored in the user terminal. This enable the user terminal to compare and send only the inventory data that differs from the already stored inventory data in the user terminal; thereby requiring less bandwidth in the computer network.

Furthermore, the method may comprise the step of choosing at least two conditions that must be satisfied for sending the message to the at least one user terminal. Hereby is achieved that multiple conditions (rules) can be combined. A message can for example be sent to all users with a specific application installed on a computer with a specific amount of hard disk space left.

Moreover, the method may comprise the step of sending the message from the server to a mail-server if the at least one condition is satisfied by at least one registered user of the multi-user computer network. Hereby is achieved that a condition may be set to specific users (natural persons) that are not logged on to the network and a message may thereafter be sent to those users through an e-mail computer program associated with the mail-server. The users may therefore read the message when they have access

to the e-mail computer program. This makes the invention even more flexible and administrator-friendly.

In addition, the method may comprise the following steps before the saving of inventory data for the user terminals: making an inventory of the user terminals through an inventory manager computer program installed in each one of the user terminals, and sending at least a part of the inventory data retrieved from the inventory to the server.

In a specific embodiment, the method may comprise the steps of : retrieving at least one class, at least one property associated with the class and at least one value associated with the at least one property, from an operating system installed on the server or the administration terminal, and choosing the at least one condition from the at least one class, the at least one property and the at least one value.

Hereby is achieved that classes, properties and values defined by the operating system of the administration terminal or the server may be retrieved from the operating system and used for the conditions. For e. g. a 32-bit Windows operating system, there exist a vast and increasing number of classes with properties and values, which makes the number of applicable conditions and combination of conditions large.

Suitably, the method comprises the step of : instructing the user terminals to make an inventory by writing instructions to the user terminals in the message. Hereby is achieved that a message body may be used for instructing all or some user terminals to execute an inventory at a time when an automatic inventory controlled by an agent computer program in the user terminals is not executed.

The invention also relates to a multi-user computer system for the method, comprising a plurality of user terminals, at least one administration terminal and a server. The server comprises at least one database for storing inventory data for the user terminals, a database management system which adapts the server to receive the inventory data

from the user terminals, update inventory data stored in the at least one database, retrieve the inventory data stored in the at least one database, and determine which of the user terminals or users that satisfy at least one condition received from the at least one administration terminal, and an administration interface computer program, which adapts the server to communicate with the at least one administration terminal and receive a message from the at least one administration terminal. Each one of the user terminals comprises a message manager computer program, an inventory manager computer program and an agent computer program for receiving the message from the administration terminal via the server and activating the inventory manager computer program or the message manager computer program, where the inventory manager computer program causes the user terminals to automatically or upon request from the at least one administration terminal perform an inventory of at least some of all hardware and software comprised in the user terminals and causes the inventory data of the user terminals to be sent to the server, and the message manager computer program causes the user terminals to display the message received from the server.

The at least one administration terminal comprises an administration computer program for creating the message, sending the message to the server, communicating with the administration interface computer program and choosing at least one condition that must be satisfied by at least one of the user terminals or at least one user in order for the server to send the message to the at least one of the user terminals or the at least one user.

In one embodiment, the message is sent in the body of an MSMQ message. Suitable in this embodiment is that the message format is based on XML and supports text, pictures and hyperliks to UNC and URL addresses.

Furthermore, the invention relates to a server for sending messages from an administration terminal to at least one of a plurality of user terminals in a multi-user computer network and storing inventory data for the user terminals. The server comprises at least one database for storing inventory data for the user terminals ;

a database management system, which adapts the server to receive the inventory data from the user terminals, update inventory data stored in the at least one database, retrieve the inventory data stored in the at least one database and determine which of the user terminals or users that satisfy at least one condition received from the at least one administration terminal; and an administration interface computer program, which adapts the server to communicate with at least one administration terminal and receive a message from the at least one administration terminal.

The server may be able to communicate with a mail-server via a logic bridge.

Moreover the invention relates to a user terminal in a multi-user computer network with the server. The user terminal comprises an inventory manager computer program, a message manager computer program and an agent computer program for receiving a message from an administration terminal via the server and activating an inventory manager computer program or a message manager computer program. The inventory manager computer program causes the user terminal to automatically or upon request from the administration terminal via the server perform an inventory of at least a part of all hardware and software comprised in the user terminal and causing at least a part of the inventory data of the user terminal to be sent to the server and the message manager computer program causes the user terminal to display the message received from the server. It shall be understood that the user terminals also may be defined as client terminals or client computers; the two latter terms shall be interpreted as equivalent names for the user terminals.

The invention also relates to an administration terminal in a multi-user computer network with a plurality of user terminals and the server. The administration terminal comprises an administration computer program for creating at least a part of a message, sending the message to the server and choosing at least one condition that must be satisfied by at least one of the user terminals or at least one user in order for the server to send the message to the at least one of the user terminals or the at least

one user. The client terminal shall be understood as any kind of computer used by an administrator of the network or a system in the network or any other authorised person.

Furthermore, the invention relates to an administration computer program for an administration terminal in a multi-user computer system. The administration computer program comprises: computer readable code means for causing the administration terminal to display a first window for creating a filter, which comprises at least one condition that must be satisfied by inventory data for at least one of a plurality of user terminals or at least one user in order to send a message to the at least one of the user terminals or the at least one user; computer readable code means for causing the administration terminal to enable the creation of at least a part of the message; and computer readable code means for causing the administration terminal to send the message and the at least one condition to a server for determining of which of the user terminals or users that satisfy the at least one condition and thereby shall receive the message.

Suitably, the administration computer program comprises computer readable code means for causing the administration terminal to display a second window for editing at least one of the at least one condition, which window comprises a first list box for selecting a Win32 class, a second list box for selecting a property belonging to the Win32 class, a third list box for selecting an operator, and a fourth list box for selecting a value for the property. Hereby a user friendly graphical user interface is achieved for selecting each condition and a vast and increasing number of classes, properties and values defined by a 32-bit windows operating system may be retrieved and used when selecting each condition.

The invention also relates to computer program product comprising a computer useable medium and the administration computer program, the administration computer program being recorded on the computer useable medium.

In addition, the invention relates to a database management system for the server. The database management system comprises computer readable code means for causing the server to receive inventory data from a plurality of user terminals; computer readable code means for causing the server to update inventory data saved in at least one database in the server for storing of the inventory data received from the user terminals ; computer readable code means for causing the server to retrieve the inventory data stored in the at least one database; and computer readable code means for causing the server to determine which of the user terminals that satisfy the at least one condition by comparing the at least one condition with the inventory data stored in the at least one database.

Related to the database management system, is a computer program product comprising a computer useable medium and the database management system, the database management system being recorded on the computer useable medium.

Moreover, the invention relates to a client computer program for a user terminal in a multi-user computer network. The client computer program comprises an agent computer program, an inventory management computer program and a message manager computer program, where - the agent computer program comprises computer readable code means for causing the user terminal to receive a message from at least one administration terminal via a server and computer readable code means for causing the user terminal to activate the manager computer program or the message manager computer program; - the inventory manager computer program comprises computer readable code means for causing the user terminal to automatically or upon request from the at least one

user terminal via the message perform an inventory of at least some of all hardware and software comprised in the user terminal, computer readable code means for causing the user terminal to send inventory data of the user terminal to the server; and - the message manager computer program comprises computer readable code means for causing the user terminal to display the message received from the administration terminal via the server.

Related to the client computer program is a computer program product comprising a computer useable medium and the client computer program, the client computer program being recorded on the computer useable medium.

The computer program product may be e. g. a hard disk, a read-only memory, a random-access memory, a flash memory, a CD, a DVD or a floppy disc.

Brief Description of the Drawings The objects, advantages and effects as well as features of the present invention will be more readily understood from the following detailed description of a preferred embodiment of the invention, when read together with the accompanying drawings, in which: Fig. 1 shows a multi-user computer system according to the invention; Fig. 2 shows a server according to the invention ; Fig. 3 shows a user terminal according to the invention ; Fig. 4 shows an administration terminal according to the invention; Fig. 5 shows a block diagram of a method of sending messages according to the invention ; Fig. 6 illustrates a first window for an administrator of the system; Fig. 7 illustrates a second window for selecting conditions for determining receivers; and Fig. 8 shows a block diagram illustrating some steps involved in the method.

Detailed Description of Embodiments While the invention covers various modifications and alternative methods and systems, a preferred embodiment of the invention is shown in the drawings and will hereinafter be described in detail. However, it is to be understood that the specific description and drawings are not intended to limit the invention to the specific forms disclosed. On the contrary, it is intended that the scope of the claimed invention includes all modifications and alternative constructions thereof falling within the spirit and scope of the invention as expressed in the appended claims to the full range of their equivalents.

Fig. 1 schematically illustrate some units comprised in a multi-user computer network according to the invention. Throughout the rest of the specific description, the multi- user computer network is referred to as"the network". In this example, the network is two LAN: s (Local Area Networks) connected to each other through e. g. Internet. The two LAN: s may, for example, be at least a part of a company intranet. The LAN: s may be configured in any way known in the art, for instance as a Token ring network, an Ethernet or a combination thereof. The first LAN is here shown with a star configuration, where the centre represents a connecting means 1, e. g. a hub or a switch. The second LAN 2 is illustrated as an Ethernet. Three user terminals 3a-3c for end users are here comprised in the first LAN and two other user terminals 3d-3e are comprised in the second LAN 2, but it should be understood that the network may comprise any number of user terminals. The invention becomes even more convenient and valuable for networks with a large number of user terminals situated in different LAN: s. The user terminals 3a-3e may be any kind of known workstation, stationary PC, laptop or the like. Although not shown, the user terminals may of course be connected to the network through wireless transmission. The network also comprises at least one administration terminal 4 adapted to be used by e. g. network administrators, system administrators or other persons authorised to administrate the network. Furthermore, a mail-server 5 of any conventional type and a server 6

especially adapted for the invention is comprised in the network. Although the administration terminal 4 is especially adapted for the invention, the administration terminal 4 may also be used as an additional user terminal according to the invention.

Fig. 2 schematically illustrates the server 6 according to the invention. The server 6 comprises a first port 7 for communication with the network and a first storing means 8, which are connected to a first processing unit 9 via a first set of buses 10. The first storing means 8 is for example a hard disk and comprises a database 11, which comprises inventory data sent from the user terminals (3a-3e), for instance in the form of a SQL (Structured Query language) Server database; a DBMS 12 (Database Management System) for the database 11; a first operating system 13, such as Windows NT, Windows 2000 and UNIX; and an administration interface computer program 14.

Fig. 3 schematically illustrates an embodiment of the user terminals 3a-3e, which comprise a second port 15 for communication with the network, a third port 16 for communication with a first displaying means 17, e. g. a monitor, and a second storing means 18 in the form of e. g. a hard disk. The second port 15, the third port 16 and the second storing means 18 is connected to a second processing unit 19 via a second set of buses 20. The second storing means 18 comprises a second operating system 21, which is the same or is compatible with the first operating system 13; an inventory manager computer program 22; a message manager computer program 23 and an agent computer program 24, i. e. a software routine that waits in the background when the user terminal is operating and performs an action when a specified event occurs. The agent computer program 24 act as a dispatcher, i. e. a software that determines what pending tasks should be done next and assigns the available resources to accomplish it, for the inventory manager computer program 22 and the message manager computer program 23. The agent computer program 24 is responsible to read settings for the inventory manager computer program 22 and the message manager computer program 23, receive messages from the administration terminal 4 and start one of the inventory

manager computer program 22 and the message manager computer program 23 in response to the received message.

Fig. 4 schematically illustrates an embodiment of the administration terminal 4, which comprises a fourth port 25 for communication with the network, a fifth port 26 for communication with a second displaying means 27 and a third storing means 28 in the form of e. g. a hard disk. The fourth port 25, the fifth port 26 and the third storing means 28 is connected to a third processing unit 29 via a third set of buses 30. The third storing means 28 comprises a third operating system 31, which is the same as the first operating system 13 or the second operating system 21. Furthermore, the third storing means 28 comprises an administration computer program 32, which may be a so-called snap-in in the third operating system 31 and provides a graphical user interface comprising windows for writing a message and determining the user terminals 3a-3e or persons that shall receive the message. A snap-in is a software module for the Microsoft Management Console that provides administrative capabilities for a particular type of device. Optionally, the administration terminal 4 also comprises the agent computer program 24, the inventory manager computer program 22 and the message manager computer program 23 in order to also allow the administration terminal 4 to be used as a user terminal.

Having described the network, some embodiments of a method according to the invention will now be described. Fig. 5 shows an overview of the method comprising five steps S1-S5. The first step S1 is to make an inventory of the hardware, software or both the hardware and software in the user terminals 3a-3e. The second step S2 is to store the inventory data, for example in the server 6. In the third step S3, an administrator or other authorised person decide the known or unknown user terminals or persons that a message shall be sent to. The receivers of the message is based on the stored inventory data in the server 6. The message is created in the forth step S4.

Alternatively, the fourth step S4 may be done before the third step S3. In the fifth step S5, the message is sent to the receivers through the server 6 or the mail server 5.

The first step S 1 will now be described. The inventory manager computer program 22 in the user terminals 3a-3e is adapted to automatically, regularly and asynchronous transmit gathered inventory data to the server 6. The gathered inventory data is sent as an inventory message, which may be an MSMQ (Microsoft Message Queue Server) message. MSMQ is a messaging middleware for Windows NT, Windows 9x and Windows 2000 and allows computer programs to send messages to other computer programs. In the user terminal, the inventory is handled by the inventory management computer program 22, which may be a COM+ (Component Object Model +) or Tuxedo component. Information about what to be inventoried may be read from an inventory template, i. e. a data file formatted for common purposes, and distributed using e. g. GPO (Group Policy Objects). The inventory template is located in the database 11.

A legacy inventory may also be executed, e. g. for Windows 2000 all. exe, ocx and dll- files on the second storing means 18 may be scanned and file version information in the header of each file is sent together with the rest of the inventory data. In addition to the inventory data, the date and time of the inventory may be sent. Both the inventory of the hardware and the software may be done by using WMI (Windows Management Instrumentation). For Windows 2000 the active Directory may be used for the storing of the hardware.

During the second step S2, the gathered inventory data is stored in a file called the inventory file, which in this embodiment is stored both in the server 6 and the user terminal to which it is associated. Inventory is always compared to this file so that only inventory data that has changed since the last inventory is sent to the server 6. If a complete synchronisation of the inventory for a user terminal is requested, the inventory manager computer program 22 causes the user terminal to delete the inventory file before the inventory process has begun. The DBMS 12 also causes the server 6 to delete the corresponding inventory file in the server 6 before the synchronisation of the inventory has begun. The inventory file and the inventory

message shares a common format, such as XML (Extensible Markup Langugage) that matches the inventory template.

Instead of, or in addition to the automatic inventory, an administrator may request an inventory at any time. The request may be embodied as a message sent from the administration terminal 4 to the server 6, which forwards the message to at least one of the user terminals 3a-3e. The message is received and interpreted by the agent computer program 24, which sends the message to the inventory manager computer program 22. The inventory manager computer program 22 executes the instructions provided by the message.

Step S3 and S4 will now be described with the help of Figs. 6-7. A filter for determining message receiving user terminals based on the inventory data is created in order to make it possible for an administrator to send messages to persons or user terminals having a certain configuration of hardware and/or software. The filter comprises a set of conditions that are specified by the administrator.

Fig. 6 illustrates a first window 330, which upon request by the administrator is retrieved from the administration computer program 32 and displayed on the second displaying means 27. The first window 330 comprises a sub-window 34 that shows conditions that are going to be used as the filter. The conditions may be shown in one row each. For a 32-bit Windows operating system like Windows 2000, each row/condition may comprise selected class, property, operator and value, which are going to be exemplified later. The sub-window 34 enables a clear overview of the chosen conditions. The first window 330 also comprises a first button 350 for adding a condition, a second button 351 for removing a condition, a third button 352 for finishing the editing of the filter, and a fourth button 353 for cancelling the whole editing of the filter. Each row in the sub-window 34 may be marked and thereafter deleted by clicking the second button 351. The conditions comprised in the filter may also be related to each other by means of any known operator known in the art for

relating conditions to each other. Basic examples are Boolean operators such as AND, OR, and NOT.

If the first button 350 is pushed, a second window 331 is opened for determining a condition. The second window 331 is shown in Fig. 7 and is retrieved from the administration computer program 32 and comprises a first list box 360, i. e. an online display of text items in a scrollable window, with selectable classes. Each class normally is associated with at least one property and when a class is selected in the first list box 360, a property associated with the class is selectable in a second list box 361 for selecting a property. A third list box 362 comprises at least one selectable operator, which may be'=' (equal),'>' (more/larger than),'<' (less/fewer than) and 'like'. The'like'operator is used for desired conditions involving at least a partial conformity with values, such as at least a part of specific personal names of natural persons. A fourth list box 363 for selectable values associated with the selected property in the second list box 361 is also comprised in the second window 331. The classes, properties and the values are preferably retrieved from the third operating system 31. Moreover, the second window 331 comprises a fifth button 370 for finishing and accepting the chosen condition, i. e. an'OK-button', and a sixth button 371 for cancelling the addition of the condition to the filter, i. e. a'cancel-button'. All the buttons mentioned above is of course simulated buttons that are pushed by for instance clicking them with a mouse. When the condition has been edited, the condition is displayed in the sub-window 34, and a new condition may be added. The third button 352 is pushed when all the desired conditions have been set. The filter is saved as a file in e. g. the administration interface computer program 14 and/or in the administration computer program 32. The saved file for the filter may then at anytime be retrieved and used when sending a message to user terminals or persons that satisfy the condition/conditions of the filter. Of course any number of saved files, each comprising a filter, may be stored and used when a message is to be sent.

Examples of classes that may be chosen are WMI Win32 classes, which today is classified into four categories: computer system hardware, operating system, installed

applications and WMI service management. The computer system hardware category groups classes that represent hardware related objects. Examples include input devices, hard disks, expansion cards, video devices, networking devices and system power. The Operating System category groups classes that represent operating system related objects. They denote the various configurations and settings that define a computing environment. Examples include the boot configuration, COM settings, desktop environment settings, drivers, security settings, user settings, and registry settings. The Installed applications category groups classes that represent software-related objects.

Examples of objects in this category are installed products, file specifications, registration actions, and so on. Each one of the classes is associated with a set of properties and there are therefore a vast and increasing number of class-property combinations that may be chosen when editing conditions of the filter. For instance, properties for the Win32 processor WMI class are currently : Availability, Address width, Architecture, Caption, ConfigManagerErrorCode, ConfigManagerUserConfig, CpuStatus, CreationClassName, CurrentClockSpeed, CurrentVoltage, DataWidth, Description, Device ID, Error Cleared, Error Description, ExtClock, Family, InstallDate, L2CacheSize, L2CacheSpeed, LastErrorCode, Level, Load Percentage, Manufacturer, MaxClockSpeed, Name, Other Family Description, PNPDeviceID, PowerManagementCapabilities, PowerManagementSupported, ProcessorId, ProcessorType, Revision, Role SocketDesignation, Status, StatusInfo, Stepping, SystemCreationClassName, SystemName, UniqueId, UpgradeMethod, Version, and VoltageCaps.

As stated above, a certain property may comprise different predetermined values. An example is the above mentioned property ProcessorType, which currently has the values: 1 = Other, 2 = Unknown, 3 = Central Processor, 4 = Math Processor, 5 = DSP Processor and 6 = Video Processor. An example of a condition in the filter may therefore be: Class = Win32 processor WMI, Property = ProcessorType and Value = Central Processor. Another example is: Class = Win32 computerSystem, Property = Domain and Value = the name of the domain to which the user terminal belongs.

A message may be created by writing the message in a second text box in a third window (not shown) retrieved from the administration computer program 32. The message can contain information for the user of the user terminal or it can contain commands to be executed on the client/user terminal. The message format may be based on XML and also support pictures, hyperlinks to UNC (Universal Naming Convention) and URL (Uniform Resource Locator) addresses. After the message has been written, a filter may be chosen among filters that has been created and saved earlier in the third step S3 or a filter may be created according to the description above in conjunction with Figs. 6 and 7.

Instead of selecting receivers by filtering, receivers may be selected from a list of all the user terminals. When using the operating system Windows 2000, said list may be stored in for example active directory. This feature is convenient when a specific user terminal or a single user of the user terminal is known, e. g. through a registration that a specific person is logged on.

The fifth step S5 may be divided into five steps C1-C5, which are schematically illustrated by Fig. 8. In step C 1, the message and a request for a filter to be used for determining persons or user terminals that shall receive the message, are sent from the administration terminal 4.

In step C2, the message and the request are received by the administration interface computer program 14, which orders the DBMS 12 to retrieve from the database 11 all the addresses to the user terminals or persons that satisfies all the conditions of the selected filter. The determining of which user terminals that satisfy the conditions may be done in any conventional way known in the art, and is therefore not described.

In step C3, the message is sent to the receivers. If the receivers are specific user terminals or users that are logged on to these user terminals, the message may be sent only to these user terminals. Alternatively, or in addition, the administrator may choose to send the message to the mail server 5. The administrator may choose these

options through a third window (not shown) displayed on the second displaying means 27 or through e. g. the first window 330. For instance, the third or the first window 330 may comprise check boxes (not shown) for determining whether the message is to be sent to the mail server 5 only or in addition to the ordinary message to receiving user terminals. In the case where the receivers are natural persons, who at the moment the message is sent are not logged on to any of the user terminals 3a-3e, the administrator is able to send the message to the mail server 5, which stores the message such that the message later can be displayed by an e-mail computer program associated with the mail-server 5. A logic bridge is for that purpose provided between the server 6 and the mail-server 5.

In step C4, the agent computer program 24 receives the message and evaluate whether the inventory manager computer program 23 or the message manager computer program 22 shall be initiated.

If the message is intended to be displayed to users of user terminals satisfying the conditions of the filter, the respective message manager computer programs 22 of the receiving user terminals receive the message and cause the receiving user terminals to display the message in a message window in the first displaying means 16. This is done in step C5. As mentioned earlier, instead of a message handled by the message manager computer program 22, the message may comprise instructions for the inventory manager. Examples of purposes for the instructions are: A synchronisation of the inventory during the next inventory cycle.

An immediate synchronisation of the inventory.

An immediate inventory of the user terminal.

An inventory of the user terminal during the next inventory cycle. Instead of the normal inventory template another template is attached in the body of the message.

An immediate inventory of the user terminal. Instead of the normal inventory template another template is attached in the body of the message.

Although the computer programs described above are explained as separate computer programs, it is obvious and even convenient due to installation of the computer programs, that at least some of the computer programs are modules in a larger computer program. Examples are a client computer program for each user terminal 3a- 3e,, which client computer program comprises the agent computer program 24, the message manager computer program 22 and the inventory manager computer program 23; a server computer program for the server 6, where the server computer program comprises the DBMS 12, the database 11, and the administration interface computer program 14; and a computer program for the administration terminal 4, where the computer program comprises the administration computer program 32, the agent computer program 24, the message manager computer program 22 and the inventory manager computer program 23.