The present invention relates generally to network processing and, more particularly, to a system and method for determining the status of users and devices in a network using access log information.
In a network communication system, users or network administrators can use SNMP (simple network maintenance protocol) to manage devices and determine device status for some devices in the network. For example, SNMP can ask devices for their status or can request devices to change their status, such as to shutdown or to initialize. SNMP gathers network data from a single type of MIB (management information base). As a result, SNMP management is available only when both the target device and the client computer support the same protocol, which typically requires customized management efforts at the client computer and takes significant user time to develop.
Moreover, while SNMP is commonly used for the maintenance of computers and printers, it is not designed to manage other types of devices, such as faxes and MFPs (multi-function peripherals). SNMP also does not show the status of users in the network communication system.
Briefly, in one aspect of the invention, a system and method for determining status of one or more devices in a network includes accessing access log information for one or more devices on the network, the access log information including information about one or more events occurring at a device. A set of rules including one or more rules is applied to the access log information. The status of the one or more devices is determined based on the application of the set of rules to the access log information.
Further features, aspects and advantages of the present invention will become apparent from the detailed description of preferred embodiments that follows, when considered together with the accompanying figures of drawing.
The network server 10 can be configured to operate, for example, as a LAN server or a web server. The network server 10 can include a processor, such as a CPU, a memory, which may include RAM, ROM and a hard disk drive, and a communication interface scheme to enable the network server 10 to communicate with other devices in the network system. Further, the network server 10 can include programming (stored on any medium) to enable it to perform various networking functions, including managing and monitoring other devices in the network system.
The clients 12 and 14 may be any of a PC, laptop computer, cell phone, PDA or other processing device that can be connected to the network system through a communication interface, such as a LAN card or modem. Clients 12 and 14 may have one or more different users that can work or operate the particular client. The clients 12 and 14 can perform functions or create jobs to be performed by other devices in the network system in response to inputs or instructions from a user at the client. For example, a first user can request through client 12 that a document be printed on printer 18, and a second user can request through client 14 that a document be faxed by fax 20 or that a document be opened from file server 16. Although only two clients 12 and 14 are shown in
The file server 16 maintains documents or files that can be accessed by the other devices in the network system. The file server 16 can also include the functionality of a mail server, which includes creating, sending, receiving and storing e-mail messages for users of the network system. Alternatively, the mail server functionality can be included within the network server 12, or as a server independent of the file server 16 and the network server 12. Although shown separately from the network server 12, the functionality of the file server 16 and the network server 12 can be implemented in the same processing device. Like the network server 12, the file server 16 can include a processor, such as a CPU, a memory, which may include RAM, ROM and a hard disk drive, and a communication interface scheme to enable the file server 16 to communicate with other devices in the network system. The file server 16 can also include programming to enable it to perform file management functions.
The printer 18 is a device that is capable of printing a hardcopy version of a document or file. The fax 20 is a device that is capable of sending or receiving a fax job. The MFP 22 is a device that is capable of performing a plurality of functions, such as printing, copying, faxing, scanning and acting as a file server. The MFP 22 typically includes at least two of these functions. Although the network system is shown with one printer 18, one fax 20, and one MFP 22, the network system may have just one of these types of devices or may have a plurality of one or more of these types of devices or any other type of device that may be connected to a network.
Each device in the network system, including the clients 12 and 14, the file server 16, the printer 18, the fax 20, and the MFP 22, is preferably configured to maintain an access log. The access log preferably includes information about events, such as functions or jobs, that are performed by the device. Depending upon the type of device, the access log may be referred to as the job log or the access history. For example, the printer 18 typically maintains a job log, and the file server 16 (and the mail server) typically maintain an access history. The access log covers job logs, access histories, and any other configuration capable of recording information about the functions and/or jobs performed by the device.
The access log can maintain various categories of information for each event occurring at the device. The categories include, for example, the time that the event occurs, which may include the beginning and the ending, the device performing the event, the device requesting that the event be performed, the user requesting that the event be performed, the document or file involved in the event, and the result of the event. These categories are not exclusive as other categories may also be recorded for each event occurring on a device. Further, each device may record information for only a select group of these categories. The particular categories that are recorded in the access log for a particular device generally depend on the type of device and the software configuration of the device, which is typically set by the manufacturer of the device. Through the present embodiment of the invention, it is possible to use the access logs from the devices in the network system and determine the status of the devices, as well as the status of users operating in the network system.
For each identified device, the access log is accessed (step 204). The manner in which the access log is accessed depends on how the status for the devices and users is determined. The status determination can be done through a combination of individual analyses of each device in combination with a centralized analysis. Alternatively, the status determination can be done through a centralized analysis only. When the combined analysis is done, the device itself accesses the access log. When the analysis is done centrally only, then the network server 10 or other networked processing device can access the access log. When the network server 10 does the accessing, it may include downloading the access log from each identified device to the network server 10.
When the network system includes different types of identified devices, it is likely that the format of the access log for at least some of the devices will be different. To address this possibility, when accessing the access log of each identified device, the network server preferably determines the format of the access log. The format of the access log may be determined from the device type. Alternatively, information about the format of the access log may be included as part of the access log itself. Another approach it to, as part of accessing the access log, convert the access log to a common or uniform format before being downloaded to the network server 10. The reformatting can be done at the devices, or the network server 10 could also take the necessary information from the devices and convert it into the necessary format.
The access logs provided to the network server 10 from the identified devices can be merged into a network-wide access log. This network-wide access log can identify events common to more than one device and merge the information of those events. For example, the client 12 may request that a document be printed on printer 18. The access log for the client 12 may identify the time of the print request, the printer to which the request was made, the document being printed, and the result of the request. The access log for the printer 18 may similarly identify the time of the request, the document being printed and the result, but it may also identify the client making the request and the user of that client making the request. Accordingly, the network wide access log would record the time, client, user, printer, document and result for this event.
Having accessed the access logs of the identified devices in the network system, a set of status rules is applied to the access logs (step 206). The status rules are a group of tests or rules applied to the information in the access log to indicate the status of the devices and users in the network system. Factors included in the status rules comprise, for example, the most recent event involving the device or user, the time of the most recent event relative to the current time, the result of the event, and the number of events occurring in a predetermined period from the current time.
The rules can be stored at the network server 10 and applied by the network server 10 against the access logs obtained from the devices in the network system. Alternatively, each device can store its own set of the status rules and apply them to the respective access logs for that device. It is also possible for the devices to access the status rules stored in a location separate from the device, such as in the network server 10, and to apply the accessed status rules to their respective access logs.
The status rules may take any of widely varying formats, and depend on the particular desired implementation of a network. For example, using the access log of a device such as the printer 18, the rules may ascertain the status of a user based on user access to the printer 18, as well as the status of the printer 18 itself. A user may be active if the user accessed the printer 18 within a certain period, such as within 30 minutes from the current time, whereas the user may be deemed inactive if the user does not access the printer 18 for more than one hour. For the in-between period, the status of the user can be identified as “may be active.” Another possibility is that the printer is currently inoperative for which the status may be “down.” For the status of the printer 18, the status rule may identify the status as being the same as the last executed job result of the printer 18.
For other types of devices, such as clients 12 and 14, the status rules may identify the status of the clients 12 and 14 as active if they are accessed within 30 minutes from the current time or as being the same as the result of last sent job result to another device. The status rule may also identify the status of the clients 12 and 14 as unknown or inactive if they are not accessed for more than one hour. Such status rules can be useful when the clients 12 and 14 are running some background programs that access network devices without user interaction, such as automatic access to web servers for gathering updated pages.
Where the network server 10 gathers the access logs from the various network devices, the status rules may identify a device as active if it has been accessed within 30 minutes from the current time. Other status rules may be that a device is busy if it has received more than ten jobs within the last ten minutes, or that the status of a device matches the result of last job executed by the device. For users, the status rule may be that a user is active if the user sent a job to a device within the last 30 minutes and, more specifically, that the status is “at desk” if a job has been sent to any device within the last ten minutes. If the network devices include location information, which is typically part of the device information, the status rules can also be applied to identify the location of a user. For example, it is possible to identify a user as located at a particular location based on the most recent activity in the access log information and the location information for the network device corresponding to the most recent activity. The given examples of status rules are exemplary only. It should be understood that other status rules for determining the status of devices and users in the network are also possible.
Based on the application of the status rules to the access log information from the devices in the network system, the status of the devices and the users can be determined (step 208). The status for a device may be determined to be, for example, active, idle, busy, unknown, or error. If the status is error, it is also possible to identify the cause of the error, such as “no paper” for the printer 18. It is also possible for the status of the device to be active in combination with another status, such as idle or busy. For the user, the status may be any of active, at desk, “may be active” (or inactive), inactive or unknown. Depending upon the information from the access logs and the design of the status rules, other status definitions are also possible.
Based on the determination of the status for the devices and users, a status table can be generated (step 210). The status table can list each of the devices and users present in the network system or a select grouping of them. For each device or user in the table, a corresponding status is provided. The status table can have further information items, such as the time at which the status was updated, the time at which the status of a particular device or user attained the identified status, and the job or function most recently performed by or requested by a device or user. The status table can be stored, for example, in the respective devices or in the network server 10.
The application of the status rules to the access log information, the determination of the status of the devices and users based on the access log information, and the generation of the status table can be performed at regular intervals, such as every ten minutes. They can also be performed each time a job or function is performed or when a job or function is requested by a device or user. It is also possible to perform these functions in response to a specific request by a user or a network administrator. Once the status table is generated, it is no longer necessary to store the access log information downloaded from the devices. Moreover, in subsequent accesses to the access logs, it may be possible to download only the information that has been created since the previous download, and update the status table based solely on the new information. Furthermore, the access log at each device can be maintained just long enough to meet the longest time-based status rule, such as just over one hour.
In addition to determining the status of the devices and users and generating a status table based on those determinations, the status information can be provided to a requesting user (step 212). The request can be from a user or a network administrator at one of the clients 12 and 14. It is also possible for the request to be sent remotely to the network system. The status information provided in response to the request can be sent as a message to the requesting user, such as an e-mail message or a pop-up window, which can be displayed on the clients 12 and 14 or other device through which the status request is made.
To further explain the process of
As also described previously, the status rules can be applied to the access log by the device itself or by a centralized device, such as the network server 10.
As shown in
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. Of course, the various steps of detecting text, background, graphical and picture regions can be done in any order. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light in the above teachings or may be acquired from practice of the invention. The embodiments were chosen and described in order to explain the principles of the invention and as practical application to enable one skilled in the art to utilize the invention in various other embodiments and with various modifications are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.