Abstract:
A function control apparatus is disclosed, which includes multiple function service units configured to operate in response to receipt of a signal from another apparatus via an IEEE 1394 bus, and a control service unit configured to identify one or more of the function service units to be activated, to activate the identified function service unit, and to stop the activated identified function service unit. According to the above arrangements, the function control apparatus does not activate a function service unit that is not to be activated.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention generally relates to a function control apparatus that controls multiple functions of an apparatus connected to a high-speed serial bus network, a method of controlling multiple functions, and a computer program for performing the method, and more particularly, to an IEEE 1394 function management apparatus of an apparatus supporting multiple functions in compliance with IEEE Std. 1394-1995, IEEE Std. 1394a-2000, and Serial Bus Protocol 2 (SBP-2), wherein the IEEE 1394 function management apparatus selects one or more functions to be used from multiple functions and centrally manages the selected functions.  
           [0003]    2. Description of the Related Art  
           [0004]    In accordance with recent developments in data exchange techniques, electronic apparatuses can exchange data at high speed. The IEEE 1394 is an international standard of a high speed serial interface. The IEEE 1394 has two modes, an asynchronous mode and an isochronous mode. In the isochronous mode, bandwidth can be reserved in advance, and as a result, a certain communication speed can be ensured. Additional data can be exchanged using the remaining bandwidth although communication speed is lowered.  
           [0005]    Japanese Laid-Open Patent Application No. 2001-339417 discloses an apparatus that can be connected to the IEEE 1394 bus without being recognized by other apparatuses that have been already connected.  
           [0006]    Japanese Laid-Open Patent Application No. 2002-33786 discloses an information processing apparatus that can analyze an apparatus supporting multiple protocols easily and in a short time period.  
           [0007]    If an apparatus such as a multifunction peripheral has multiple functions supporting a protocol (SBP-2, for example) of the IEEE 1394, a service (computer program) needs to be provided to each function.  
           [0008]    However, if only one or more among the multiple functions need to be used, the apparatus still activates the remaining functions even though the remaining functions are not to be used. As a result, the apparatus wastes resources such as memory capacity and CPU processing time. Another problem is that, if one of the multiple functions fails, the apparatus cannot recover from the failure.  
         SUMMARY OF THE INVENTION  
         [0009]    Accordingly, it is a general object of the present invention to provide a novel and useful function control apparatus in which at least one of the above problems is eliminated.  
           [0010]    Another and more specific object of the present invention is to provide a function control apparatus that centrally controls multiple functions provided thereto.  
           [0011]    To achieve at least one of the above objects, a function control apparatus according to the present invention, includes:  
           [0012]    a plurality of function service units configured to operate in response to receipt of a signal from another apparatus via an IEEE 1394 bus;  
           [0013]    a control service unit configured to identify one or more of the function service units to be activated, to activate the identified function service unit, and to stop the activated identified function service unit.  
           [0014]    The control service unit identifies one or more of the multiple function service units that are to be activated, and activates the identified function service unit. According to the above arrangements, the function control apparatus does not activate a function service unit that is not to be activated.  
           [0015]    Other objects, features, and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    [0016]FIG. 1 is a schematic diagram showing a system according to an embodiment;  
         [0017]    [0017]FIG. 2 is a schematic diagram for explaining the relation between a control service and function services according to an embodiment;  
         [0018]    [0018]FIG. 3 is a flowchart for explaining the operation of the control service according to an embodiment;  
         [0019]    [0019]FIG. 4 is an exemplary control table according to an embodiment;  
         [0020]    [0020]FIG. 5 is an exemplary function service state control table according to an embodiment; and  
         [0021]    [0021]FIG. 6 is a state transition chart for explaining the operation of the function service according to an embodiment.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0022]    The preferred embodiments of the present invention are described in detail below.  
         [0023]    [0023]FIG. 1 is a schematic diagram showing a system according to an embodiment of the present invention. The system shown in FIG. 1 includes a scanner  1 , personal computers  2 , a digital video camera  3 , and a multifunction peripheral (MFP)  4  connected via the IEEE 1394 bus.  
         [0024]    These apparatuses  1  through  4  connected via the IEEE 1394 bus can exchange data using various protocols such as IEEE 1394-1995, 1394-2000, and Serial Bus Protocol 2 (SBP-2). Especially, SBP-2 is supported by various apparatuses not only the MFP  4  but also storage apparatuses such as hard disk drives (HDD).  
         [0025]    The MFP  4  according to an embodiment is a single apparatus that supports multiple functions such as a printer function and a scanner function, for example. When the MFP  4  is connected to the IEEE 1394 bus, the MFP  4  determines whether the printer function and the scanner function, for example, are to be activated, and activates only the function to be activated.  
         [0026]    The MFP  4  controls the activating of the functions using two kinds of services (specific computer programs), a control service and function services.  
         [0027]    In the following description, it is assumed that the MFP  4  has the printer function and the scanner function that can exchange data with the other apparatuses via the IEEE 1394 SBP-2 bus in which SBP-2print and SBP-2scan are supported as functions, for example. According to another embodiment, the MFP  4  may support other IEEE 1394 protocols such as IP over 1394, SBP-3, and AV/C.  
         [0028]    [0028]FIG. 2 is a schematic diagram showing the relation among the control service and the function services (printer function service, scanner function service, and other function services).  
         [0029]    [0029]FIG. 3 is a flowchart showing the operation of the control service according to an embodiment. The operation of MFP  4  according to an embodiment is described below with reference to FIGS. 2 and 3.  
         [0030]    When the MFP  4  is connected to the IEEE 1394 bus, the control service is activated first (step S 1 ). The control service reads a control table stored in a memory (not shown) of the MFP  4  (step S 2 ).  
         [0031]    [0031]FIG. 4 shows an exemplary control table. The control table indicates whether a function service is to be activated under a specific condition. For example, the control table shown in FIG. 4 indicates that the printer function service is to be activated under a condition that a printer application (the application program that causes the MFP  4  to operate as a printer) of the MFP  4  is usable. Additionally, the control table shown in FIG. 4 indicates that the scanner function service is also to be activated under a condition that a scanner application (the application program that causes the MFP  4  to operate as a scanner) of the MFP  4  is usable.  
         [0032]    The control service determines whether there is a function service to be activated by referring to the control table read in step S 2  (step S 3 ). If the control service determines that there is a function service to be activated (yes in step S 3 ), the control service further determines whether the condition specified in the control table corresponding to the to-be-activated function service is satisfied (step S 4 ).  
         [0033]    If the control service determines that there is no function service to be activated (no in step S 3 ), the control service is terminated (step S 5 ). In the case of the control table shown in FIG. 4, both the printer function service and the scanner function service are to be activated (yes in step S 3 ), and the process proceeds from step S 3  to step S 4 .  
         [0034]    If the control service determines that the condition specified in the control table corresponding to the to-be-activated function service is satisfied (yes in step S 4 ), the control service activates the to-be-activated function service (both the printer function service and the scanner function service in this case) (step S 6 ).  
         [0035]    The activated function services initialize themselves. The control service determines whether all to-be-activated function services have been initialized (step S 7 ). If the control service determines that all to-be-activated function services have been initialized (yes in step S 7 ), the control service issues a bus reset via the IEEE 1394 bus to notify other apparatuses of the availability of the activated (and initialized) functions of the MFP  4  (step S 8 ).  
         [0036]    If the control service determines that not all to-be-activated function services have been initialized (no in step S 7 ), the control service further determines whether a predetermined time has passed since the control service started to activate the to-be-activated function services (step S 9 ).  
         [0037]    If the control service determines that the predetermined time has passed (yes in step S 9 ), the control service issues a bus reset via the IEEE 1394 bus to notify other apparatuses of the availability of the activated (and initialized) function of the MFP  4  (step S 8 ). If the control service determines that the predetermined time has not passed yet (no in step S 9 ), the process returns to step S 7 .  
         [0038]    After issuing the bus reset in step S 8 , the control service determines whether any of the activated (and initialized) function services is at a halt. If the control service determines that a function service is at a halt (yes in step S 10 ), the process returns to step S 4 . If the control service determines that the function service is not at a halt, the process repeats step S 10 .  
         [0039]    [0039]FIG. 5 is an exemplary state control table used by the control service during the operation shown in FIG. 2. The state control table is stored in the memory (not shown) of the MFP  4 , and is updated by the control service whenever the state of the function services change. The state control table shown in FIG. 5 indicates that the printer function service is in an activated (and operable) state, and the scanner function service is in a halt state.  
         [0040]    If the scanner function of the MFP  4  malfunctions, for example, the scanner function service informs the control service that the scanner function is not usable, and moves to a halt state as shown in the state control table shown in FIG. 5. The control service determines that the scanner function service is at a halt (yes in step S 10 ). The control service leaves the printer function service operating, and if the condition specified in the control table corresponding to the scanner function service is satisfied (yes at step S 4 ), the control service reactivates the scanner function service (step S 6 ).  
         [0041]    [0041]FIG. 6 is a state transition chart for explaining the operation of the function service. Before being activated by the control service, the function service is in an initial state  100 . In the initial state  100 , the function service is not being executed by the central processing unit (not shown) provided in the MFP  4 , and no “process” corresponding to the function service is generated.  
         [0042]    When the function service is activated by the control service (step S 101 ), the function service is executed by the central processing unit, and a “process” corresponding to the function service is generated. An activated state  110  denotes the function service has just been activated but is not ready for exchanging data with other apparatuses connected via the IEEE 1394 bus.  
         [0043]    The function service initializes itself (step S 102 ), and transits to an operable state  120  in which the function service is ready for exchanging data with the other apparatuses connected via the IEEE 1394 bus.  
         [0044]    For example, if the function of the MFP  4  malfunctions, the function service determines that the function of the MFP  4  is not usable, and moves to a halt state (initial state)  100  (step S 103 ).  
         [0045]    Additionally, in the case that the control service is terminated by accident, for example, the function service determines that the control service has been terminated, and moves to the halt state  100  (step S 105 ). According to the above arrangements, the MFP  4  can prevent the function service from activating and operating without the control by the control service.  
         [0046]    Accordingly, multiple functions provided in the function control apparatus according to an embodiment can be efficiently controlled. The function control apparatus according to an embodiment can prevent the function service from being activated, and use its resource such as memory space and processing time effectively.  
         [0047]    Additionally, if the function service is terminated due to the malfunction of the system, the control service can reactivate the function service. To the contrary, if the control service is terminated by accident, for example, the function service is terminated and is prevented from operating without the control of the control service.  
         [0048]    Furthermore, multiple function services can be activated and initialized without issuing the bus reset every time one function service is activated and initialized. According to the arrangement, the function control apparatus can prevent the IEEE 1394 bus from becoming unstable due to the issuing of many bus resets.  
         [0049]    The present invention is not limited to the multifunction peripherals. According to another embodiment, a function control apparatus according to the present invention may be any apparatus supporting multiple functions that can exchange data via the IEEE 1394 bus.  
         [0050]    The preferred embodiments of the present invention are described above. The present invention is not limited to these embodiments, but variations and modifications may be made without departing from the scope of the present invention.  
         [0051]    This patent application is based on Japanese Priority Patent Application No. 2003-126414 filed on May 1, 2003, the entire contents of which are hereby incorporated by reference.