Plaque It!
Sponsored by: Flash of Genius |
[0001] The present invention relates to a computer network system and to a method for providing a service using a computer network. More specifically, the present invention pertains to a technique that can be effectively used for a system supporting a general management operation, which sorts into specific groups devices connected to an external network and which manages the devices that belong to these groups.
[0002] Internet marketing has grown and its development has continued until today net sources offer a great variety of goods and services. But not all goods are eagerly sought after; Internet end users (consumers) tend to demand goods having higher added values. In addition, many such consumers, or users, are not intimately familiar with the operation of personal computers; their ranks include a considerable number of so-called beginners for whom the installation of application software, or the need to perform the detailed setup of an operating system for a personal computer, constitutes a large and unwanted load. Furthermore, a need exists for means to distinguish between competing companies that provide goods or services via the Internet, and to thus identify sources whose goods or services differ or that provide more attractive or additional services, and to obtain more computer users (enlarge the customer base).
[0003] A system that includes devices connected to a LAN can manage these devices using a system management tool. The system management tool makes possible the installation of application software and the setting of details for the device, and for a conventional system management tool, it is premised that a device will be connected using a LAN, and that a management console for managing the device will be connected to the same network as a management server, as an in-house network. Furthermore, since the operation of the system is supposed to be limited to a single company, the system does not include a function that enables each one of multiple management consoles to administer and control the access of a managed device. A general setup is established for a management console for the management of all the devices. And in addition, since the management console is supposed to be connected via a LAN, the level of the security provided by the management console and the server can be ascertained only by employing a user verification that includes a user ID and a password.
[0004] However, when a company employs the Internet to provide for a consumer, or a user, a service having a higher added value, according to the conventional technique, the company must construct therein a device management console and a device management server before establishing a connection to the Internet. Since companies, especially middle sized and small companies, must themselves perform the initial construction of management systems and the operation of management servers, increases in the loads imposed on them constitutes a critical problem.
[0005] On the other hand, if a company desires to borrow part of a conventional network and to entrust an agent with the operation of the system, conventionally, a function for managing the accessing of a managed device is not provided for each of a number of multiple management consoles, and thus, they can not respond to the needs of a company that manages a specific device group. Furthermore, since the management console is supposed to be connected to a LAN, the security between the management console and the management server can be ascertained only through user verification, for which a user ID and a password are employed, and therefore, while taking security into account, the connection of a management console to a server via an external network is not a preferable arrangement.
[0006] It is, therefore, a first object of the present invention to enable a system configuration, wherein only a management console is installed in a company, so that it is not necessary for companies to perform the complicated operations that can be provided by a management server. For example, when a device management server is installed at a specific ISP (Internet Service Provider), the ISP can provide a charge based device management service for multiple companies, and individual company expenses can be reduced.
[0007] It is a second object of the present invention to provide a technique whereby multiple companies can share the same device management server and the same database server, and can distribute software to or provide device settings or other services for only those devices that are managed by the respective companies. In short, relative to devices, the access management of multiple consoles is supported. And more specifically, this function inhibits the setting of devices managed by other companies.
[0008] It is a third object of the present invention to enforce security between a management console and a management server and to employ the management console via an external network.
[0009] An overview of the present invention will now be presented. According to the present invention, a network system for using a device management server to manage devices connected to a computer network, comprises: general management consoles connected to the computer network; a supervisor management console accessible by the device management server; a database, connected to the device management server, that includes enterprise data associated with each of the general management consoles and the device data associated with the enterprise data for each of the devices; a console manager for the intermediate transfer of data between the general management consoles or the supervisor management console and the database; and means for referring to the enterprise data and the device data to permit the general management consoles to offer a service for the devices, or an associated group thereof.
[0010] A profile data associated with the service is included in the database, and the console manager includes means for permitting the general management consoles to access the profile data.
[0011] Further, job data associated with the profile data is included in the database, and the network system further comprises means, when the devices are connected to the device management server, for searching for data and for requesting services associated with the device data available at the devices.
[0012] In addition, management data associated with each of the general management consoles is included in the database, and the network system further comprises means for, when the general management console logs in the device management server, examining an administrator using the enterprise data and the management data.
[0013] The supervisor management console is permitted to access, register, change or delete device data associated with all the devices, enterprise data, management data, profile data or job data.
[0014] The invention will now be described in greater detail with specific reference to the appended drawings wherein:
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022] The preferred embodiment of the present invention will now be described in detail while referring to the drawings. It should be noted, however, that the present invention should not be interpreted only in line with the description given in this embodiment. Note further that the same reference numerals are used throughout the embodiment to denote corresponding or identical components.
[0023] In this embodiment, a method or a system will be explained; however, as will be obvious to one having ordinary skill in the art, the present invention can be implemented not only as a system but also as a storage medium for storing computer-readable program code. Therefore, this invention can be employed as a hardware or a software application, or as a combination of the two. An example storage medium that is provided for the storage of program code can be any computer-readable medium, such as a hard disk, a CD-ROM, or an optical or a magnetic storage device.
[0024] An ordinary computer system that can be employed as a server, such as a system management server, or as a user device comprises: a central processing unit (CPU), a main memory (RAM) and a nonvolatile memory (ROM), all of which are interconnected by a bus. In addition, a coprocessor, an image accelerator, a cache memory and an input/output controller (I/O) can also be directly connected to the bus, while an external storage device, a data input device, a display device and a communication controller, hardware resources with which a computer system is generally equipped, can be connected via appropriate interfaces. An example external storage device is a hard disk, although a magneto-optical storage device, an optical device or a semiconductor storage device, such as a flash memory, can also be used, and even a read-only memory medium, such as a CD-ROM, can be considered to be an external storage device when employed for the reading of data or of programs. The data input device is a keyboard or a pointing device, such as a mouse, or it may be a voice input device or an image reader, such as a scanner. And the display device is a CRT, a liquid crystal display device, or a plasma display device. As computer systems, a variety of types of computers can be used, including personal computers, workstations and main frames that are connected to a LAN or to the Internet, or to another network type. A communication line used for such a connection may be either a special line or a public network line. A radio network may also be employed.
[0025] The servers, the consoles or the devices need not be implemented by a single system, and may be distributed among a plurality of systems. That is, one part of a program can be processed by the computer of a user and the other part of the program can be processed by a remote computer. Further, it does not matter in which computer the data used for a program is stored. That is, so long as information concerning the location of data (an address) is available and the data can be used, on a computer network, the location at which data or a program is stored can be arbitrarily determined. A well known communication technique can be applied for communication between the network computers, and a standard protocol, such as TCP/IP or HTTP, can be employed. The location (address) of each file (data or program) stored in each storage device can be specified by using a DNS or a URL. It should be noted that the term “Internet” in this specification includes the Intranet and the Extranet. Internet access includes Intranet or Extranet access.
[0026] 1. System Configuration
[0027]
[0028] The ISP
[0029] The console manager
[0030] The supervisor management console
[0031] The database
[0032] The general management consoles
[0033] The console manager
[0034] In the network system for this invention, after a device has been verified by the SSL, administrator verification is performed when the consoles
[0035] The administrator verification process is performed by examining the ENTERPRISE table and the ADMINISTRATOR table in the database
[0036] The services registered in the database
[0037] With this system configuration, a company can provide a device service for a device it administers without having to prepare a company specific system. Further, the company can employ the general management console to provide not only a service prepared by the system but also a unique service for the device that it administers. And a system provider (an enterpriser) can increase the use of the system not only by common device users but also by companies, and can, through the companies, obtain more device users. Thus, the system of the invention can benefit device users by providing them additional services.
[0038] 2. Database Configuration
[0039] The structure of the console manager database
[0040] After being verified, an administrator can proceed to perform his or her job, while the console manager
[0041] The console manager database
[0042] A service group consists of available services. After a device has been registered, thenceforth the device belongs to a specific service group, which means that the device is capable of receiving the services allocated for that service group. That is, the service group indirectly represents a set of devices that can provide predetermined services. Service groups are set up by a supervisor administrator, and a specific service group can be set up for multiple companies at the same time, so long as the limitations imposed by company boundaries are observed. The database
[0043] The job of the device management server (DMS) of this invention is performed for each device. Therefore, the jobs must be formed into groups in order to support the jobs for the device groups. The database
[0044] A job profile prepared by the administrator of a company is managed by the database
[0045] The table arrangement of the console manager database
[0046] 2-1. ENTERPRISE table
[0047] An ENTERPRISE table holds the list of companies. Table 1 is an example ENTERPRISE table. The details for fields are as follows.
TABLE 1 Re- Name Type Size quired Example ENTERPRISE_ID(PK) integer — Y 1000 ENTERPRISE_SIG varchar 64 Y “J0001” ENTERPRISE_NAME varchar 255 Y “ABC, Japan, Ltd.” SUPERVISOR char 1 Y ‘Y’
[0048] ENTERPRISE_ID is an in-house ID number corresponding to each company, and is used mainly for the internal database process. When the supervisor administrator prepares and registers a company entry, a unique ENTERPRISE_ID is automatically generated for the ENTERPRISE table.
[0049] ENTERPRISE_SIG is a unique identification name for a company in the ENTERPRISE table. The ENTERPRISE_SIG is allocated for each company by the supervisor administrator.
[0050] ENTERPRISE_NAME is the unique name of a company in the ENTERPRISE table.
[0051] SUPERVISOR represents a company that is an enterpriser. Character “Y” represents an enterpriser, and the other character represents an entire company. An enterprise can not include multiple companies.
[0052] 2-2. ADMINISTRATOR table
[0053] An ADMINISTRATOR table holds the list of administrators. Table 2 is an example ADMINISTRATOR table. The details for the fields are as follows.
TABLE 2 Name Type Size Required Example ADMIN_ID(PK) integer — Y 1000 ADMIN_UID varchar 64 Y “ichiro” ADMIN_PASSWORD varchar 255 Y (binary) ADMIN_INFO varchar 512 N “Tokkyo Ichiro Tel/Fax: 045-123-4567” ENTERPRISE_ID(FK) integer — Y 1000
[0054] ADMIN_ID is an in-house ID number corresponding to each administrator, and is used mainly for the internal database process. When a supervisor administrator prepares and registers an administrator entry, a unique ADMIN_ID is automatically generated for the ADMINISTRATOR table.
[0055] ADMIN_UID is the unique identification name of an administrator that is entered in the ADMINISTRATOR table.
[0056] ADMIN_PASSWORD is the password for an administrator. A unit that is not in plain text is obtained, for example, by performing a uni-directional hash function and is stored.
[0057] ADMIN_INFO is information for an administrator.
[0058] ENTERPRISE_ID represents a company to which an administrator belongs, and indicates an ENTERPRISE_ID that is entered in the ENTERPRISE table. When a member company is an enterprise, the administrator serves as a supervisor administrator.
[0059] 2-3. SERVICE table
[0060] A SERVICE table holds the list of services. Table 3 is an example of the SERVICE table. The details for the fields are as follows.
TABLE 3 Name Type Size Required Example SERVICE_ID(PK) integer — Y 1000 SERVICE_SIG varchar 64 Y “INTERNET_BUTTON_SETTING” DEVICE_CLASS_NAME varchar 256 Y “PC Type 1”
[0061] SERVICE_ID: is an in-house ID number corresponding to each service, and is used mainly for the internal database process. When a supervisor administrator prepares and registers a service entry, a unique SERVICE_ID is automatically generated for the SERVICE table.
[0062] SERVICE_SIG is the identification name for a service. A pair consisting of a unique SERVICE_SIG and a unique DEVICE_CLASS_NAME is entered in the SERVICE table.
[0063] DEVICE_CLASS_NAME is the name of a device class. The device class is one part of the PC plug-in, and handles communications with a device.
[0064] 2-4. SERVICE_GROUP table
[0065] A SERVICE GROUP table holds the list of service groups. Table 4 is an example SERVICE_GROUP TABLE. The details for the fields are as follows.
TABLE 4 Name Type Size Required Example SERVICE_GROUP_ID(PK) integer — Y 1000 SERVICE_GROUP_SIG varchar 64 Y “SERVICE_GROUP_1”
[0066] SERVICE_GROUP_ID is an in-house ID number corresponding to each service group, and is used mainly for the internal database process. A unique SERVICE_GROUP_ID is automatically generated for the SERVICE_GROUP table when the supervisor administrator prepares and registers a service group.
[0067] SERVICE_GROUP_SIG: This is the identification name of a service group, and must be a unique entry in the SERVICE_GROUP table.
[0068] 2-5. GROUPED_SERVICES table
[0069] A GROUPED_SERVICES table is used to correlate a service and a service group. Table 5 is an example GROUPED_SERVICES table.
TABLE 5 Name Type Size Required Example SERVICE_ID(FK) integer — Y 1000 SERVICE_GROUP_TD(FK) integer — Y 1000
[0070] SERVICE_ID indicates the SERVICE_ID in the SERVICE table. A pair consisting of a unique SERVICE_ID and a unique SERVICE_GROUP_ID is entered in the GROUPED_SERVICES table.
[0071] SERVICE_GROUP_ID indicates the SERVICE_GROUP_ID in the SERVICE_GROUP table.
[0072] 2-6. JOB_PROFILE table
[0073] A JOB_PROFILE table holds a list of job profiles. Table 6 is an example JOB_PROFILE table.
TABLE 6 Name Type Size Required Example JOB_PROFILE_ID(PK) integer — Y 1000 JOB_PROFILE_NAME varchar 255 Y “distribute cherry-blossom storm icon” JOB_PROFILE_CONTENTS varchar 1024 Y “file:///jobres/J001/1000/Cherrydist.pkg” JOB_PROFILE_INFO varchar 512 N “ . . . in order to distribute spring icon” SW_ID long — N 1000000 SERVICE_ID(FK) integer — Y 1000 ENTERPRISE_ID(FK) integer — Y 1000 LAST_MODIFIED date — Y (date and time)
[0074] JOB_PROFILE_ID is an in-house ID number corresponding to each job profile, and is used mainly for the internal database process. A unique JOB_PROFILE_ID is automatically generated for the JOB_PROFILE table when the entry of a job profile is prepared and registered.
[0075] JOB_PROFILE NAME is the name of a job profile. A pair consisting of a unique JOB_PROFILE_NAME and a unique ENTERPRISE_ID is entered in the JOB_PROFILE table.
[0076] JOB_PROFILE_CONTENTS are the contents of a job profile. For example, the URL for a package file used for a job is stored here.
[0077] JOB_PROFILE_INFO is information concerning a job profile, and is arbitrarily set in this field.
[0078] SW_ID indicates the SW_ID in the SOFTWARE table in the DMS.
[0079] SERVICE_ID indicates the SERVICE_ID in the SERVICE table.
[0080] ENTERPRISE_ID represents a company that has a job profile, and indicates the ENTERPRISE_ID that is entered in the ENTERPRISE table.
[0081] LAST_MODIFIED is the latest date on which a job profile was updated.
[0082] 2-7. JOB_GROUP table
[0083] A JOB_GROUP table holds a list for a job group. Table 7 shows an example JOB_GROUP table.
TABLE 7 Name Type Size Required Example JOB_GROUP_ID(PK) long — Y 1000 JOB_GROUP_NAME varchar 255 Y “distribute icon to line for Mr. ochimizu” JOB_GROUP_INFO varchar 512 N “Yamato 1st floor, Yamato 2nd floor” JOB_PROFILE_ID(FK) integer — Y 1000 SUBMITTED_TIME date — Y (date and time) ACTIVATION_TIME date — Y (date and time) EXPIRATION_TIME date — Y (date and time) ENTERPRISE_ID(FK) integer — Y 1000 LAST_MODIFIED timestamp — Y (date and time)
[0084] JOB_GROUP_ID is an in-house ID number corresponding to a job group, and is used mainly for the internal database process. A unique JOB_GROUP_ID is automatically generated for the JOB_GROUP table when a supervisor administrator prepares and registers a job group entry.
[0085] JOB_GROUP NAME is the name of a job group. A pair consisting of a unique JOB_GROUP_NAME and a unique ENTERPRISE_ID is entered in the JOB_GROUP table.
[0086] JOB_GROUP_INFO is information for a job group, and information concerning, for example, an object for a job that is stored. The setting for the JOB_GROUP_INFO in this field is arbitrary.
[0087] JOB_PROFILE_ID represents the contents of a scheduled job, and indicates the JOB_PROFILE_ID that is stored in the JOB_PROFILE table.
[0088] SUBMITTED_TIME is the date and time at which a job was registered.
[0089] ACTIVATION_TIME is the date and time at which a job is executed.
[0090] EXPIRATION_TIME is the date and time at which a job will expired.
[0091] ENTERPRISE_ID represents a company to which a job group belongs, and indicates the ENTERPRISE_ID that is stored in the ENTERPRISE table.
[0092] LAST_MODIFIED is the latest date on which a job group was updated.
[0093] 2-8. SUBMITTED_JOB_EXT table A SUBMITTED_JOB_EXT table is used to correlate a job and a job group. Table 8 is an example SUBMITTED_JOB_EXT table.
TABLE 8 Name Type Size Required Example JOB_ID(PK,FK) integer — Y 1000 JOB_GROUP_TD(FK) integer — Y 1000
[0094] JOB_ID indicates the JOB_ID in the SUBMITTED_JOBS table in the DMS. A pair consisting of a unique JOB_ID and a unique JOB_GROUP_ID is stored in the GROUPED_JOBS table.
[0095] JOB_GROUP_ID indicates the JOB_GROUP_ID in the JOB_GROUP table.
[0096] 2-9. DEVICE_EXT table
[0097] A DEVICE_EXT table holds supplemental information for the DEVICE table of the DMS. Table 9 is an example DEVICE_EXT table.
TABLE 9 Name Type Size Required Example DEVICE_ID(PK,FK) long — Y 1000 N_VALUE varchar 32 N “123-4567” SERVICE_GROUP_ID(FK) integer — Y 1000 ENTERPRISE_ID(FK) integer — Y 1000
[0098] DEVICE_ID is a unique DEVICE_ID that is stored in the DEVICE_EXT table and represents the DEVICE table in the DMS. N_VALUE: This is a device management number managed by an enterpriser.
[0099] SERVICE_GROUP ID represents a service group to which a device group belongs, and indicates the SERVICE_GROUP_ID that is entered in the SERVICE_GROUP table.
[0100] ENTERPRISE_ID represents a company to which a device group belongs, and indicates the ENTERPRISE_ID that is entered in the ENTERPRISE table.
[0101] 2-10. DEVICE_GROUP table
[0102] A DEVICE_GROUP table holds a list of device groups. Table 10 is an example DEVICE_GROUP table.
TABLE 10 Re- Name Type Size quired Example DEVICE_GROUP_ID(PK) long — Y 1000 DEVICE_GROUP_NAME varchar 255 Y “SE7, 6th floor, Hall B, Y branch, ABC Ltd.” DEVICE_GROUP_INFO varchar 512 N . . . shimo- tsuruma, Yamato-shi SERVICE_GROUP_ID(FK) integer — Y 1000 ENTERPRISE_ID(FK) integer — Y 1000 LAST_MODIFIED date — Y (date and time)
[0103] DEVICE_GROUP_ID is an in-house ID number corresponding to each device group, and is used mainly for the internal database process. A unique DEVICE_GROUP_ID is automatically generated in the DEVICE_GROUP table when a supervisor administrator prepares and registers a device group entry.
[0104] DEVICE_GROUP_NAME is the name of a device group. A pair consisting of a unique DEVICE_GROUP_NAME and a unique ENTERPRISE_ID is stored in the DEVICE_GROUP table.
[0105] DEVICE_GROUP_INFO is information for a device group. The setting for the DEVICE_GROUP_INFO in this field is arbitrary.
[0106] SERVICE_GROUP_ID represents a service group to which a device group belongs, and indicates the SERVICE_GROUP_ID that is stored in the SERVICE_GROUP table.
[0107] ENTERPRISE_ID represents a company to which a device group belongs, and indicates the ENTERPRISE_ID that is stored in the ENTERPRISE table.
[0108] LAST_MODIFIED is the latest date and time at which a device group was updated.
[0109] 2-11. GROUPED_DEVICES table
[0110] A GROUPED_DEVICES TABLE is used to correlate a device and a device group. Table 11 is an example GROUPED_DEVICES table.
TABLE 11 Name Type Size Required Example DEVICE_ID (FK) long — Y 1000 DEVICE_GROUP_ID (FK) long — Y 1000
[0111] DEVICE_ID indicates the DEVICE_ID that is stored in the DEVICE table of the DMS. A pair consisting of a unique DEVICE_ID and a unique DEVICE_GROUP_ID is stored in the GROUPED_DEVICES table.
[0112] DEVICE_GROUP_ID indicates the DEVICE_GROUP_ID that is stored in the DEVICE_GROUP table.
[0113] The database, including the above tables, is prepared so that the system can be operated. Arbitrary elements are included in the elements in these tables, and are not requisite for the present invention. Further, other arbitrary elements can also be added.
[0114] 3. System Function
[0115] The functions carried out by the system will now be described.
[0116] When the functions of the system are implemented, the communication contents of the management console are roughly sorted into the following two types. The first type is a database search/update request (command) forwarded to the console manager, and the second type is the uploading of a file to be distributed to the devices. The first type can be issued as an XML command, while an HTML POST command can be used for the second type. Details, such as the format defined in an XML command and the contents and the uploading of a file using an HTML POST command, are well known to one having the ordinary skill in the art. Furthermore, functions such as data compression, compatibility with NLS, divided transmission (reception) for huge amounts of data and partial re-transmission, and the encryption of private information (an administrator password, etc.) for each company, can be additionally provided for communications that employ this system.
[0117] A detailed explanation will now be given for the processing performed by the consoles or the devices and the management server.
[0118] 3-1. Administrator Verification
[0119] The administrator verification function is a function used to determine whether a person who is to use the supervisor management console or the general management console is an authorized administrator. The console manager will not accept a request from a non-authorized administrator, so when a log-in occurs at the supervisor management console
[0120] The verification of the administrator is performed by examining an ENTERPRISE table 34 and an ADMINISTRATOR table 35 in the database. When the administrator has been verified, the console manager
[0121] 3-2. Management of a Company
[0122] Company management can be performed only by the supervisor management console (supervisor operation). The console manager
[0123] To add a company (step
[0124] To delete a company, an entry is deleted from the ENTERPRISE table. At this time, all associated entries, such as those for an administrator, a device group, a device, a job group, a job and a job profile, must also be deleted. It should be noted that the company of an enterpriser can not be deleted. To change the attribute of a company, an entry in the ENTERPRISE table is altered. It should be noted that a list of companies is compiled by referring to the ENTERPRISE table.
[0125] 3-3. Management of Administrators
[0126] The management of administrators, as well as the management of companies, is a supervisor operation. It should be noted, however, a general administrator is permitted to perform one part of this operation. To add an administrator (step
[0127]
[0128] Upon the receipt of a request from the supervisor management console
[0129] 3-5. Device Management
[0130] In principle, device management is supervisor management, but a general administrator is permitted to perform one part of the management process. The addition of a device (step
[0131] The service group is a necessary concept when the grouping of devices is taken into account. The service group has two aspects. One aspect is that the service group represents the frame (base) of a service an enterpriser provides individual companies. For example, the enterpriser can set up a service group that includes a service
[0132] 3-6. Management of Device Groups
[0133] To add a device group, an entry is made in the DEVICE_GROUP table. And to delete a device group, an entry is removed from the DEVICE_GROUP table, while at the same time, a corresponding entry is removed from the GROUPED_DEVICES table. To change the attribute of a device group, for which the only changeable attribute is the device group name, an entry in the DEVICE_GROUP table is altered. A list of device groups is compiled by referring to the DEVICE_GROUP table and the GROUPED_DEVICES table. All the device groups to which a specific device belongs, or all the devices that belong to a specific device group, can be compiled to form a list.
[0134] 3-7. Job Management
[0135] For the consoles
[0136] A job can be canceled for each job group, and can also be canceled for each device. When a job is canceled, a corresponding entry is removed from the database. This job deletion operation by the DMS is the only one in which an entry is deleted from the database, and a job that is currently being executed can not be deleted. Even thought the attribute of a job can be changed by altering the SUBMITTED_JOB table in the DMS.
[0137] A list of jobs can be compiled by referring to the SUBMITTED_JOB table in the DMS, the JOB_COMPLETION table, the SUBMITTED_JOB_EXT table and the JOB_GROUP table. Then, the statuses of all the jobs belonging to a specific job group can be obtained. In this case, the jobs can be filtered using the status and the date, and a list of the job groups to which a specific job belongs can be obtained.
[0138] 3-8. Management of Job Profiles
[0139] To add a job profile, an entry is made in to the JOB_PROFILE table. But before a job profile is added, associated software must be uploaded and the software information must be stored in the SOFTWARE table in the DMS. The servlet of the console manager
[0140] To delete a job profile, an entry is removed from the JOB_PROFILE table, while associated software is deleted and a corresponding entry is removed from the SOFTWARE table. However, when a job issued by a specific JOB_PROFILE is present in the database, the job profile can not be deleted.
[0141] To change an attribute for a job profile, an entry for the only alterable attribute in the JOB_PROFILE table, the job profile name, is altered. A list of job profiles can be compiled by referring to the JOB_PROFILE table and the SERVICE table.
[0142] 3-9. Uploading a Job Resource
[0143] Software distributed to a device must be uploaded before a job is scheduled, and the console manager
[0144] As is shown in
[0145] /jobres/J001
[0146] wherein “/jobres” denotes the parent directory of all the company resource directories. The path to the directory of the company resource, including the above directory name, is set up by the console manager servlet based, for example, on the identification name obtained from the database. When multiple DMS servers are employed, “/jobres” and the following directories must be mounted in another machine in the NFS.
[0147] A package file and a resource file are uploaded from the console to the above directory (step
[0148] 3-10. Processing for a request issued by a device
[0149] As is shown in
[0150] When the above described processing is performed, in accordance with the system of this embodiment, a unique service can be provided for a device administered by a company, and since the company can entrust the server management to an enterpriser, a service answering to a large variety of needs can be provided at a low cost. Further, as is described above, devices managed by a general management console
[0151] The present invention has been specifically explained by using the embodiment; however, the invention is not limited to this embodiment, and can be variously modified without departing from the scope of the invention. For example, in this embodiment, as management levels, the system employs three layers: a device that constitutes an end user, a management console for a company, and the supervisor management console of an enterpriser. However, additional layers can be set as management levels. For example, an enterpriser may be controlled by another, higher enterpriser, or a device managed by a company may control another device located within the range controlled by the company.
[0152] According to this specification, companies are employed as example general administrators, but other groups, such as public agencies, schools or non-profit organizations, may also be employed. The term “company”, as used in this specification, includes the concept of “public agencies, schools, non-profit organizations and other such groups”.
[0153] The typical effects obtained by the invention disclosed in this application are as follows. Since only a management console must be installed in a company, the company is relieved of its responsibility for providing for the complicated operation of a management server. And since the fee that an ISP may charge for providing a device management service for multiple companies can be split among the relevant companies, the expense incurred by each company can be reduced.
[0154] Further, since multiple companies can share the same device management server and database server, and can receive a service, such as the distribution of software or the setting of devices, only the respective devices that are managed are affected. Therefore, the device setting is inhibited and is not performed for devices that are managed by other companies.
[0155] Furthermore, the security between a management console and a management server is strengthened, so that the operation of a management console via an external network is possible.