Device management system

In a client/server architecture system, a device management system having the function of safely sharing a device without compromising user convenience is provided.The device is coupled to a terminal that the user uses or a hub coupled to a network. A device management manager having a device driver function and communication function installed on the terminal or the like, a virtual device manager having a device driver function and communication function installed on the server, and an authentication server that manages access permission for the device allow the device to be virtually available as in the case of the device directly coupled to the server while managing the access to the device.

INCORPORATION BY REFERENCE

This application claims priority based on a Japanese patent application, No. 2005-169403 filed on Jun. 9, 2005, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates to a technology which manages access to a device coupled to a server over a network. The invention particularly relates to a technology that allows safe and easy, remote operations in a system in which the device is virtually available as in the case where it is directly coupled to the server.

Available data transfer bandwidth per person in communicating over a network such as the Internet or an intranet has been broadened than ever. In addition to access from corporate in-house instruments to outside servers, one can even access corporate in-house instruments from home, hotel, hotspot, or other places at a bandwidth of several Mbps to several tens of Mbps. Full-time and inexpensive connection to the Internet from home or in urban areas is now available.

Information instruments such as personal computers (PCs), Personal Digital Assistants (PDAs), and cellular phones have been falling in price, allowing more enterprises to provide most of their employees with terminal devices for their business activities. Many enterprises have allowed their employees to access corporate in-house instruments such as servers and PCs by using information instruments outside their offices, for example, on business trips, at homes, or during traveling for performing their business activities in a prompt manner.

Such access is referred to as remote access functionality, in which a server with virtual private network (VPN) functionality for encrypted communication is installed in-house and the server controls the communication with external information terminals, for example, by encrypting the communication along the communication path. As the external remote access becomes common practice, work systems are changing in such a way that in addition to performing part of business activities by accessing a mail server or web server remotely, most of the in-company business activities are carried out at remote locations.

As one approach to address such a work system, a system operation method called client/server architecture may be introduced. A client/server architecture system is also called a network computing system or server based computing system, in which main programs and data are stored on servers and manipulated from clients such as PCs or thin-clients. In client/server architecture, computing and data storage are performed primarily on the servers, which reduces the need for and frequency of tasks on the clients, such as thin-clients, that would be otherwise necessary, including upgrade and bug fix for the OS and business applications as well as combating and disinfecting viruses, resulting in reduced overall management cost and increased security (See, for example, Japanese Patent Laid-open Publication No. 2005-12775).

SUMMARY OF THE INVENTION

In the above mentioned client/server architecture, servers and clients may be located physically remote from each other.

In such client/server architecture, one way for the user to use a peripheral instrument (hereinafter referred to as “device”) such as a CD-ROM drive or a printer, which is coupled to an information instrument, is to directly couple the device of interest to the server. In this case, a client can use the device through the driver of the device on the server without having to install the driver on the client. The device can also be shared by multiple clients. In this case, however, since there is no driver for the device (e.g., a CD-ROM drive) directly coupled to the server in the client operation environment, certain operations such as removing CD-ROM media cannot be performed.

Another way is to place the device of interest as a shared device on a network such as an intranet, install the device driver on a client, and use the device through the driver. This arrangement, however, is problematic in terms of security because a third party having the device driver may gain unauthorized access to the device unless action, such as access control, is taken after the CD-ROM has been inserted into the CD-ROM drive. In particular, when the server exists on a network, the shared device virtually coupled to the server and available to multiple clients presents security risk, which requires sufficient security measures such as authentication and encryption.

In the case of a common device such as a CD-ROM drive, it is possible to share the device according to this method because each client may have the driver and the OS of the server and clients will likely provide device sharing capability. However, in the case of a special device that requires a specially functioning driver, it is difficult to share the device in a configuration in which the clients are provided with the device driver because a dedicated function is required for sharing the device and Operating Systems (OS) generally do not, in most cases, provide such a function.

The present invention has been made in view of the above circumstances and provides improved system security without compromising user convenience when a device is shared in client/server architecture.

Thus, the invention manages access permission for a device that is coupled to a network and virtually operates on a server.

Specifically, in a system in which a server that executes an application program, a client that instructs the server to execute the application program and receives the execution result from the server, and an authentication server that authenticates the client are coupled over a network, there is provided a device management system that controls a device coupled to the client from the server, the device management system characterized in that:

the client includes device manager that sends and receives data to and from a device driver of the device coupled to the client, as well as sends and receives the data to and from the server,

the authentication server includes device information holding unit that manages usage permission for each device in the device management system,

the server includes virtual device manager that controls the data transmission and reception over the network between the application running on the server and the device manager in accordance with the usage permission held in the device information holding unit.

According to the invention, the system security can improve without compromising user convenience when a device is shared in client/server architecture.

These and other benefits are described throughout the present specification. A further understanding of the nature and advantages of the invention may be realized by reference to the remaining portions of the specification and the attached drawings.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Embodiments of the invention will be described in detail with reference to the accompanying drawings.

First Embodiment

A first embodiment of the device management system according to the invention will be described with reference to the drawing.

FIG. 1is a detailed block diagram of the device management system of the present embodiment. The device management system of the embodiment includes an information center102including a device management and authentication server101, a network103, and a blade server106; and a client apparatus, such as a PC, coupled to the network103of the information center.

The information center102manages information instruments, and is an area where entering and leaving the center are usually controlled and the instruments installed therein are managed and monitored. The setup of the information center102is not limited to a specific location. For example, it may be located where a user uses a terminal such as a client apparatus, or may be remotely located therefrom. If the user uses the terminal in his/her office or the like, the information center102may be located in the building of the corporation that manages the user. If the user is a general consumer and uses a server of a service provider at home, hotel, street facility or the like, the information center102may be located in the building that is managed by an Internet service provider, server rental company, application service provider, or the like. The information center102may be an area where servers are collectively placed in a section of the user's home or office.

The device management and authentication server101authenticates and manages devices and users, and is managed by an administrator of the information center102. To achieve this, the device management and authentication server101holds various data, which will be described later. The device management and authentication server101is implemented as an information processing apparatus comprising a communication interface, a CPU, and a memory, and performs various functions by the CPU executing programs stored in the memory. The programs which implement the functions may also be obtained from other apparatus via storage media or communication media including carriers, digital signals, or communication lines.

The blade server106is an apparatus including a plurality of servers or PCs therein and is provided with, although not shown, a power supply, an interface function which connects internal instruments and the network103, a management apparatus, and the like. In the present embodiment, the blade server106will be described, by way of example, with respect to PC-A110, PC-B111, and PC-C112incorporated therein. The configuration of the blade server106is, of course, not limited to the above, but the blade server106may be removably provided with other PCs or servers.

The network103connects the device management and authentication server101, PC-A110, PC-B111, PC-C112, and the like to each other. In the present embodiment, the network103will be described as a network using TCP/IP as the communication protocol. The network103may, of course, communicate in accordance with other protocols.

Although the PC-A110, PC-B111, and PC-C112in the present embodiment are arranged in the blade server106, they may not be located in the blade server106or even in the information center102as long as they reside on the network103. Although the PC-A110, PC-B111, and PC-C112are described as PCs, they are not particularly limited thereto and may be servers, workstations, or built-in instruments as long as they are information instruments in which OS and application programs stored on the storage media are executed on the memory and CPU.

FIG. 15is a hardware configuration view of PC-A110. PC-A110includes a storage unit160such as a hard disk drive or a flash memory, a memory110b, a CPU110a, and a communication interface110cthat is an interface for communication. In the PC-A110, each of the processing portions is accomplished by the CPU executing programs read into the memory. The programs may also be obtained from other apparatus via storage media or communication media. The communication media include carriers, digital signals, or communication lines.

The PC-A110performs computing operations in accordance with instructions from the user. The computed results are displayed on a display, not shown, coupled to the PC-A110or blade server106. The storage unit160has a virtual device manager120installed thereon by the administrator. When the PC-A110starts up, the OS is read from the storage unit160into the memory110b, executed by the CPU110a, and brought into the ready-to-use state, then the virtual device manager120is read into the memory110b, and executed by the CPU110a, and the virtual device brought into the ready-to-use state.

The term “virtual device manager” as used herein is a mechanism that makes a device coupled to the PC-A110over the network103or the like available as if the device were directly coupled to the PC-A110. This mechanism makes a device coupled at a remote site available as in the case of a device physically coupled to the PC-A110.

The virtual device manager120is a control software program which sends and receives data to and from a device A151coupled to the PC-A110over the network103. The virtual device manager120functions to make the device A151virtually available as in the case of direct connection of the device A151to the server. Details of the virtual device manager120will be described later along with the operation of a device management manager123that will be described later as well.

The data that the virtual device manager120has sent and received as well as the events that have occurred in the virtual device manager120are accumulated on the storage unit160as a log170. Details of the log170will be described later.

The PC-B111and PC-C112are also configured similar to the PC-A110, and have storage units161and162respectively incorporated therein and virtual device managers121and122respectively installed therein, which will operate after startup. The following description will be provided with respect to the PC-A110, when it is not required to distinguish the PC-A110, PC-B111, and PC-C112from each other.

The storage units160to162may reside on the network103instead of in the blade server106.

Instruments coupled to the network103as client apparatus will be described.

In the present embodiment, the following description will be provided, by way of example, with respect to the case in which a PC-D113, PC-E114, PC-F115, hub116, and PC-Z117that is coupled via a firewall105and the Internet104are provided as client apparatus. The description will also be provided, by way of example, with respect to the case in which a device A151is coupled to the PC-D113, a device B152is coupled to the PC-F115, devices C153and D154are coupled to the hub116, and a device Z155is coupled to the PC-Z117. The way each of the clients and devices is coupled is not limited to the above configuration.

The PC-D113is an information processing apparatus that performs computing operations in accordance with instructions from the user, uses the device as required, and presents the computed results to the user. Hardware configuration and the way each of the processing portions is implemented are basically similar to the PC-A110. The PC-D113is coupled to the network103through a network interface, not shown. The PC-D113includes a storage unit163such as a hard disk drive or flash memory as well as a memory and CPU, not shown, and performs computing operations in accordance with instructions from the user. The computed results are displayed on a display, not shown, coupled to the PC-D113. The instructions from the user are sent to the PC-D113through a user interface, such as a keyboard or mouse, not shown.

The storage unit163of the PC-D113has a device management manager123installed thereon. When the PC-D113starts up, the OS is read from the storage unit163into the memory, executed by the CPU, and brought into the ready-to-use state, then the device management manager123is read into the memory, executed by the CPU, which makes the coupled device A151available from the PC-A110as a virtual device. The data or the like that the device management manager123has sent and received are accumulated on the storage unit163as a log173. Details of the log173will be described later.

The device management manager123is a software program that allows the PC-D113to make the device A151available as a virtual device of the PC-A110of the blade server106. Details of the device management manager123will be described later along with the operation of the virtual device manager120.

The PC-E114, PC-F115, and PC-Z117are basically configured similar to the PC-D113and include storage units164,165, and167respectively. These storage units store logs174,175, and177respectively.

The hub116is an apparatus from which part of general PC's functions, such as a display screen, is removed. That is, the hub116is coupled to the network103through a network interface, not shown, and includes a storage unit166such as a hard disk drive or flash memory as well as a memory and CPU, not shown, to perform computing operations. Hardware configuration and the way each of the processing portions is implemented are basically similar to the PC-A110. The hub116implements a device management manager126and holds a log176on its storage unit166. The following description will be provided with respect to the PC-D113, when it is not required to distinguish the PC-D113, PC-E114, PC-F115, PC-Z117, and hub116from each other.

The device A151is a peripheral instrument, such as a CD-ROM drive or a printer, coupled to an information instrument. The device A151is coupled to the PC-D113through an interface for device connection. Conceivable interfaces for device connection are those for connecting a device to a PC, such as Universal Serial Bus (USB), wireless USB, near-field wireless communication interface, infrared communication interface, serial port interface, parallel port interface, IEEE 1394 interface, PS/2® interface, and audio interface. In the present embodiment, the description will be provided, by way of example, in the case in which the interface is USB, but not limited thereto.

Also, in the present system, the device A151is used as a virtual device through the device management manager123installed in the PC-D113to which the device A151is coupled. Hereinafter, the device management manager123is referred to as the device management manager managing the device A151.

The other devices B152, C153, and D154coupled to the PC and hub respectively are also peripheral instruments similar to the device A151and coupled to the PC or hub through a USB interface, by way of example in the present embodiment. The following description will be provided with respect to the device A151, when it is not required to distinguish the devices A151, B152, C153, and D154from each other.

A policy table1400, a device management table200, and a user information database300held by the device management and authentication server101will be described. The device management and authentication server101in conjunction with the virtual device manager120and the device management manager123control access to each of the devices.

The policy table1400has access policies registered thereon for the devices managed by the administrator in the present system. For example, usage permission for each device, usage permission depending on the client apparatus to which a device is coupled, and the like are registered in the policy table1400. This table is pre-specified by the administrator or the like. The system administrator can freely change the policy table1400. It is also possible to configure the system such that rules in the device information table200cannot be changed automatically but only manually by leaving the policy table1400unspecified. The administrator configures the policy table1400in accordance with policies that the administrator should specify for the system he/she manages.

FIG. 2shows one example of the policy table1400. As shown in this figure, for each policy, the policy number1401, device name1402, address of the connection application1403, network interface ID of the connection application1404, vendor ID1405, product ID1406, serial number1407, device type1408, exclusive control1409, availability1410, and usage permitted ID1411are recorded in the policy table1400. Other items may of course be recorded.

The policy number1401is an identification number that is automatically assigned to each policy when the administrator registers a policy in the policy table1400. When the number of the instruments or devices available in the system increases or decreases, a record of the device information table200, which will be described later, is created according to the policies registered in the policy table1400. When the number of the instruments or devices that follow a plurality of policies increases or decreases in the system, these policies are applied in a predetermined order.

The device name1402, address of the connection application1403, network interface ID of the connection application1404, vendor ID1405, product ID1406, serial number1407, and device type1408have the same contents as those recorded in the device information table200, which will be described later, and indicate information on the instrument or device. The administrator specifies relevant conditions of the device name, address of the connection application, network interface ID of the connection application, vendor ID, product ID, serial number, and device type for each policy. Details of these conditions will be described in the description of the device information table200.

The exclusive control1409is a value that, when a user uses the device, defines whether or not to prohibit any other user from using the device. Specifiable values are “required”, “possible”, “not required”, and “not inquired (*)”. Although “not inquired (*)” is basically handled similarly to “not required”, it may be configured to be automatically specified for each device type or class, where the class is the type of a device that operates through the same device driver (class driver), such as a keyboard, storage unit, and the like.

Availability1410is the response of the device management and authentication server101when it is asked to give permission for the device. Specifiable values are “enabled”, “inhibited”, and “warning”. A policy specified with “enabled” is the one that makes the relevant instrument or device automatically available to the user or users listed in the section of the usage permitted ID1411that will be described later. A policy specified with “inhibited” is the one that makes the relevant instrument or device automatically unavailable to the user or users listed in the section of the usage permitted ID1411that will be described later. A policy specified with “warning” is the one that, after displaying a warning, makes the relevant instrument or device automatically available to the user or users listed in the section of the usage permitted ID1411that which will be described later. The warning to be displayed can be specified for each policy.

The mark “*” in the figure means “not inquired” (no definition). The device management and authentication server101verifies whether the recorded information matches with the actual information.

For example, inFIG. 2, a policy1for the policy number1401specifies “not inquired” for the device name1402, address of the connection application1403, network interface ID of the connection application1404, serial number1407, device type1408. That is, when an inquiry is made for the policy for the device whose vendor ID1405is “1001” and product ID1406is “1001”, the exclusive control1409is recorded as “not required”, the availability1410is recorded as “enabled”, and the usage permitted ID1411is recorded as “20000001, 20000010, etc” in the device information table200regardless of the device name, address of the connection application, network interface ID of the connection application, serial number, and device type of the policy.

The policy2for the policy number1401automatically specifies “required” in the exclusive control section and “20000011” in the usage permitted ID section only for a device whose vendor ID is “1105” and device type starts with “B Ltd.”

The policy3for the policy number1401automatically displays “not inquired” in the exclusive control section1409and “warning” in the availability section1410for a device coupled to the client apparatus whose address of the connection application1403is “192.168.1.1” and network interface ID of the connection application1404is “00:00:00:00:00:01”, and specifies the device available to all users.

The policy n for the policy number1401specifies “inhibited” for all devices. That is, when a request is made for registering a device unregistered in the policy table1400, the device management and authentication server101refers to the sections labeled with n for the policy number1401and specifies the exclusive control1409with “not required” and the availability1410with “inhibited” in the device information table200.

The device information table200will be described. The device information table200manages information necessary for managing access to each device coupled to the present system. Each record to be registered in the device information table200is created in accordance with various device identifying information (hereinafter referred to as “device information”) sent from the device management manager123along with a request (hereinafter referred to as “device connection request”) for making the device that the device management manager123manages sharable, plus a policy or policies registered in the policy table1400. The virtual device manager120controls availability of each device using the device information table200.

When a device has been coupled or removed, the device management manager123sends, as the device information, at least information identifying the request-sending client apparatus on the network103(the IP address and MAC address in the present embodiment), information identifying the device of interest (the vendor ID, product ID, and serial number in the present embodiment), and information indicative of whether the device has been coupled or removed. The device management and authentication server101creates a record in accordance with the policy table1400and registers it in the device information table200.

When the client apparatus itself is removed from the network103, information identifying the client apparatus and information indicative of the removal thereof are sent to the device management and authentication server101.

The device management and authentication server101updates the device information table200, for example, when the system configuration that the device management and authentication server101manages has been changed, including when the number of the devices has increased or decreased, when a client apparatus has been removed, when the number of the users who use the system has increased or decreased, and when the network configuration has been changed; when records in the policy table1400have been changed; and when the device management and authentication server101has received an instruction from the administrator for updating the device information table200. Also, as described later, the status will be updated every predetermined period.

FIG. 3shows one example of the device information table200. As shown in the figure, the device information table200includes the device ID201, device name202, address of the connection application203, network interface ID of the connection application204, vendor ID205, product ID206, serial number207, device type208, exclusive control209, status210, usage permitted ID211, and user ID212.

The device ID201uniquely identifies each device to be managed and is automatically created whenever a new registration request is made. It is a temporal ID that will likely change whenever the device management and authentication server101or the device management manager123starts or ends, whenever a device is inserted or removed, or the like.

The device name202is the name of the device by which the device is easily referred to, and pre-specified by the administrator or user. When specified by the administrator, the device name is registered in the policy table1400. When a record of the device information table200is created, the device name is extracted from the policy table1400and registered. When specified by the user on the other hand, the device name is included in the device information, which is informed to the device management and authentication server101.

The address of the connection application203records the IP address of the client apparatus to which the device is coupled (PC-D113for the device A151). This is sent as the device information. This address will likely change even in use as appropriate, for example, when the client apparatus is moved from one subnet to another.

The network interface ID204records the number indicative of the network interface ID of the client apparatus to which the device is coupled (PC-D113for the device A151). When the network uses the TCP/IP protocol as in the present embodiment, the Media Access Control (MAC) address is used as the network interface ID. Unlike the address of the connection application, the network interface ID204is unique to the instrument and will not change unless the instrument is changed.

The vendor ID205, product ID206, and serial number207are device identification numbers that have been preassigned to the device itself and obtained as the device information when the device is coupled to the client apparatus (PC-D113for the device A151). These pieces of information are sent from the client apparatus to the device management and authentication server101as the device information. Each device is identified by a set of the vendor ID205, product ID206, and serial number207. The vendor ID and product ID are uniquely assigned for each vendor and product. The serial number is assigned individually to each product.

The device type208is the name that the vendor or administrator assigns for user' understanding. When assigned by the vendor, the device type208is extracted from device information such as a descriptor and included in the device information for notification. When assigned by the administrator on the other hand, it is pre-registered in the policy table1400.

The exclusive control209is the definition information indicative of, when a user uses the device, whether or not to prohibit any other user from using the device. When the exclusive control209is specified as “required”, exclusive control is provided for the use of the device and the device is protected from other users' access from the start to the completion of the use of the device by the user. When the exclusive control209is specified as “possible”, the device is protected from other users' access only when information is being sent or received to or from the device. When the exclusive control209is specified as “not required”, exclusive control is not provided. This information is extracted from the policy table1400and registered.

The status210is the information indicative of the device usage status. The device management and authentication server101obtains this information by polling each coupled client apparatus every predetermined period. When the status210is “exclusively in use”, it indicates that the user is using the device while exclusive control is provided. When the status210is “in use”, it indicates that the user is using the device while exclusive control is not provided. When the status210is “in communication”, it indicates that exclusive control is provided only during the communication and the user discontinues the exclusive usage of the device as soon as the communication ends. When the status210is “unknown”, it indicates, for example, that the device management manager123is unable to communicate without notification to the device management and authentication server101. After the status210has become “unknown” and a fixed time has passed, the device management and authentication server101controls to terminate the relevant device management manager123as well as the device A151coupled to the PC-D113on which the relevant device management manager123is installed. When the status210is “discoupled”, it indicates that the virtual device manager120can communicate with the device management manager123, but the device management manager123cannot communicate with the device A151. When the status210is “not in use”, it indicates that no client apparatus is using the device.

The usage permitted ID211records the ID of the user or group who will be given permission for connection to the device of interest. This information is extracted from the policy table1400. When a plurality of users or groups is given permission for connection to the device, IDs of all of the permission-holding users or groups are registered. The usage permitted ID211may be not defined, that is, may have no registered IDs. If not defined, any user or group will be given permission for connection.

The user ID212records the ID of the user who is currently using the device of interest. The device management and authentication server101obtains this information by polling each coupled apparatus every predetermined period.

A user information database300held by the device management and authentication server101will be described. When a user requests for connection to an instrument in the information center102from an instrument that is outside the information center102but coupled to the network103, the database300is used to determine (authenticate) whether the connection-requesting user has acceptable user permission. This database is pre-registered by the administrator.

FIG. 4is one example of the user information database300held by the device management and authentication server101. As shown in the figure, the user information database300registers each of the following items for each user: the user ID301, user name302, the user's group303, certificate304, valid duration305, authentication by certificate approval/denial306, encryption and hash type307, password308, and password authenticity approval/denial309.

The user ID301identifies the user and is preassigned for each user. It will not usually change unless the usage permission of the user changes. The user name302is a text string indicative of the name of the user. The user name302is used to display the usage information. The user's group303is the information indicative of the group the user belongs to. In the present embodiment, various usage permissions are arranged to be assigned on a group basis. The user's group303indicates the group having the rights that every user in that group is granted. One user may belong to a plurality of groups, that is, the user's group303may register a plurality of groups. The user's group may not be defined. When not defined, the user does not have any usage permissions.

The certificate304is the information identifying the public key certificate to be used to authenticate the user. The public key certificate recorded as the certificate304is required to have validity verifiable in the device management and authentication server101. For example, the device management and authentication server101may be configured to have a certificate authority therein for issuance of certificates.

The valid duration305is the duration during which the user has a right to use a PC or device in the blade server106. When the valid duration305is not defined, the user does not have a right to use a PC. The valid duration305can be expressed using year, month and day, or can be expressed in various forms, such as every Monday, 8:15 to 17:15 everyday, or the like. The valid duration305can be specified independent of the valid duration of the public key certificate shown on the certificate304.

The authentication by certificate approval/denial306is the information indicative of whether the authentication by certificate is approved or denied. The encryption and hash type307is the information indicative of the type of the encryption and hash using admitted public key infrastructure for authentication. When the encryption and hash type307is not defined, the device management and authentication server101will accept any encryption and hash type. Nevertheless, authentication cannot be performed by a method that is not implemented in the client (the PC used by the user, for example) or the like. The password308is a password for password-based authentication. As the password308, recorded is a hash value or encrypted information. The password authenticity approval/denial309is the information indicative of whether or not the password can be used for authentication.

The blade server106checks the authentication information with the device management and authentication server101and obtains authentication if the user is granted a right with which the user can use a PC in the blade server106through authentication using a password based on the user information database300or public key infrastructure.

In the present embodiment, the authentication is performed in two phases by checking 1) whether or not the accessing user has access permission for the blade server106, and 2) after the PC-A110in the blade server106has been assigned, whether or not the user has permission for using the resources of the PC-A110(programs and/or virtual devices). In either case, the user sends an authentication request including at least user authentication information to the blade server106or PC-A110. The blade server106or PC-A110that received the authentication request accesses the device management and authentication server101, and checks the authentication information with the record registered in the user information database300for authentication. The user authentication information herein is the user ID and password, or the signature corresponding to the public key information registered for each user.

A PC usage management table400used to manage the usage status of each PC in the information center102will be described.FIG. 5is one example of the PC usage management table400held by the blade server106.

The PC usage management table400registers, for each PC in the information center102, the PC name401, network name402, IP address403, MAC address404, source terminal405, source network name406, source IP address407, source MAC address408, user ID409, status410, time at connection initiated411, time at connection terminated412, and time at operation checked413.

The PC name401identifies the PC in the information center102. A unique name is predefined for the PC name401and registered by the administrator. The network name402is used to identify the PC on the network. A unique name is predefined for the network name402and registered by the administrator. For each PC, the network name402and the PC name401may be the same or different.

The IP address403is the address that is assigned to each PC. The MAC address404is the address that is uniquely assigned to the network interface of each PC.

The source terminal405is the name of the current client apparatus that is remotely operating the PC in the information center102. Again, a unique name is predefined for the source terminal405and registered by the administrator. The administrator can freely specify and change the name. When the PC in the information center102is not used by any client apparatus, the source terminal405is not defined. The source network name406is used to identify the source terminal405on the network103. A unique name is predefined for the source network name406and registered by the administrator. The source terminal405and the source network name may be the same.

The source IP address407is the IP address of the client apparatus. The source MAC address408is the address that is uniquely assigned to the network interface of the client apparatus.

The user ID409is the user ID of the user who is using the client apparatus. The user ID409is not defined when the client apparatus is not used.

The status410is the information indicative of whether or not the PC of interest is in use. Information recorded in the section of the status410includes the following three: “in use”, “checking”, and “waiting”. When the PC has the status410of “in use”, it indicates that the PC is being used by the user having the ID registered in the user ID409section through the client apparatus identified by the source terminal405. When the PC has the status410of “checking”, it indicates that the device management and authentication server101is checking whether or not the PC is being used by the client apparatus or the checking process has not completed. When the PC has the status410of “waiting”, it indicates that the client apparatus is waiting to use the PC, that is, the client apparatus is not using the PC.

The time at connection initiated411is the time when the user identified by the user ID409started operating the PC through the client apparatus identified by the source terminal405. The time at connection terminated412is the time when the user identified by the user ID409stopped operating the PC through the client apparatus identified by the source terminal405. The time at operation checked413is the time when the virtual device manager120last communicated with the device management and authentication server101, for example, when the channel was created or deleted.

The blade server106updates this database whenever the usage status of each constituent PC changes.

A process of setting a device sharable and sharing the device after the setting (hereinafter referred to as “device sharing process”) in the device management system of the present embodiment will be described. The process will be described, by way of example, with respect to the case in which the user uses the client apparatus PC-D113to remotely operate the PC-A110that is a constituent instrument of the blade server106in the information center102, and make the device A151coupled to the PC-D113sharable. Naturally, the same procedure of device sharing applies to other cases in which other user terminals, other constituent instruments of the blade server106, or other devices are involved.

FIG. 6is a process flow diagram of the device sharing process in the above example.

The user instructs the PC-D113to start up (501). The PC-D113that received the startup instruction from the user loads the OS and/or applications from the storage unit163and starts them (502). The OS and/or applications may be loaded from a storage unit on the network. The device management manager123also starts up at this time.

The device management manager123that started up in the step502acquires information on the device A151coupled to the PC-D113(503). The information on the coupled device is acquired during startup in response to a request from the host (PC-D113in the present embodiment) through descriptor information, which is the data regarding information of the overall device, sent from the device to the host (504). The descriptor includes, for example, the code indicative of the device type, device class code, manufacturer/vendor ID of the device, product ID, and serial number. Based on the data of the device information acquired at step503, the PC-D113reads and operates the device driver that drives the device A151. The device management manager123implements the function of the driver or filter driver of the device that the device management manager123manages (the device A151in this case), makes the device sharable in the system, and controls information that the device sends and receives.

The device management manager123checks the operation of the device A151coupled to the PC-D113, and then sends the device management and authentication server101the device information extracted from the device information of the device A151acquired at step503along with a device connection request (504). When the device management and authentication server101receives the device connection request and the device information, it checks the information against the data in the policy table1400and registers the policy for the device-connection-requesting device in the device information management table200.

On the other hand, upon completion of the startup process, the PC-D113displays on the display that the startup process has completed (506). The user recognizes the completion of the startup process and instructs that the user starts using a constituent PC of the blade server106in the information center102. In the present embodiment, the instruction of usage start is the entry of the user ID and password.

Upon receipt of the usage start instruction from the user (507), the PC-D113sends the received user authentication information to the blade server106as a request for using the blade server106(hereinafter referred to as “server usage start request”) (508).

Upon receipt of the server usage start request, the blade server106authenticates the user by checking if the user has an appropriate usage permission for using the blade server106(509). Specifically, the blade server106sends the user ID and password included in the usage start request to the device management and authentication server101and asks for authentication (510). The device management and authentication server101checks the received user authentication information against the user information database for authentication and returns the result to the blade server106. At this stage, authentication is performed to see whether or not the user has permission for accessing the blade server106itself.

If the blade server106receives a reply from the device management and authentication server101that authentication has successfully completed, the blade server106judges that the accessing user has been permitted to use the blade server106and determines which PC the user should use among the constituent PCs of the blade server106. The PC may be assigned in any one of the following ways: the PC is appropriately assigned in order of usage, the PC is preassigned in one PC to one user relationship, or the PC is assigned in accordance with some rights granted to the user. The administrator determines which way to use. The following description will be provided with respect to the case where the blade server106assigns the PC-A110to the accessing user. The same process applies to other cases where other PC is assigned.

After the blade server106has determined the PC-A110to be assigned to the PC-D113, the blade server106checks the startup status of the PC-A110(511). If the PC-A110has not started up, a request will be made to the PC-A110to start up (512). Upon startup in response to the transmitted request (513), the PC-A110notifies the blade server106of the information indicating that the startup has completed (514). If the PC-A110has already started up, for example, if the PC-A110has a server function by which multiple users can simultaneously use the PC-A110, and therefore is always on, the startup operations of the PC starting from step511are not required.

The operational status of the PC is available by accessing the PC usage management table400and checking the status410for the relevant PC name401. Upon startup, the assigned client apparatus is added in the PC usage management table400as the source terminal405for the relevant PC name401.

On the other hand, after the PC-A110has started up, the virtual device manager120installed on the PC-A110checks available devices (515). Specifically, the virtual device manager120sends device management and authentication server101a request for surveying devices (hereinafter referred to as “available device survey request”) available to the PC on which the virtual device manager120is running (PC-A110in the present example) (516).

Upon receipt of the available device survey request, the device management and authentication server101surveys and checks the devices (517). Specifically, the device management and authentication server101that received the available device survey request first checks whether or not a new device has been newly registered, and updates the device information table200that the device management and authentication server101has already held (518). In response to the available device survey request, the device management and authentication server101interrogates, for each device currently registered in the device information table200, the device management manager of each client apparatus such as a PC or hub to which each device is coupled whether or not each registered device is still available (519).

The device management manager of each client apparatus that has been interrogated by the device management and authentication server101returns the current availability of the interrogated device to the device management and authentication server101(520). Each device management manager returns the current status, as the information indicative of the availability, indicating that the device is discoupled if it has already been discoupled, or that the device is “exclusively in use”, “in use”, or “in communication” if the device is coupled. The device management and authentication server101uses the information received from each of the device management managers to update the device information table200. When received the information that the device is discoupled, the device management and authentication server101deletes the record for the device.

Then, the device management and authentication server101sends a device registered in the device information table200as a currently available device to the interrogating virtual device manager120(521).

Next, the virtual device manager120performs the device sharing process based on the information of the device information table200. Since the virtual device manager120has not authenticated the user at this point of time, the virtual device manager120cannot perform the device sharing process for the device whose usage is limited to a usage permitted ID in the device information table when checking an available device. Therefore, the virtual device manager120extracts a device that has been registered in the device information table200and whose usage permitted ID211is not defined, and prepares the communication with the device, for example, by creating channels to the device (522,523).

The device management and authentication server101may also be configured such that when received the available device survey request from the virtual device manager120(516), the device management and authentication server101will not interrogate each device management manager123, but instead extract a device that has been registered in the device information table200at that point of time and whose usage permitted ID211is not defined, and reply to the interrogating virtual device manager120(521). In this case, steps517to520are not executed.

The channel is created in such a way that the virtual device manager120performs mutual authentication, key exchange, and creates an encrypted communication channel to the device management manager on the client apparatus to which each device received as an available device at step521is coupled, based on the IP addresses of both managers and the information obtained from the device management and authentication server101(523).

The mutual authentication, as one example, is performed in such a way that the device management and authentication server101sends a pre-shared key in a safe manner to the device management manager123when the device information is sent and received therebetween, and to the virtual device manager120when the device for use is returned, and performs authentication based on the pre-shared key. The mutual authentication method is not limited to this, but may be other methods in which the device management and authentication server101can verify that it creates a channel for specific device management manager and virtual device manager.

Upon completion of the mutual authentication, encrypting keys are exchanged for communicating ID information and data between the virtual device manager120and device management manager. The encrypting keys exchanged at this point are used for subsequent communication between the device management manager and virtual device manager120. Thus, a third party cannot illegally intercept the communication of the ID information and data. The encrypting key may be a fixed value, or may be arranged such that each key is discarded after one use or in a predetermined period and a new encrypting key is created.

In the present embodiment, when the channel has been created between the virtual device manager120and device management manager123, we refer to the state that the device managed by the management manager123becomes a sharable device. Such a communication path (channel) that a third party can not intercept allows the PC-A110to control the device A151as in the case where the device A151is directly coupled to the PC-A110.

In other words, “device sharing” in the present embodiment means that the PC-A110operates in such a way that the PC-A110can perform processes as in the case where the device A151is directly coupled to the PC-A110. For example, when “device sharing” is realized in the device A151coupled to the PC-D113, the PC-A110can read or reset the communication scheme or descriptors set in the device A151through the device management manager123and virtual device manager120.

If the PC-A110has not used the device A151in the past, necessary device drivers are installed. In general, when a device is shared, the OS running on the PC-A110automatically recognizes the newly added device and installs device drivers necessary for the operation of the device. Such installation occurs when a device to be used with the PC-A110for the first time is shared between the PC-A110and other instruments. If the device has been used with the PC-A110in the past, necessary drivers have already been installed in the PC-A110and such installation does not occur.

If the OS running on the PC-A110does not have the above mentioned function by which a device is automatically recognized and necessary device drivers are installed, the administrator or user manually installs the device drivers and changes the setting of the PC-A110to make the device available.

When multiple users share the device A151, each of the users may send a reset instruction or perform communication independent of each other. In such a situation, the device management manager123is configured such that it changes the procedure not so as to accept a reset instruction, or it instead sends information that has already been acquired from the device A151and stored in the device management manager123. Specifically, the device management manager123responds in a predefined manner to a specific communication from the virtual device manager120.

The information on the channel created at this stage is sent to the device management and authentication server101(591), which uses the received information to update the device information table200(592).

With the above processes, the PC-A110becomes available to the user of the PC-D113.

Next, the user requests to use the PC-A110through the PC-D113. That is, when received the instruction from the user indicating that the user would use the PC-A110, the PC-D113creates a request for using the PC (hereinafter referred to as “PC usage request”) and sends it to the PC-A110(524). This PC usage request includes information identifying the user, for example, the user ID and password.

The PC-A110receives the PC usage request and performs a login operation (525). In the login operation, the PC-A110first sends information identifying the user included in the PC usage request to the device management and authentication server101. The device management and authentication server101compares the received information identifying the user with the information stored in the user information database300, authenticates the user, and returns the result to the PC-A110. The PC-A110may also be configured to hold in advance, among the items in the user information database300, only necessary items for identifying the user at the time of login and perform authentication at the time of login in the PC-A110.

Next, the virtual device manager120checks available devices. At this stage, the virtual device manager120extracts devices available to the logged-in user. The procedure for extracting available devices is basically similar to that described above at step516. The ID of the logged-in user may also be sent to the device management and authentication server101at the time of the request, and the device management and authentication server101may return only the devices registered as having the ID of the user as the usage permitted ID.

As in the processes above, the device management and authentication server101, for each device registered in the device information table200, interrogates the device management manager of the client apparatus to which each device is coupled about latest information, receives a reply, updates the device information table200, and send a reply to the interrogating virtual device manager120(529to532). As in the above description, the device management and authentication server101may also be configured to respond to the available device survey request, refer to the device information table200, and return the devices currently registered as available to the user to the interrogating virtual device manager120(532).

In the first available device checking (516to521), since the user was not identified, the sharing process could not be performed, i.e., the communication path could not be established for the devices whose usage was limited to the usage permitted IDs. However, after the user logged in (525), the devices whose usage permitted IDs include the ID of the user or the group to which the user belongs become available. Therefore, as in the description above, a communication path (channel) is established for the new device that has become useable at this point of time (533to534).

A configuration is also possible in which in the preparatory stage for communicating with the available devices (533), a list of available devices is displayed on the screen of the PC-A110or PC-D113, or a screen that the administrator in the information center102can recognize. In this case, a list of the currently shared devices, connectable devices, and the like will be displayed on these screens. For the devices that were in the shared device list at the last usage completion time held by the virtual device manager120and that are currently available, it is possible to create a channel, i.e., share the devices without any user instructions. A configuration is possible in which the administrator or user can specify whether the sharing setting for a sharable device is specified with or without user instructions.

The information on the created channel is sent to the device management and authentication server101(593). The device management and authentication server101updates the device information table200based on the received information on the channel (594). Then, the use of the PC-A110is initiated (535).

Thus, the device information table held by the device management and authentication server101keeps being updated to the latest all the time by repeating available device checking, available device survey request, survey and check of devices, device availability interrogation, device information acquisition, device information transmission/available device reply (526to534), channel creation information transmission593, and table update594during the use of the PC (535) as appropriate.

The available device checking by the virtual device manager120after the user logged in is desirably performed on a regular basis. The virtual device manager120regularly checks the device information table200to check whether status changes have changed the device sharability.

On the other hand, whenever the states of the devices change, for example, when the state of device connection changes, when the status changes, and the like, the device management manager123notifies the device management and authentication server101to update the device information table200to reflect the information indicative of the states after the changes.

The device management manager123and virtual device manager120operate and communicate with each other through the above processes, allowing the device A151to operate as the device of the PC-A110. That is, device sharing is realized for the device A151.

The processes at the completion of device sharing in the device management system according to the present embodiment will be described.FIG. 7is a process flow diagram at the completion of device sharing according to the present embodiment.

As shown in the figure, the user uses the PC-D113to remotely operate the PC-A110, terminates the use of the device A151, and releases the device A151to other users.

The user instructs the PC-D113to terminate the use of the device (601). When the user instructs the PC-D113to terminate the use of the device, the PC-D113sends a request for terminating the use of the device (hereinafter referred to as “device usage termination request”) to the virtual device manager120(602). Upon receipt of the device usage termination request, the virtual device manager120checks the device of which the user will terminate the use (603). Specifically, the virtual device manager120judges whether the use of the device at the PC-A110may be terminated.

For example, if an application running on the PC-A110or any other client apparatus is using the device to which a usage termination request is made, the use of the device cannot be terminated. In this case, the completion process should wait until the application or other client apparatus terminates the use of the device to which a usage completion request is made. In this case, the PC-D113is notified that its instruction to terminate the device cannot be carried out. The PC-D113notifies the user of the received notification by means of display or the like.

This notification is not necessarily made. Instead, the notification may be made only when the usage is not terminated even after a predetermined wait. If the usage can be terminated when checking the device of which the user will terminate the use (603), device usage termination transmission, which is notification that the device has been terminated, along with the information identifying the device is made to the device management and authentication server101(604).

Next, the device management and authentication server101checks and verifies the device in response to the device usage termination transmission (605). Specifically, device release information transmission indicating that the use of the specified device has been terminated is made to the device management manager123which has requested to terminate the use of the device (606).

The device management manager123checks and verifies the device (607). At this stage, the checking includes examining whether or not there is a response from the device. If not, the status of the relevant device in the device information table200is set to “unknown”.

On the other hand, if a normal response is returned from the device, the device management manager123discards the channel established to the virtual device manager120(608). If the channel has been successfully discarded, the device management manager123sends the device management and authentication server101channel discard information indicating that the channel has been discarded (609).

Upon receipt of the channel discard information, the device management and authentication server101updates the device information table200(610). That is, for the device whose channel has been discarded at this point of time, the device management and authentication server101changes the status210in the device information table200, for example, from “exclusively in use”, “in use”, “in communication”, or the like to “not in use”.

The device management and authentication server101, device management manager123, and virtual device manager120record the data sent or received in the sequence of operations described with reference toFIGS. 6 and 7on the storage units190,163, and160as logs191,173, and170respectively.

The control over sending and receiving data between the device management manager123and virtual device manager120after the processes inFIG. 6have completed and the device A151has become sharable and operatable as a device of the PC-A110will be described in detail.

FIG. 8is a view for explaining the relationship of the device management manager123and virtual device manager120vs. device drivers and applications of the PC-A110and PC-D113(software stack).

When the application1211running on the PC-D113operates the device A151coupled to the PC-D113and sends/receives commands, it is usually necessary to go through a plurality of drivers1213to1215via a device driver interface1212. In this example, the drivers1213and1214are, for example, drivers of the connection interface to which the device A151coupled. The driver1213is the uppermost driver, and the drivers1214and1215are lower drivers in this order for the device.

The device management manager123has a filter driver1210. The filter driver1210operates as an upper filter driver or lower filter driver of the drivers1213to1215, and sends and receives data to and from the device A151through the paths indicated by the arrows using the drivers1213to1215. That is, the filter driver1210sends and receives data to and from the device A151via the drivers1215and1214.

Although the filter driver1210is described as a filter driver, it may have some or all of the functions of the drivers1213to1215, in which case the filter driver1210acts as a kind of a device driver.

The device management manager123and the virtual device manager120communicate with each other by sending and receiving data between a communication module1209of the device management manager123and a communication module1206of the virtual device manager120over the network103.

The virtual device manager120has a device driver1205, which exchanges information when sending and receiving data between the application1200or the like running on the PC-A110and the device A151.

Sending and receiving data between the application1200and the device driver1205is performed directly from the application1200, through a device driver interface1201, or through drivers1202to1204, as indicated by the arrow.

GUIs1207and1208are graphical user interfaces of the virtual device manager120and device management manager123respectively, and serve to provide information to the user or receive information input from the user.

As described above, the virtual device manager120is an entrance when the application on the PC-A110sends and receives data to and from a device that resides in the device management system of the present embodiment. The virtual device manager120has the device driver1205and communication module1206therein, which provide a function of communicating with the device management manager123and device management and authentication server101over the network103.

The device management manager123is an entrance when the device A151coupled to the PC-D113sends and receives data to and from a PC or the like that resides in the device management system of the present embodiment. The device management manager123has the filter driver1210and communication module1209therein, which provide a function to communicating with the virtual device manager120and device management and authentication server101via the network103.

The operations will be described when an instruction to use the device A151is provided to the virtual device manager120after the channel creation shown inFIG. 6(523and534) has completed and the device A151has been controllable from the virtual device manager120.FIG. 9is a process flow diagram for explaining the operations of the device management manager123and virtual device manager120when using a device in the device management system of the present embodiment. The process will be described for the case where the virtual device manager120triggers the operations.

After the channel creation shown inFIG. 6(523and534) has completed and the device A151has been controllable from the virtual device manager120, and when the instruction to use the device A151is provided to the virtual device manager120(start700), the virtual device manager120checks if the device A151operates (701). Specifically, the virtual device manager120sends a predetermined command to the device management manager123and interrogates whether or not the status of the device A151can be obtained, and whether the device A151can communicate. Alternatively, the virtual device manager120checks if a communication path has been established. Then, the virtual device manager120will make a judgment based on a reply from the device management manager123.

If the device A151is not in operation, the device management and authentication server101is notified that the device A151is in an irregular state, and the authentication server101and virtual device manager120make a record in the logs191and170respectively (702). After the log170is recorded, the virtual device manager120irregularly terminates the process for the given instruction (716). At the time, the virtual device manager120may notify the user with an error message indicative of the irregular termination. Furthermore, the virtual device manager120may be configured to automatically perform a process for terminating the communication with the device A151after notified that the device A151is in an irregular state. The virtual device manager120may also be configured to repeat the operation check attempt multiple times and proceed to702if these attempts keep notifying that the device A151is in an irregular state.

On the other hand, when the device A151is determined to be in operation at step701, the virtual device manager120notifies the device management and authentication server101and device management manager123as required to confirm that the device A151is alive (703). This process allows the device management and authentication server101and device management manager123to confirm that a channel to the device A151has been established.

Next, the virtual device manager120judges whether or not it has received an instruction that becomes a trigger to use the device A151(from the PC-A110, for example) (704). If it is determined that there is no instruction that becomes the trigger, the process returns to step701.

On the other hand, if it is determined that there is an instruction that becomes the trigger, the virtual device manager120creates a transaction in accordance with a device interface protocol (705). Then, the created transaction is converted into the protocol defined in the network protocol and sent to the device management manager123(706).

Next, the virtual device manager120judges whether the transaction (data) has successfully reached the device management manager123. If not, the virtual device manager120judges whether the number of attempts has exceeded a pre-specified number.

Specifically, the virtual device manager120first judges whether or not the number of unsuccessful data transmission to the device management manager123has reached the specified number (707).

If it has reached the specified number, the virtual device manager120judges that the communication is in an irregular state, notifies the device management and authentication server101accordingly, and makes a record in the log170(708). The device management and authentication server101may be configured to record the information indicative of the irregular communication in the log191as well. After the log170is recorded, the virtual device manager120irregularly terminates the process (709). The virtual device manager120may notify the user of the error, or may automatically proceed to a process for terminating the communication with the device A151.

On the other hand, if the number has not reached the specified number at step707, the virtual device manager120checks whether or not the data has successfully reached the device management manager123(710). Specifically, it is determined that the data has not successfully reached if the data transmission was determined to be irregular by the response for the data sent, or if no response is returned in a predetermined time period. If it is determined that the data has not successfully reached, the number of unsuccessful transmission is incremented by one and the process returns to step707.

If the data has successfully reached at step710, the virtual device manager120checks whether or not there remain untransmitted transactions (711). If there remain untransmitted transactions, the process returns to step706to be repeated.

If there is no untransmitted transaction, the virtual device manager120checks whether or not there are transactions to be received (712). The virtual device manager120judges it based on whether or not the amount of data pre-specified when the communication path was established between the virtual device manager120and the device management manager123has been transmitted.

If there are transactions to be received, the virtual device manager120converts the received data into the device interface protocol (713). Then, the extracted data is sent to the device drivers (714) and the process returns to step712.

On the other hand, if there is no transaction to be received at step712, the virtual device manager120ends the process (715).

If the process is irregularly terminated in the above process (step716or709), the device management and authentication server101, device management manager123, and virtual device manager120check again which device can be appropriately used when the process is irregularly terminated, and update the device management table200in the device management and authentication server101. That is, if succeeded in the rechecking, the virtual device manager120again performs normal communication and creates a channel if possible, and sets the status in the device management table200to “exclusively in use”, “in communication”, or “in use”.

The operations will be described when the device A151sends information to the device management manager123after the channel creation shown inFIG. 6(523and534) has completed and the device A151has been controllable from the device management manager123.FIG. 10is a process flow diagram for explaining the operations of the device management manager123and virtual device manager120when using a device in the device management system of the present embodiment. The process will be described for the case where the device A151triggers the operations.

After the channel creation shown inFIG. 6(523and534) has completed and the device A151has been controllable from the device management manager123, and when the device A151sends the information to the device management manager123(start800), the device management manager123checks if the device A151operates (801). This operation check is similar to the process ofFIG. 9.

If the device A151is not in operation, the device management and authentication server101is notified that the device A151is in an irregular state, and the authentication server101and device management manager123make a record in the logs191and173respectively (802). After the log173is recorded, the device management manager123irregularly terminates the process (816). At the time, the device management manager123may notify the user with an error message indicative of the irregular termination. Furthermore, the device management manager123may be configured to automatically perform a process for terminating the communication with the device A151after notified that the device A151is in an irregular state. The device management manager123may also be configured to repeat the operation check attempt multiple times and proceed to802if these attempts keep notifying that the device A151is in an irregular state.

On the other hand, when the device A151is determined to be in operation at step801, the device management manager123notifies the device management and authentication server101and virtual device manager120as required to confirm that the device A151is alive (803). This process allows the device management and authentication server101and virtual device manager120to confirm that a channel to the device A151has been established.

Next, the device management manager123judges whether or not it has received an instruction that becomes a trigger to use the device A151(from the PC-A110, for example) (804). If it is determined that there is no instruction that becomes the trigger, the process returns to step801.

On the other hand, if it is determined that there is an instruction that becomes the trigger, the device management manager123creates a transaction in accordance with the device interface protocol (805). Then, the created transaction is converted into a packet defined in the network protocol and sent to the virtual device manager120(806).

Next, the device management manager123judges whether the transaction (data) has successfully reached the virtual device manager120. If not, the device management manager123judges whether the number of attempts has exceeded a pre-specified number.

Specifically, the device management manager123first judges whether or not the number of unsuccessful data transmission to the virtual device manager120has reached the specified number (807).

If it has reached the specified number, the device management manager123judges that the communication is in an irregular state, notifies the device management and authentication server101accordingly, and makes a record in the log173(808). The device management and authentication server101may be configured to record the information indicative of the irregular communication in the log191as well. After the log173is recorded, the device management manager123irregularly terminates the process (809). The device management manager123may notify the user of the error, or may automatically proceed to a process for terminating the communication with the device A151.

On the other hand, if the number has not reached the specified number at step807, the device management manager123checks whether or not the data has successfully reached the virtual device manager120(810). If it is determined that the data has not successfully reached, the number of unsuccessful transmission is incremented by one and the process returns to step807.

If the data has successfully reached at step810, the device management manager123checks whether or not there remain untransmitted transactions (811). If there remain untransmitted transactions, the process returns to step806to be repeated.

If there remains no untransmitted transaction, the device management manager123checks whether or not there are transactions to be received (812).

If there are transactions to be received, the device management manager123converts the received data into the device interface protocol (813). Then, the extracted data is sent to the device drivers (814) and the process returns to the step812.

On the other hand, if there is no transaction to be received at step812, the device management manager123ends the process (815).

If the process is irregularly terminated in the above process (step816or809), the device management and authentication server101, device management manager123, and virtual device manager120check again which device can be appropriately used when the process is irregularly terminated, and update the device management table200in the device management and authentication server101. That is, if succeeded in rechecking, the device management manager123again performs normal communication and creates a channel if possible, and sets the status in the device management table200to “exclusively in use”, “in communication”, or “in use”.

The logs191,170, and173accumulated by the device management and authentication server101, virtual device manager120, and device management manager123in the above operations are displayed by the management application installed on the device management and authentication server101or other management instruments by the network administrator.

FIG. 11shows one example of a log management view displayed by the management application. The management logs shown in this figure show the logs that the device management and authentication server101has collected and accumulated in its storage unit190or memory from the logs191,170, and173that the device management and authentication server101, virtual device manager120, and device management manager123have saved.

The display application (management application) may reside elsewhere other than in the device management and authentication server101. In this case, the display is carried out upon permission from the device management and authentication server101. In a configuration in which a plurality of information centers102and blade servers106exist, the management application may collect logs from a device management and authentication server different from the device management and authentication server101and applications under the control of that device management and authentication server, and display the collected logs together.

The device management view1000is for managing the devices that the management application displays. The device management view1000displays the following items for each of the accumulated logs191,170, and173: the number1001, time1002, device ID1003, device name1004, address (source)1005, network interface ID (source)1006, application ID1007, address (host)1008, network interface ID (host)1009, application ID1010, vendor ID1011, product ID1012, serial number1013, device name1014, user ID1015, information1016, and remarks1017.

The number1001is for managing a log and automatically assigned whenever a log is stored. The time1002is the date and time when the log is recorded. The information1016displays in detail the contents of the events recorded as logs in the logs170,173, and191.

The address (source)1005and address (host)1008indicate the addresses of the source and host (destination). The network interface ID (source)1006and network interface ID (host)1009indicate the network interface IDs of the source and host (destination). The remarks1017displays information that overflows the field of the information1016, such as information calling administrator's attention or information supplementing the information1016.

The other items are the same as those that bear the same names in the device information table200, user information database300, PC usage management table400described with reference to theFIGS. 2 to 4.

Furthermore, the device management and authentication server101is provided with a management application that has a function to search each piece of the information displayed on the device management view1000. This management application displays the information shown on the device management view1000to instantly inform the state of an instrument or device, providing increased convenience of the overall system. For example, by searching, displaying, and monitoring only the information on unauthorized authentication, it is possible to find an unauthorized access and take action therefor. Furthermore, by searching, displaying, and monitoring only the information on the device that cannot be appropriately used, it is possible to troubleshoot a problem in the system at an early stage and take action therefor. Moreover, the management application can provide more clarity compared to the entire log listing to reduce operational mistakes the administrator may make. These provide an advantage of increased security for the overall system.

The device management view that the virtual device manager120creates and displays will be described in detail.FIG. 12is one example of the device management view of the virtual device manager120.

As shown in the figure, the device management view900includes the device management and authentication server display section901, coupled PC or hub display sections902,905,908, and911, device display sections903,906,909, and912, and connection/disconnection instruction sections904,907,910, and913.

Upon startup, the virtual device manager120sends a request for acquiring available device information to the pre-specified device management and authentication server101.

After successful user authentication in the device management and authentication server101, the device management information is sent from the device management manager123to the virtual device manager120. Based on the received device management information, the virtual device manager120manages available device information and the like.

In the device management and authentication server display section901inFIG. 12, the device management and authentication server101in communication with the virtual device manager120is displayed. The example shown inFIG. 12displays that the virtual device manager120is successfully in communication with the device management and authentication server101. In this example, the displayed “192.168.0.1” is the address of the device management and authentication server101.

The status920displays the status of the device management and authentication server101. In this example, displayed status includes the usage permitted user ID, user name, and the like. The example ofFIG. 12displays that the user A has been authenticated.

The coupled PC or hub display sections902,905,908, and911display the information on the coupled PCs and hubs. They also display the devices currently used by users in respective colors.

The device display sections903,906,909, and912display the information, such as the device names and their statuses, and user IDs so as to display which device is available to users in an easily understandable manner.

The connection/disconnection instruction sections904,907,910, and913display choices by which the user can provide his/her instruction, such as use, exclusive use, usage termination, or reservation of the device. The virtual device manager120accepts the push of the reservation button and makes a usage reservation of the device currently in use by other user. Then, the virtual device manager120notifies, when the device becomes available, the device management and authentication server101or device management manager123that the device becomes available. The device management manager123that received the notification notifies the user that the device becomes available. In the example ofFIG. 12, devices available to users are shown as hatched and operations that users can carry out are shown with boldface buttons for user-friendly operations.

The client/server architecture for using the PC-A110in the blade server106by using the PC-D113has been described above.

As in the example already described, it is possible to use any of the PCs in the blade server106or the devices A151to Z155from a client apparatus coupled to the network103and the Internet104.

In this example, the hub116is a built-in instrument that does not have the functionality of a PC but has a management manager126and a storage unit176therein. When using a PC having no device coupled thereto like the PC-E114, it is also possible to use devices coupled to other PCs as in the example of the PC-D113. This also applies to the case where a plurality of devices is coupled like the hub116.

The same also basically applies to the case where the PC-Z117that resides over the Internet104and the firewall105is used to use a PC or device on the network103. In this case, however, the PC-Z117desirably has an encryption application190therein for encrypting the communication on the Internet104, and performs encrypted communication.

As described above, with respect to managed devices, the device management system shown in the present embodiment manages a device coupled to the network103through a client apparatus by means of the virtual device manager120, device management manager123, and the device management and authentication server101, providing safe and user-friendly device sharing in the system.

According to the present embodiment, even a device coupled to other client apparatus can be used as if it were directly coupled to the server. That is, even if the device is coupled to other client apparatus, each client apparatus is not required to be specially configured to use the device. Therefore, the system can be configured in the same manner both for the device virtually coupled to the server and for the device directly coupled to the server, allowing the manufacturing cost of the overall system to be reduced.

Furthermore, according to the present embodiment, the device management and authentication server101can manage the usage permission of a device, and set an unpermitted device unavailable as a virtual device. Thus, a device coupled to the network103can be appropriately managed, providing increased security in sharing the device with a remote server in a client/server system.

Moreover, by establishing a rule in which authentication is performed in a procedure to make a device sharable in order to determine whether or not the user can use the device, a safe and simple manner can be provided for sharing the device between a terminal, such as a PC or thin-client that the user operates at his/her site and a remote server, providing increased security and user convenience when using the system.

As mentioned above, the present embodiment is a client/server system configured such that a server stores main programs and data and a client, for the most part, only instructs the server to perform operations. Therefore, there can be provided an information processing system that provides increased security and convenience when using the client while keeping the feature of reduced secret information that remains in the client apparatus on the operation side.

Although the description has been made in the above embodiment, provided that information instruments, i.e., the server and client are both PCs, one or both of them may be servers, personal digital assistants (PDA), workstations, highly-sophisticate copy machine, automated teller machines (ATM), cellular phones, digital still cameras, music players (recorders), POS system, information terminals, transmitters for intelligent transport systems (ITS), ticket vending machines, settlement terminals, automatic vending machines, entrance/exit management apparatus, game consoles, pay phones, handhold order taking system, and the like. These also provide similar advantages.

Second Embodiment

A second embodiment according to the invention will be described. This embodiment is basically the same as the above first embodiment. Although in the first embodiment, the device is coupled to the network103via a PC, hub, or the like, in this embodiment, the device is directly coupled to the network103. Thus, the device of this embodiment has a device management manager and the like therein.

FIG. 13is a detailed block diagram of the device management system of the present embodiment. In this figure, instruments bearing the same names as those of the first embodiment shown inFIG. 1have basically similar configurations. In the present embodiment, an additional device X1101is coupled to the network103.

The device X1101is a peripheral instrument, for example, a storage device such as a CD-ROM drive, or a human interface device such as a keyboard and display. As shown in this figure, the device X1101of the present embodiment includes functions of the hub116of the first embodiment therein. That is, the device X1101includes a hub1116that is coupled to the network103through a network interface, not shown, and has a storage unit1166such as a hard disk drive or flash memory as well as a memory and CPU, not shown, to perform computing operations. The device X1101implements a device management manager1126in the hub1116. The storage unit1166holds a log1176.

Therefore, the user can use the device X1101of the present embodiment as a virtual device of a PC or the like in the blade server106, as in the case of each of the devices of the first embodiment. Furthermore, like the hub116of the first embodiment, the device X1101is appropriately managed in the device management system by the device management manager1126.

That is, the device management system shown in the present embodiment further provides convenience of direct connection of a device having functions of the hub116, such as the device X1101, to the network103, in addition to the features of the device management system shown in the first embodiment.

With this convenience, the device management system shown in the present embodiment, in addition to the advantages of the device management system shown in the first embodiment, allows the use of the device X1101from a PC on the network by plugging the device X1101into the network103without being restricted to a specific hub or PC when the user connects the device, i.e., by directly connecting the device X1101to the interface of the network103. A hub or PC to which the device is coupled is also not required. This arrangement therefore provides further increased user convenience, while maintaining high security. It also provides reduced system configuration cost.

Third Embodiment

A third embodiment according to the invention will be described. This embodiment is basically the same as the above second embodiment.

FIG. 14is a detailed block diagram of the device management system of the present embodiment. As shown in this figure, the device management system of the present embodiment includes, as in the case of the device management system of the second embodiment, a device Y1201that is a peripheral instrument, for example, a storage device such as a CD-ROM drive, or a human interface device such as a keyboard and display. The device Y1201includes a hub1116that is coupled to the network103through a network interface, not shown, and has a storage unit1166such as a hard disk drive or flash memory as well as a memory and CPU, not shown, to perform computing operations.

The device Y1201of the present embodiment further includes a near-field intrabody authentication apparatus1206in the hub1116and a near-field intrabody communication transceiver/receiver1203outside the hub1116but in the device Y1201.

The user wears a near-field intrabody communication transceiver, not shown, and touches the near-field intrabody communication transceiver1203of the device Y1201. Authentication information is sent and received between the following instruments in the listed order for user authentication: the device management and authentication server101, the near-field intrabody communication authentication apparatus1206, the near-field intrabody communication transceiver1203, and the near-field intrabody communication transceiver, not shown, that the user wears.

In the present embodiment, the device Y1201is available as a device of a PC on the network103only when the authentication has been successfully completed.

As described above, the device management system shown in the present embodiment further provides convenience of direct connection of a device having a near-field intrabody communication authentication apparatus and near-field intrabody communication transceiver, such as the device Y1201, to the network103, while having the feature of the device management system shown in the second embodiment.

With this convenience, the device management system shown in the present embodiment, while having the feature of the device management system shown in the second embodiment, can be used as a device of a PC on the network103simply by the user's action of touching the device to be authenticated, providing further increased safety and user convenience.