Field of the Invention
The present invention relates to a technique for establishing a system capable of managing devices on a network.
Description of the Related Art
In a network device management system that manages devices connected to a network, a server on which dedicated management software operates realizes a management function by communicating with the devices as management targets. When a large number of devices connected to regionally distributed networks are centrally managed, there are some management systems in which a client is installed for each distributed network for the purpose of distribution of processing or reduction of loads. The server causes each client to obtain various pieces of information from the devices as management targets, and to transmit the information to the server.
In order to establish the management system, identification information needs to be mutually registered between the server and the client. Japanese Patent Application Laid-Open No. 11-331397 includes a discussion about initialization processing for setting information about a management apparatus as a monitoring target to a centralized management apparatus. In this patent document, when identification information (i.e., an ID number) of the management apparatus is input from an operation unit of a copying machine, the management apparatus obtains the information from the copying machine, and transmits the identification information to the centralized management apparatus. Finally, the management apparatus receives initial data including information such as transmitted time of a regular report from the centralized management apparatus, and stores the initial data in itself, thus the initialization processing is completed.
In the above-described prior art, when identification information is input via the operation unit, there is a possibility that an input mistake by a worker may occur. Further, in a case where many devices are installed at the same time, manual inputting job itself becomes a significant load.
The present invention is directed to a method for establishing appropriately and easily a management system for managing network devices.
According to an aspect of the present invention, a management system including a server for managing network devices installed in a customer environment, the server includes a first creation unit configured to create client information, a second creation unit configured to create an installer for starting a management function of the network devices, including the created client information, a storage unit configured to store on a storage device association between the created client information, and network device as the management target of a client corresponding to the client information, a reception unit configured to receive a validation request including the client information, corresponding to an execution of the created installer from the client in the customer environment, and a response unit configured, in a case where the client information included in the validation request is stored on the storage device, to perform validation processing of the client, and subsequently to respond identification information of the network device as the management target of the client stored on the storage device, and the client includes an execution unit configured to obtain and execute the installer from the server, a request unit configured to transmit a validation request including the client information included in the installer to the server, according to an execution of the installer, and a transmission unit configured to transmit the information obtained from the network devices to the server, based on the identification information of the network device as the management target included in the response from the server.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Various exemplary embodiments, features, and aspects of the invention will be described in detail below with reference to the drawings.
Server software of the network device management system operates on a host computer 102. Client software of the network device management system operates on host computers 103 and 107. Network devices 104, 105, 106,108, 109, and 110 are management targets of the network device management system. Examples of the network device include image forming apparatuses such as printers or copying machines. Besides, the present invention is applicable to computer peripheral devices (such as a scanner and a network camera) connectable to the network, instead of these image forming apparatuses. In
Server software of the network device management system operates on a host computer 202 (hereinbelow, referred to as a server), and the server 202 is connected to the Internet 201. Local area networks 205 and 212 of the respective customers are connected to the Internet 201 via firewalls 204 and 211. Each client software of the network device management system operates on respective host computers 206 and 213 (hereinbelow, referred to as a client). Network devices 208, 209, and 210 are managed by the client 206, and devices 215, 216, and 217 are managed by the network client 213. The server 202 identifies the clients 206 and 213 and stores information of the devices to be managed by the respective clients using a predetermined database, thereby managing both clients.
The server software of the network device management system provides services such as reporting of an aggregation result by collecting log information pieces of the management target network devices via the client 206 or the like. The reporting service is provided by a system administrator of a customer, so that operating statuses of the network devices or whether the devices are economically used in the customer can be assessed. The collected log information pieces include a history of jobs processed by the network devices, a power log in which power consumptions of the network devices are recorded, and so on.
The CPU 1702 executes software stored in the ROM 1704 or in an external storage device 1709, or downloaded from the network such as the LAN, and comprehensively controls respective devices connected to a system bus 1711. A random access memory (RAM) 1703 functions as a main memory or a work area of the CPU 1702. The external storage device 1709 includes a hard disk (HD), a flash memory, and the like. The external storage device 1709 stores various types of applications, database data, and user files, including a boot program, an operating system, a database server, a web server, and a web browser. Further, in the host computer, a keyboard controller (KBDC) 1706 transmits input information from a keyboard (KBD) 1705 or a pointing device (not illustrated) to the CPU 1702. A video controller (VC) 1708 controls display of a display device 1707 including a cathode ray tube (CRT), a liquid crystal display (LCD), and the like. A disk controller (DKC) 1710 controls access with the external storage device 1709. The host computer is connected to the network via a communication controller (COMM I/F) 1712. In order to realize exemplary embodiments of the present invention described below, the CPU 1702 executes the server software, the client software, or the installer which are provided as control programs.
Hereinbelow, the exemplary embodiments will be described according to the configuration of the network device management system illustrated in
In step S301, the server 202 generates client information for the client 206 on which the client software operates according to an operation of a user (i.e., a system administrator), and stores the client information on a storage device or the like in the server 202. The client information is information assigned to the server 202 to determine a client to be a management target. In step S302, the server 202 generates a client installer for installing the client software. The client installer generated in step S302 includes the client information for the client 206 generated in step S301. Next, in step S303, the server 202 transmits the client installer created in step S302 to a transmission source in accordance with a download request via the network such as the Internet.
In step S304, the server 202 associates the client information created in step S301 with the information of the network devices which the client should manage in response to an instruction from the user, and stores the association in a storage device or the like in the server 202. The processing in step S304 can be executed any number of times at an arbitrary time point after the generation of the client information (in step S301), and the number of the management target network devices of the respective clients can be increased or decreased in response to the instruction from the user.
In step S311, the host computer in the customer executes the downloaded client installer, and the host computer becomes the client 206 on which the client software operates.
In step S312, the client 206 requests the server 202 to validate the client 206 using the client information included in the client installer, as one of initial installation processing after install of the software. The client information is included in request data related to the validation request. In step S312, the server 202 which has received the request data as the validation request from the client 206 determines whether the client information included in the request data exists in the storage device in the server 202. If the client information exists, the server 202 records the client 206 as valid in the storage device. At this time point, the server 202 can recognize that a client under the management of which network devices are subjected to the management has increased. Then, the server 202 sends a notification of successful validation as a response to the request from the client 206. Since then, the server 202 appropriately returns responses to various requests from the client 206. On the other hand, concerning a request from an unknown client that is not under the management, the server 202 will basically discard the request.
In step S313, the client 206 requests a list of network devices to be managed by the client 206 from the server 202. In step S306, the server 202 receives the request for the network device list from the client 206 in step S313. The server 202 refers to the information about the list of the network devices associated with the client 206 in step S304, and responds to the client 206.
In step S314, the client 206 executes device management processing on the management target network device obtained from the server 202. The client 206 transmits an execution result of the management processing to the server 202 as needed. In step S307, the server 202 receives the processing result of the management processing, and performs storage processing or notification processing of the information. Examples of the management processing include collection of various types of log information accumulated in the network devices, and notification of the collection result to the server 202. In addition, the management processing includes collection of setting information such as setting values of software set for the network devices and address books.
Then, the client 206 repeats the processing in steps S313 and S314 on a regular basis (e.g., twice per day), or in accordance with an instruction of the user.
Hereinbelow, each step in
A meaning of each column in the table illustrated in
A “Validity” column indicates a logical value representing whether the client has been validated by the processing in steps S312 and S305 in
A “Signature Key” column is information for giving a signature on the data transmitted from the client 206 to the server 202 (i.e., information such as an encryption key), and is prepared to secure security. The server 202 confirms the signature of data transmitted from the client, and thus confirms that the received data is really the one from the client 206.
As illustrated in
The client installer created in this process includes an installer for installing the client software and a setting file including at least apart of the client information in
In
A UI control 1101 is used to input a proxy setting for connecting to the server 202 on the Internet via the firewall 204. When the user presses a “Validate” button 1102, the client 206 reads an input content of the proxy setting of the UI control 1101, and transmits a validation request of the client 206 to the server 202 using the input proxy setting. The client information is included in the request. Upon receiving a response indicating successful validation to the request from the server 202, the client 206 stores the proxy setting input via the UI control 1101 and the information indicating that the client 206 itself has been validated in the storage device in the client 206.
In step S1201, the client 206 obtains the proxy setting input via the UI control 1101 in
Next, in step S1202, the client 206 connects to the server 202, using the extracted proxy setting, and transmits a request for validating the client 206 to the server 202. The request for validating the client 206 includes the identification information (e.g., the client ID and the client name) of the client 206 and the identification information such as the customer tenant ID (the tenant ID) and the customer name (the tenant name) for identifying the customer.
In step S1211, the server 202 which has received the request for validation from the client 206 extracts the identification information of the tenant and the client from the received request. Next, in step S1212, the server 202 searches and checks whether a record corresponding to the extracted identification information exists in the management table of the client information illustrated in
On the other hand, in step S1213, if a record of the client information corresponding to the identification information included in the request from the client 206 exists (YES in step S1213), and the “Validity” column of the record is “False”, the server 202 performs the processing in step S1215 and subsequent steps for validation of the client 206. In step S1215, the server 202 generates a key for signature used in the client 206. Next, in step S1216, the server 202 returns a response including the key for signature generated in step S1215 and the information indicating that the server 202 succeeded in the validation of the client 206 to the client 206.
In step S1217, the server 202, after confirming a reply of the response, updates the “Validity” column of the record relating to the client 206 in the management table illustrated in
In step S1203, the client 206 receives a response from the server 202 as a response to the validation request. The response received in step S1203 is the response that the server 202 transmits in step S1214 or in step S1216 described above. In step S1204, if the received response indicates the success of validation (YES in step S1204), the processing proceeds to step S1205. Whereas if the received response indicates the failure in validation (NO in step S1204), the processing proceeds to step S1206.
In step S1205, the client 206 stores, in the storage device in the client 206, the signature key to be used for signature at the time of communication with the server 202 which is included in the response and the proxy setting input via the above-described setting screen in
In step S1206, the client 206 displays the success or failure of the validation processing of the client described above in accordance with the response from the server 202.
It is assumed that the request from the client 206 to the server 202 is performed in accordance with a hypertext transfer protocol secure (HTTPS) protocol. In
The server 202 which receives the request extracts identification information of the tenant and the client from the Authorization row of the header, searches the management table of the client information in
The server 202, next, creates a character string from the elements in the header which become a signature target, calculates HMAC-SHA256 signature using the signature key, and compares the HMAC-SHA256 signature with the signature in the header. As a result of comparison, if both signatures coincide with each other, the server 202 continues the processing regarding that the request is transmitted from the client 206. As a result of comparison, if both signatures do not coincide with each other, the server 202 determines that the request is not from the client 206, and suspends the processing.
According to a second exemplary embodiment, it is assumed that the network device management system provides a plurality of services, in addition to the above-described reporting service. Characteristic processing in such the system will be described in detail in the present exemplary embodiment.
For example, a plurality of services includes a service of collecting setting values of network devices, storing them in a database or the like, and using them for backup or synchronization of the settings of the network devices. Other than that, there is a status monitoring service for monitoring statuses of the network devices (e.g., a presence or absence of errors or warnings), storing the status information in the database or the like, and generating operating status reports of the network devices. Further, there is a failure prediction service for performing failure prediction by analyzing the information managed in the database and arranging a serviceperson who performs device maintenance for preliminary repair from the server 202 as needed.
The network device management system enables tenants to selectively use these services. In other words, the server 202 manages association between services to be processed for each client under the management and network devices which are targets of these services. Further, service contents which tenants can select can be added later to the network management system.
Hereinbelow, the same reference numerals are used for the same configurations and the same steps as those in the first exemplary embodiment, and therefore detailed description thereof will be avoided.
A maintenance service system 1401 includes a dedicated server connected to the Internet 201 and collects and accumulates information pieces for maintenance of the network devices. The other system 1401 may have different users or usage purposes from those of the network device management system.
Services which the other system 1401 independently provides include a service for determining degree of consumption from collection of information pieces about a number of uses, operating hours, or replacement date and time of each part in the network devices, and dispatching a serviceperson as needed. In addition, the other system 1401 may provide a help desk service for answering an inquiry from a user. Further, the other system 1401 may perform inventory management of consumables such as toner cartridges or toner bottles of the tenants, and performs a service for automatic delivery to customer environments in order to reduce downtime. In order to realize these services, the other system 1401 receives information pieces, such as counter information indicating the number of printouts or the number of use of parts, trouble information, and notification of remaining amounts of consumables (i.e., toner low or toner empty) from the network devices, and manages these information pieces in the database.
The server 202 can provide a new service such as generating analysis reports such as the above-described failure prediction or optimal usage method of the network devices by using the information pieces accumulated in the other system 1401. In this case, communications using web service will be performed and information will be exchanged as appropriate between the server 202 and the other system 1401.
Sharing the information between the server 202 and the other system 1401 has an advantage that a new service can be provided to the tenants of the network device management system. Therefore, in a case where the information of the network devices is collected from the customer environment at the time of providing such new service, it is desirable to establish a mechanism in which the client 206 transmits necessary information to each of the server 202 and the other system 1401.
In
Creation of a client, creation of a client installer, and installation and validation processing of the client are similar to those in the first exemplary embodiment.
In step S1601, the client 206 requests a list including correspondence between the service associated with the client 206 and the target network device to the server 202. In step S1611, the server 202 which has received the request from the client 206, obtains information corresponding to the client 206 from the management table including the association indicated in
In step S1602, the client 206 obtains a list of functions which have been already installed in itself. The functions included in the list obtained in step S1602 are functions for realizing the services provided by the network device management system. The functions include, for example, a function of collecting log information from the network devices, and a function of transmitting the collected log information to the server 202. Next, in step S1603, the client 206 compares the service included in the list obtained from the server 202 in step S1601 and the list of already installed functions obtained in step S1602. In step S1604, as a result of the comparison, if it is determined that all functions necessary for the services included in the list obtained from the server 202 in step S1601 have been already installed (YES in step S1604), the processing proceeds to step S1607. On the other hand, in step S1604, as a result of the comparison, if it is determined that the functions necessary for the services included in the list obtained from the server 202 in step S1601 have not been installed yet (NO in step S1604), the processing proceeds to step S1605.
In step S1605, the client 206 designates function ID as information indicating a function to be expanded, and requests a package for installing the corresponding function from the server 202. In step S1612, the server 202 which has received the request transmits a function expansion package corresponding to the designated function ID to the client 206. The client 206 receives the package. In step S1606, the client 206 performs function expansion by installation using the received package.
More specifically, if it is designated by the function ID to add the above-described failure prediction service, the client 206 needs to have a function of collecting information to be used in analysis such as various types of counter information or trouble information from the network devices. Further, the client 206 needs to have a function of once transmitting these pieces of collected information to the other system 1401. In a case where security is taken into account at the time of the transmission, initialization processing such as obtaining information such as a signature key necessary for communication with the server 202 from the other system 1401 needs to be performed. In other words, the installation processing in step S1606 includes the initialization processing for network communication as needed in addition to the function expansion.
In step S1607, the client 206 appropriately executes the service on the target devices using the list obtained from the server 202 in step S1601.
Embodiments of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions recorded on a storage medium (e.g., non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiments of the present invention, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiments. The computer may comprise one or more of a central processing unit (CPU), micro processing unit (MPU), or other circuitry, and may include a network of separate computers or separate computer processors. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™, a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2012-173962 filed Aug. 6, 2012, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2012-173962 | Aug 2012 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6438594 | Bowman-Amuah | Aug 2002 | B1 |
6477572 | Elderton | Nov 2002 | B1 |
6477667 | Levi | Nov 2002 | B1 |
6496868 | Krueger | Dec 2002 | B2 |
6760745 | Tan | Jul 2004 | B1 |
6871193 | Campbell | Mar 2005 | B1 |
7000242 | Haber | Feb 2006 | B1 |
7058685 | van Zee et al. | Jun 2006 | B1 |
7146402 | Kucherawy | Dec 2006 | B2 |
7441021 | Perry | Oct 2008 | B1 |
7475428 | Smith | Jan 2009 | B2 |
7506163 | Mansz | Mar 2009 | B2 |
7716109 | Jacobs | May 2010 | B1 |
7774821 | Dunn | Aug 2010 | B2 |
7809802 | Lerman | Oct 2010 | B2 |
7881745 | Rao et al. | Feb 2011 | B1 |
8286248 | Oliphant | Oct 2012 | B1 |
8321526 | Raleigh | Nov 2012 | B2 |
8484285 | Bretin | Jul 2013 | B2 |
8554681 | Wieder | Oct 2013 | B1 |
8612514 | Greschler | Dec 2013 | B2 |
8650277 | Gentile | Feb 2014 | B2 |
8700729 | Dua | Apr 2014 | B2 |
20020010910 | Crudele | Jan 2002 | A1 |
20020032763 | Cox et al. | Mar 2002 | A1 |
20020169963 | Seder | Nov 2002 | A1 |
20030014265 | Landry | Jan 2003 | A1 |
20030079030 | Cocotis | Apr 2003 | A1 |
20030093674 | Harrison | May 2003 | A1 |
20030195959 | Labadie | Oct 2003 | A1 |
20040236843 | Wing | Nov 2004 | A1 |
20040268314 | Kollman | Dec 2004 | A1 |
20050125530 | Brockway | Jun 2005 | A1 |
20050177750 | Gasparini | Aug 2005 | A1 |
20050182938 | Seshadri | Aug 2005 | A1 |
20050228753 | Viger et al. | Oct 2005 | A1 |
20060026589 | Schneider | Feb 2006 | A1 |
20060059253 | Goodman | Mar 2006 | A1 |
20060085517 | Kaurila | Apr 2006 | A1 |
20060165060 | Dua | Jul 2006 | A1 |
20060258342 | Fok | Nov 2006 | A1 |
20060259767 | Mansz | Nov 2006 | A1 |
20070022180 | Cocotis | Jan 2007 | A1 |
20070035763 | Bard | Feb 2007 | A1 |
20070074034 | Adams et al. | Mar 2007 | A1 |
20070088801 | Levkovitz | Apr 2007 | A1 |
20070226259 | Kacin | Sep 2007 | A1 |
20080037791 | Jakobsson | Feb 2008 | A1 |
20080052384 | Marl | Feb 2008 | A1 |
20080109396 | Kacin | May 2008 | A1 |
20080177994 | Mayer | Jul 2008 | A1 |
20080180724 | Selvaraj | Jul 2008 | A1 |
20080215722 | Hogaboom | Sep 2008 | A1 |
20080276301 | Nataraj | Nov 2008 | A1 |
20090007096 | Chavez | Jan 2009 | A1 |
20090059272 | Matsushita | Mar 2009 | A1 |
20090065571 | Jain | Mar 2009 | A1 |
20090132392 | Davis | May 2009 | A1 |
20090319649 | Larsen | Dec 2009 | A1 |
20100085599 | Nomura | Apr 2010 | A1 |
20100121156 | Yoo | May 2010 | A1 |
20100138534 | Mutnuru | Jun 2010 | A1 |
20100188975 | Raleigh | Jul 2010 | A1 |
20100198742 | Chang | Aug 2010 | A1 |
20100238501 | Fujimaki | Sep 2010 | A1 |
20100242037 | Xie | Sep 2010 | A1 |
20100250676 | Ufford | Sep 2010 | A1 |
20100323678 | Corda | Dec 2010 | A1 |
20100325644 | van der Linden | Dec 2010 | A1 |
20100332615 | Short | Dec 2010 | A1 |
20110047033 | Mahaffey | Feb 2011 | A1 |
20110113473 | Corda | May 2011 | A1 |
20110119155 | Hammad | May 2011 | A1 |
20110145164 | Lavoie | Jun 2011 | A1 |
20110194491 | Güemes Cabrejas | Aug 2011 | A1 |
20120059916 | Ohashi | Mar 2012 | A1 |
20120084078 | Moganti et al. | Apr 2012 | A1 |
20120143654 | Childers | Jun 2012 | A1 |
20120240206 | Hoffman | Sep 2012 | A1 |
20120266219 | Coleman et al. | Oct 2012 | A1 |
20120320790 | Shaffer | Dec 2012 | A1 |
20120324551 | Bretschneider | Dec 2012 | A1 |
20130013499 | Kalgi | Jan 2013 | A1 |
20130036224 | Pousti | Feb 2013 | A1 |
20130036459 | Liberman | Feb 2013 | A1 |
20130067599 | Raje | Mar 2013 | A1 |
20130191526 | Zhao | Jul 2013 | A1 |
20130326614 | Truskovsky | Dec 2013 | A1 |
20140047352 | Leppan | Feb 2014 | A1 |
20140058902 | Taylor | Feb 2014 | A1 |
20140068722 | Hayat | Mar 2014 | A1 |
20140074637 | Hammad | Mar 2014 | A1 |
20140075515 | McColgan | Mar 2014 | A1 |
20140108263 | Ortiz | Apr 2014 | A1 |
20140162598 | Villa-Real | Jun 2014 | A1 |
20140258112 | Hwang | Sep 2014 | A1 |
20150007262 | Aissi | Jan 2015 | A1 |
20150161219 | Bendiabdallah | Jun 2015 | A1 |
20150347164 | Li | Dec 2015 | A1 |
Number | Date | Country |
---|---|---|
101689121 | Mar 2010 | CN |
101714069 | May 2010 | CN |
1424808 | Jun 2004 | EP |
11-331397 | Nov 1999 | JP |
Entry |
---|
Hammad, U.S. Appl. No. 61/699,665 of US Pub 20140074637, provisional filed 2012. |
Ruiz-Martinez et al., “Payments frameworks for the purchase of electronic products and services”, 2010. |
Roach, “Session Initiation Protocol (SIP)—Specific Event Notification”, RFC3265, 2002. |
Hui et al., “The Value of Privacy Assurance: An Exploratory Field Experiment”, 2007. |
Moses, “Trust Management in the public-key infrastructure”, 1999. |
Roberts, “VeriSign Redesigns Trust Mark Seal”, 2003. |
IBM, “Tivoli Software Distribution V4.0 and Tivoli Management Framework V3R7 Extend Your Enterprise Systems Management Capabilities”, 2000 (Year: 2000). |
Tivoli, “Tivoli Software Distribution Components”, 2000 (Year: 2000). |
Nagios Enterprises LLC: Nagios XI—Mass 1-9 Deploy SNCLIENT++, Jun. 13, 2012, Retrieved from the Internet: URL: http://assets.nagios.com/downloads/nag iosxi/docs/Mass_Deploy_NSClient_Plus_Plus, pp. 1-20. |
Number | Date | Country | |
---|---|---|---|
20140040425 A1 | Feb 2014 | US |