The invention relates to an information processing apparatus, an information processing method, and a program.
In recent years, the number of devices which can be connected to a PC has increased. Hitherto, the devices which can be connected to the PC were input devices such as keyboard, mouse, and the like and output devices such as printer, display, and the like. However, not only external storage devices such as USB memory, SD card, and the like but also devices such as camera, microphone, cellular phone, and the like can be connected to the PC. Further, the devices can be connected to the PC through a wide area network such as LAN, WAN, or the like by a technique such as UPnP, WSD (Web Service On Devices), Bonjour, or the like.
In an environment where a number of devices have been connected as mentioned above, if a list of the devices connected to the PC is merely displayed on a tree, the user cannot easily know which device has actually been connected by which kind of method. Particularly, as for printers in an office environment, even if a plurality of printers were connected to the PC, all of them are displayed by the same icon. Therefore, the user cannot know which one of the icons indicates the printer selected as an output destination even if he merely saw the icon. Even if a plurality of USB memories were connected, the user cannot know which one of the USB memories has been allocated to which one of the drives.
To avoid such a problem that it is difficult to know the connecting form of the devices, various kinds of techniques were proposed in the past. For example, there is such a technique that the present state of the printer is transmitted to the PC and the icon is changed according to such a state, thereby enabling information showing an error such as absence of paper, absence of ink toner, or the like to be easily known (Japanese Patent Application Laid-Open No. H08-278868).
In Windows (registered trademark) 7, a new user interface called a device stage is added (“online”, Dec. 5, 2008, [viewed on Aug. 28, 2009], Internet <http://www.microsoft.com/japan/whdc/device/DeviceExp erience/MfpDevExp.mspx>). The device stage is constructed by: a gallery view of “device & printer” in which all devices connected to the PC are displayed as a list by icons; and a device detailed page for displaying a portal site specified to each device. In the gallery view of “device & printer”, since all of the devices connected to the PC are displayed by custom icons each having a shape and a color which are similar to those of each device, a visibility is high for the user. In the device stage, when the user clicks each icon, the portal site of the device detailed page is displayed. In the portal site, the custom icon, status information of the device, and a logo of the maker are displayed and a link to various kinds of device functions called tasks is displayed. Not only a link to an online manual and a purchase page of device options but also a link to functions of the devices, annexed applications, and utilities, such as print settings of the printer, fetching of a scanner image, and the like exist.
By such a technique, when a plurality of devices have been connected to the PC, the device can be specified without making the icons complicated and the user does not waver in his judgment when he uses the functions.
However, in the device stage of Windows 7, in the case of a multifunction apparatus having a plurality of functions per apparatus, there is a case where the device detailed page is formed every function. When the device is connected to the PC and is automatically recognized by the plug and play, even in the case of the multifunction apparatus having a plurality of functions, it is recognized as one device by an ID for grouping the functions of the device, and one device detailed page having a link to all of the functions of the multifunction apparatus is formed. However, when the device is connected to the PC, a connection destination is manually designated, and when a device driver is installed, there is a case where the device detailed page is formed every function. This is because the device detailed page is formed in association with the device driver. That is, if the device drivers of the scanner, printer, and FAX differ, the different device detailed pages are formed, respectively. Further, even in the printer function, if the drivers differ every PDL (page description language of the printer) in one device, a plurality of device detailed page are further formed. When such a state occurs, if the functions which are linked from the portal site of the device detailed page are associated with the scanner driver, only the scanner function is displayed, and if they are associated with the printer driver, only the printer function is displayed.
It is an object of the invention to provide such a technique that when an apparatus which provides a plurality of functions is connected to a PC or the like, if a connection destination is a same apparatus type, a link to all of the functions of the apparatus is enabled to be used on a device detailed page of a device stage.
In order to solve the problems discussed above, the information processing apparatus of the present invention has device driver means and operating system means, wherein the device driver means comprises: list-up means for listing up the registered device driver means which have already been registered in the operating system means when the device driver means is installed; discriminating means for discriminating whether or not the registered device driver means of a port which coincides with a port of the device driver means exists among the registered device driver means which were listed up by the list-up means; and storing means for storing a type and a driver name of a driver of the registered device driver means into a storage device if it is determined by the discriminating means that the registered device driver means of the port which coincides with the port of the device driver means exists among the registered device driver means listed up by the list-up means, and wherein the operating system means comprises: task list-up means for listing up a list of tasks to be displayed on a device detailed page activated from a custom object which shows a device of the device driver means associated with a device stage, each of the tasks showing a link to functions that are provided by the device shown by the custom object; and display means for displaying the tasks showing the link to the functions that are provided by the device shown by the custom object on the device detailed page in the case where the device of a type that coincides with a type of driver stored in the storage device by the storing means exists among the devices regarding the tasks listed up by the task list-up means.
According to the invention, such a technique that when the apparatus which provides a plurality of functions is connected to the PC or the like, if the connection destination is the same apparatus type, the link to all of the functions of the apparatus is enabled to be used on the device detailed page of the device stage can be provided.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
An embodiment of the invention will be described hereinbelow with reference to the drawings.
A CPU 101 controls the whole apparatus in accordance with a program stored in a ROM 1021 or a RAM 1022 in a main storage device 102 or stored in an auxiliary storage device 105. The RAM 1022 is also used as a work area when the CPU 101 executes various kinds of processes. The auxiliary storage device 105 records an operating system (OS) 1054, application software 1051, and the like. Input devices such as keyboard 1031 and pointing device 1032 represented by a mouse, a touch panel, or the like are devices which are used by the user to issue various kinds of instructions to the computer through an input I/F 103. An output I/F 104 is an interface for outputting data to the outside. The output I/F 104 outputs the data to an output device such as monitor 1041, printer 1042, or the like. The computer may be directly connected to the printer 1042 through a local I/O, or indirectly to the printer 1042 via a network 1061 which is connected through a communication I/F 106. A common data system 107 is used to transmit and receive the data among the component elements of the computer mentioned above.
The CPU 101 executes the processes based on the program, so that functions of the clients, which will be described hereinafter, and processes according to flowcharts which are executed by the clients are realized.
When the device has been connected to the client and a device driver 1053 has been installed, an icon is displayed. The device driver 1053 is a module necessary to control the device from the client. In the OS 1054, a default icon has been prepared every device type.
If a device stage meta data package 1052 has been associated with the device driver 1053, when the device driver 1053 is installed, the device stage is installed to the client. The custom icon similar to a shape of each device can be displayed. In the device stage, meta data such as XML describing the operation of the portal site and the like and resources such as icon, bitmap, and the like have been packaged into one compression file. Such a package is called a device stage meta data package 1052. The device stage and the device stage meta data package 1052 are also held in the auxiliary storage device 105 in a manner similar to the device driver 1053.
When installing the device driver 1053 necessary to make the device operative, the device stage meta data package 1052 is installed in association with a plug & play ID. Therefore, one device driver 1053 is certainly associated with one device stage meta data package 1052.
A user interface (display screen) illustrated in
Information of a target device has been written in DeviceInfo.xml. More specifically describing, a category showing the device type and a model name, a maker name, and the like of the device have been written in DeviceInfo.xml. In the case of the multifunction apparatus, three kinds of categories regarding the printer, FAX, and scanner have been written in DeviceInfo.xml.
WindowsInfo.xml in
Those five kinds of XML files and the resource data such as icon file, bitmap, and the like are compressed and combined into one file, thereby forming the device stage meta data package 1052.
Upon installation, first, the addition wizard 1002 displays a user interface of an interactive format. Subsequently, the addition wizard 1002 allows the user to select an inf file (Device Setup Information File) 1005, a driver type, an apparatus type name of the device, and a port name of a connection destination through the user interface. The addition wizard 1002 forms install setup information based on the selected information.
The inf file 1005 is a file in which an installing method of the device driver has been written. The apparatus type name, the plug & play ID, the module construction, and the like have been written. When the install setup information is formed, the addition wizard 1002 calls a Setup API and CfgMgr API 1003 serving as an API of the OS 1054, thereby starting the installing process. The API is an abbreviation of Application Programming Interface.
The Setup API and CfgMgr API 1003 obtains the inf file 1005 of the device driver based on the install setup information. The Setup API and CfgMgr API 1003 sends the inf file 1005 to a plug and play manager 1004. The plug & play manager 1004 actually installs the device driver 1053. The plug & play manager 1004 obtains the plug & play ID from the inf file 1005 based on the apparatus type name of the device of the install setup information.
The method of installing the device driver 1053 in accordance with the user interface of the interactive format is called a manual installation.
As another method, there is a plug & play whereby the device is connected to the PC and the installation of the device driver 1053 is automatically started. In the case of the plug & play, the plug & play manager 1004 searches for the apparatus type name from the plug & play ID on the contrary to the manual installation. When the device is connected, the plug & play manager 1004 receives a character train of MFG showing a company name and a character train of MDL showing a device name and forms a plug & play ID. Based on the formed plug & play ID, the plug & play manager 1004 searches for the apparatus type name of the same plug & play ID written in the inf file 1005. The above operation is the installation of the device driver 1053 by the plug & play.
If the apparatus type name and the plug & play ID could be decided by using the inf file 1005 by one of the above methods, the plug & play manager 1004 reads out the related module construction and installs the related module from the package of a driver 1006. At this time, the plug & play manager 1004 writes the apparatus type name and the plug & play ID into a registry 1008.
The registry 1008 is a database to store set values of the OS 1054. The set values are stored by a set of three values of the name, type, and data. The OS 1054 itself can also write and read out the set values into/from the registry 1008 through the OS 1054 from the device driver 1053.
By the installing operation of the device driver 1053 which is executed by the OS 1054, one device driver 1053 per apparatus type is installed. Even if the plug & play operation which is started by connecting the PC to the device is not executed, the plug & play ID is obtained from the inf file 1005 and can be also associated with the apparatus type name.
When the installation of the device driver 1053 is finished, the plug & play manager 1004 subsequently installs the device stage. The plug & play manager 1004 executes the installing operation by using a device stage meta data package 1007 held in a DeviceMetadataStore folder of the OS 1054 as installation data of the device stage. The device stage meta data package 1007 which the OS 1054 possesses has already existed in the DeviceMetadataStore folder. However, the device stage meta data package 1007 peculiar to the device can be also additionally installed. There are the following two adding methods.
One is a method whereby the device stage meta data package 1007 is copied into the DeviceMetadataStore folder by using an installer or by downloading from a site of the Internet. The other is a method whereby the device stage meta data package is written as one of the constructing files into the inf file 1005 and when the plug & play manager 1004 installs the device stage, the package is copied. Even by using any one of those methods, when the device stage meta data package is copied into the DeviceMetadataStore folder, the OS 1054 decompresses the compressed package and sets the file as contents of the package into the DeviceMetadataStore folder. This file is called device stage meta data cache. When installing the device stage, the plug & play manager 1004 obtains a PackageInfo.xml file by seeing the device stage meta data cache of the DeviceMetadataStore folder. The plug & play manager 1004 obtains a model name written in the PackageInfo.xml file, discriminates whether or not it coincides with the apparatus type name of the device driver which has been installed at present, and installs the device stage in which they coincide. If there are no device stages in which they coincide, the device stage is not installed but a default icon which the OS 1054 has is merely displayed.
Subsequently, an embodiment 1 will be described by using flowcharts of
When installing the device driver 1053, first, the OS 1054 calls an install event function of the device driver 1053 (S1201). Then, the device driver 1053 calls the API of the OS 1054 and obtains a name of a port which is connected to the device (S1202). Subsequently, the device driver 1053 obtains an individual identification number (serial number) from the connected device (S1203). It is obtained by a method whereby a command is sent to the device and a response from the device is received.
Subsequently, the device driver 1053 extracts device drivers of the same type which have already been registered in the OS 1054 and stores them as a list (S1204). The driver type is a category such as printer if the device driver to be installed at present is a printer driver, scanner if it is a scanner driver, FAX if it is a FAX driver, or the like. Subsequently, the device driver 1053 may extract device drivers (registered device drivers) which have already been registered in the OS 1054 and store them as a list.
The device driver 1053 discriminates whether or not the drivers exist on the list, that is, whether or not the device driver of the same type exists among the device drivers which have already been installed (S1205). The device driver 1053 obtains the names of the device drivers in order from the head of the list (S1206). The device driver 1053 obtains the name of the port connected to the device and the apparatus type name from the obtained device driver names (S1207). The device driver 1053 discriminates whether or not the port name is the same as that of the device driver to be installed at present (S1208) and discriminates whether or not the apparatus type name is the same as that of the device driver (S1209). The device driver 1053 inquires of the device of the device driver whose driver name has been obtained about the individual identification number (S1210). The device driver 1053 confirms that the individual identification number also coincides (S1211). The process of S1211 is an example of a coincidence discriminating process. The device driver 1053 inquires about the type from the obtained device driver (S1212). The device driver 1053 stores the type and name of the obtained device driver as a set into the registry 1008 (S1213).
The device driver 1053 changes a status of the obtained device driver to offline by using the API of the OS 1054 (S1214). The device driver 1053 deletes the process-completed device drivers from the list in order to see the next device drivers written on the list (S1215) and executes similar processes to all of the same type of device drivers. After completion of the processes, the device driver 1053 starts the ordinary installing process (S1216) and completes the installation of the device drivers.
After the installation of the device drivers was completed and when the installation of the device stage is finished, a flowchart illustrating an example of a process for displaying tasks to the device stage in
If the status is offline as a result of the discrimination in S1302, the OS 1054 sets the custom icon of the device stage into a non-display mode so that it is not displayed in the “device & printer” gallery view (S1310). In the case of displaying the icon, the OS 1054 obtains information to display the portal site of the device detailed page from Behavior.xml and Tasks.xml. At this time, the OS 1054 holds the links (tasks) to the tasks as a list (S1303). That is, the OS 1054 lists up the lists of the tasks. The process of S1303 is an example of the processes for listing up the tasks.
In the discrimination in S1302, the OS 1054 may discriminate whether or not the status is offline and whether or not ShowDeviceInDisconnectedState of WindowsInfo.xml of the device stage is false. If it is offline and ShowDeviceInDisconnectedState of WindowsInfo.xml of the device stage is false, the OS 1054 may advance to S1310.
When the user designates the icon of the “device & printer” gallery view and deletes the device driver 1053, the device driver 1053 operates according to a flowchart of
The processes of the embodiment can be applied not only to the printer driver but also to all of the device drivers 1053 such as scanner driver, FAX driver, and the like. In the case where the device can be discriminated merely by the port name, it is not always necessary to inquire of the device about the individual identification number. When an IP address is allocated every function like IPV6 or the like, since the same port name does not exist, the device driver 1053 specifies the device by using the individual identification number.
A process in which the OS 1054 searches for the device driver of the same port will now be described as an embodiment 2. In the embodiment 1, the process in which the device driver 1053 searches for the device driver of the same port and transfers the information to the device stage through the registry 1008 has been described. In the embodiment 2, an example in which the OS 1054 executes such a process will be described. As shown in Tasks.xml in
When installing the device driver 1053, first, the OS 1054 obtains the plug & play ID and the apparatus type name from the inf file 1005 (S1501). The OS 1054 searches for all device stages. The OS 1054 discriminates whether or not the same plug & play ID and apparatus type name as those of the device driver 1053 serving as a target of the installation at present exist on the list of the device drivers and GUID which were installed in the past (S1502). That is, the OS 1054 lists up the device drivers and GUID, as a list, which were installed in the past and discriminates whether or not the same plug & play ID and apparatus type name as those of the device driver 1053 serving as a target of the installation at present exist on the list.
If the same plug & play ID and apparatus type name exist, the OS 1054 adds the device driver 1053 serving as a target of the installation at present as GUID of the device driver associated with the device stages which were installed in the past (S1504). GUID of the device driver is an example of identification information of the device driver. The process of 51504 is an example of the associating process.
The OS 1054 displays the custom icons which show the devices associated with the device stage onto the device stage. This process is an example of the custom object displaying process.
The OS 1054 displays the tasks which show a link to the functions provided by the device shown by the custom icons on the device detailed page activated from the custom icons. This process is an example of the task displaying process.
When the device driver is uninstalled, the OS 1054 executes processes according to a flowchart of
The OS 1054 searches for them as mentioned above, so that the device driver 1053 can switch the display of the icon and task of the device stage according to the function without executing any special process at the time of installing or uninstalling.
The invention is also realized by executing the following processes. That is, software (program) for realizing the functions of the embodiments mentioned above is supplied to a system or an apparatus through a network or various kinds of storage media, and a computer (or a CPU, an MPU, or the like) of the system or apparatus reads out the program and executes processes based on the read-out program.
According to the embodiments mentioned above, such a technique that when an apparatus which provides a plurality of functions is connected to the PC or the like, if the connection destination is the same apparatus type, the link to all functions of the apparatus is enabled to be used on the device detailed page of the device stage can be provided.
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment (s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2009-279713, filed Dec. 9, 2009, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2009-279713 | Dec 2009 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2010/072059 | 12/2/2010 | WO | 00 | 5/30/2012 |