US9286141B2 - Image forming apparatus, program management system, program management method, and computer-readable storage medium - Google Patents

Image forming apparatus, program management system, program management method, and computer-readable storage medium Download PDF

Info

Publication number
US9286141B2
US9286141B2 US12/848,252 US84825210A US9286141B2 US 9286141 B2 US9286141 B2 US 9286141B2 US 84825210 A US84825210 A US 84825210A US 9286141 B2 US9286141 B2 US 9286141B2
Authority
US
United States
Prior art keywords
image forming
forming apparatus
programs
request
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/848,252
Other versions
US20110041144A1 (en
Inventor
Ryoji Araki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Assigned to RICOH COMPANY, LTD. reassignment RICOH COMPANY, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARAKI, RYOJI
Publication of US20110041144A1 publication Critical patent/US20110041144A1/en
Application granted granted Critical
Publication of US9286141B2 publication Critical patent/US9286141B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Definitions

  • the present invention relates to image forming apparatuses, program management systems, program management methods, and computer-readable storage media that store program management programs.
  • image forming apparatuses that are often referred to as MFPs (Multi-Function Peripherals) or composite apparatuses are implemented with an application platform (or application execution environment) having a public or open API (Application Program Interface).
  • an application that is developed by a third party vendor other than a manufacturer of the image forming apparatus may also be utilized in the image forming apparatus.
  • the image forming apparatus of the type described above includes a management mechanism for managing the applications.
  • a Japanese Laid-Open Patent Publication No. 2007-49677 proposes a management mechanism for managing, in an integrated manner, applications on a plurality of application platforms implemented within a single image forming apparatus.
  • the software architecture of the application platform may be drastically modified and a new structure for the application platform may be developed depending on a change in the hardware structure or depending on needs of the market.
  • the management mechanism for managing the applications in the new application platform may become completely different from that of the existing application platform.
  • the application management mechanism of the existing image forming apparatus and the application management mechanism of the new image forming apparatus are different, the user must be able to use both the application management mechanisms.
  • the need for the user to be able to use both the application management mechanisms places a burden on the user, which in turn may encourage the user not to replace the existing image forming apparatus by the new image forming apparatus.
  • Another and more specific object of one embodiment of the present invention is to provide an image forming apparatus, a program management system, a program management method, and a computer-readable storage medium, that may manage programs of a plurality of image forming apparatuses in an integrated manner.
  • an image forming apparatus to be coupled via a network to another image forming apparatus that includes a first program execution environment providing part and manages first programs using the first program execution environment providing part in response to an input of a request in accordance with first interface specifications using a predetermined communication protocol, comprising a program management part configured to manage second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part, in response to an input of a request in accordance with second interface specifications; a compatible interface providing part configured to accept an input of the request in accordance with the first interface specifications; and an intermediating part configured to convert the request accepted by the compatible interface providing part into a request in accordance with the second interface specifications, and to input the converted request to the program management part.
  • a program management system comprising a first image forming apparatus, including a first program execution environment providing part, and configured to manage first programs using the first program execution environment providing part in response to an input of a request in accordance with first interface specifications using a predetermined communication protocol; and a second image forming apparatus coupled to the first image forming apparatus via a network, and comprising a program management part configured to manage second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part, in response to an input of a request in accordance with second interface specifications; a compatible interface providing part configured to accept an input of the request in accordance with the first interface specifications; and an intermediating part configured to convert the request accepted by the compatible interface providing part into a request in accordance with the second interface specifications, and to input the converted request to the program management part.
  • a computer-readable storage medium which stores a program which, when executed by a computer, causes the computer to carry out a process of an image forming apparatus coupled via a network to another image forming apparatus that includes a first program execution environment providing part and manages first programs using the first program execution environment providing part in response to an input of a request in accordance with first interface specifications using a predetermined communication protocol, the process comprising a program management procedure to cause the computer to manage second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part, in response to an input of a request in accordance with second interface specifications; a compatible interface providing procedure to cause the computer to accept an input of the request in accordance with the first interface specifications; and an intermediating procedure to cause the computer to convert the request accepted by the compatible interface providing procedure into a request in accordance with the second interface specifications, and to input the converted request to the program management procedure.
  • FIG. 1 is a block diagram illustrating an example of a system structure in one embodiment of the present invention
  • FIG. 2 is a block diagram illustrating an example of a hardware structure of an image forming apparatus in one embodiment of the present invention
  • FIG. 3 is a diagram illustrating an example of a software structure of an existing image forming apparatus
  • FIG. 4 is a diagram illustrating an example of the software structure of a new image forming apparatus
  • FIG. 5 is a diagram for explaining a mechanism for integrating an application management mechanism of the new image forming apparatus an application management mechanism of the existing image forming apparatus;
  • FIG. 6 is a sequence diagram for explaining procedures of an application install process
  • FIG. 7 is a diagram illustrating an example of a display of an expanded function initial setting screen
  • FIG. 8 is a diagram illustrating an example of application information related to a single SDK (Software Development Kit) application
  • FIG. 9 is a diagram illustrating an example of a display of an installable list screen related to the existing image forming apparatus
  • FIG. 10 is a diagram illustrating an example of the application information updated by the installing.
  • FIG. 11 is a diagram illustrating an example of a display of the installable list screen related to the new image forming apparatus
  • FIG. 12 is a sequence diagram for explaining procedures of an application start process
  • FIG. 13 is a diagram illustrating an example of a display of a start setting screen
  • FIG. 14 is a diagram illustrating an example of the display of the start setting screen updated by the starting of the application.
  • FIG. 15 is a sequence diagram for explaining procedures of an application stop process
  • FIG. 16 is a sequence diagram for explaining procedures of an application uninstall process
  • FIG. 17 is a diagram illustrating an example of a display of an uninstall screen.
  • FIG. 18 is a block diagram illustrating an example of the system structure for a case where an integrated operation environment is provided by a general-purpose computer.
  • FIG. 1 is a block diagram illustrating an example of a system structure in one embodiment of the present invention.
  • an image forming apparatus 10 and an image forming apparatus 20 are connected via a network 50 , such as a LAN (Local Area Network), within a single office, for example.
  • the network 50 may be a cable network, a wireless network or, a combination of cable and wireless networks.
  • Each of the image forming apparatuses 10 and 20 has an application platform (or application execution environment, forming a program executing environment providing unit or means) having a public, or open API (Application Program Interface).
  • application platform or application execution environment, forming a program executing environment providing unit or means
  • API Application Program Interface
  • the software architecture of the application platform of the image forming apparatus 10 and the software architecture of the application platform of the image forming apparatus 20 differ.
  • the API of the application platform of the image forming apparatus 10 and the API of the application platform of the image forming apparatus 20 differ.
  • a program which, when executed by a computer, such as a CPU of the image forming apparatus, causes the computer to carry out the functions of the image forming apparatus described hereunder, may be stored in a suitable computer-readable storage medium.
  • the computer-readable storage medium may be formed by a magnetic recording medium, an optical recording medium, a magneto-optical recording medium, and a semiconductor memory device.
  • the application platform of the image forming apparatus 10 is newer than the application platform of the image forming apparatus 20 .
  • the image forming apparatus 10 will hereinafter also be referred to as the new image forming apparatus 10
  • the image forming apparatus 20 will hereinafter also be referred to as the existing image forming apparatus 20 .
  • the existing image forming apparatus 20 may be regarded as being old compared to the new image forming apparatus 10 .
  • FIG. 2 is a block diagram illustrating an example of a hardware structure of the image forming apparatus in one embodiment of the present invention.
  • the hardware of image forming apparatus 10 illustrated in FIG. 2 includes a controller 11 , a scanner 12 , a printer 13 , a modem 14 , an operation panel 15 , a network interface (I/F) 16 , and a SD (Secure Digital) card slot 17 .
  • I/F network interface
  • SD Secure Digital
  • the controller 11 includes a CPU (Central Processing Unit) 111 , a RAM (Random Access Memory) 112 , a ROM (Read Only Memory) 113 , and a HDD (Hard Disk Drive) 114 .
  • the ROM 113 stores various programs and data used by the programs.
  • the RAM 112 provides storage regions for loading the programs, and work regions for the loaded programs.
  • the CPU 111 executes the programs loaded to the RAM 112 to perform various functions.
  • the HDD 114 is used to store programs and various data used by the programs.
  • the scanner 12 forms a hardware for reading image data from a document.
  • the printer 13 forms a hardware for printing print data on a printing medium such as paper.
  • the modem 14 forms a hardware for connecting the image forming apparatus 10 to a telephone line, and is used to transmit and receive image data in a facsimile communication.
  • the operation panel 15 forms a hardware provided with an input device or means, such as buttons, for accepting inputs from the user, and a display unit or means, such as an LCD (Liquid Crystal Display).
  • the network I/F 16 forms a hardware for connecting the image forming apparatus 10 to a network, such as a LAN, where the network may be a cable network, a wireless network or, a combination of cable and wireless networks.
  • the SD card slot 17 is used to read one or more programs recorded in a SD card 80 .
  • the programs stored in the ROM 113 but also the programs stored in the SD card 80 are loaded into the RAM 112 and executed by the CPU 111 in the image forming apparatus 10 .
  • FIG. 2 illustrates the hardware structure of the new image forming apparatus 10 , however, the hardware structure illustrated in FIG. 2 may also be used for the existing image forming apparatus 20 .
  • FIG. 3 is a diagram illustrating an example of a software structure of the existing image forming apparatus.
  • the existing image forming apparatus 20 illustrated in FIG. 3 includes standard applications 221 , an application management service 222 , SDK (Software Development Kit) applications 223 , a SDK platform 224 , a control service 225 , and an OS (Operating System) 226 .
  • SDK Software Development Kit
  • SDK platform 224 a SDK platform 224
  • control service 225 a control service
  • OS Operating System
  • the standard applications 221 form a group (or set) of applications that are preinstalled in the existing image forming apparatus 20 as standard features when being forwarded.
  • the standard applications 221 include a scan application 2211 , a print application 2212 , a copy application 2213 , and a facsimile application 2214 .
  • the scan application 2211 executes a scan job.
  • the print application 2212 executes a print job.
  • the copy application 2213 executes a copy job.
  • the facsimile application 2214 executes a facsimile transmission job or a facsimile reception job.
  • the control service 225 is formed by a group (or set) of software modules that provide functions of controlling various hardware resources with respect to an application in a higher level of the hierarchical structure.
  • the control service 225 includes a network communication function, a scanner control function, a printer control function, and a memory management function.
  • the SDK applications 223 are additionally installed as plug-ins in order to expand the functions of the existing image forming apparatus 20 after the existing image forming apparatus 20 is forwarded.
  • the SDK applications 223 illustrated in FIG. 3 include SDK applications 223 a , 223 b , and 223 c.
  • the SDK platform 224 provides an execution environment for the SDK applications 223 .
  • the SDK platform 224 forms an application platform (or program execution environment providing unit or means) for the SDK applications 223 .
  • Each SDK application 223 is developed using the API provided by the SDK platform 224 .
  • the API of the SDK platform 224 is made public or open, and thus, the SDK applications 223 may be developed by a third party vendor, for example.
  • the API is a set of functions or methods.
  • the API may include a mechanism for notifying to the SDK applications 223 events or the like that are generated asynchronously.
  • the SDK platform 224 illustrated in FIG. 3 includes an application management communication control module 2241 , and an application management execution module 2242 .
  • the application management communication control module 2241 accepts (or receives) requests that are in accordance with predetermined interface specifications (or request (or command) specifications or, request formats) using HTTP (HyperText Transfer Protocol), and inputs the requests to the application management execution module 2242 .
  • the application management execution module 2242 carries out a process corresponding to the accepted request, amongst various processes related to the management of the SDK applications 223 , in response to the accepted request.
  • the application management communication module 2241 forms result information that indicates results of the process carried out by the application management execution module 2242 into a format in accordance with the predetermined interface specifications, and returns a response including the result information in accordance with the predetermined interface specifications to an input source of the request.
  • the application management service 222 provides a user interface related to the management of the SDK applications 223 . More particularly, the application management service 222 displays each kind of screen related to the management of the SDK applications 223 on the operation panel of the existing image forming apparatus 20 .
  • the application management service 222 inputs (or sends) the request in accordance with the predetermined interface specifications to the application management communication control module 2241 using the HTTP, in response to an instruction that is input via a displayed screen.
  • the application management service 222 displays, on the operation panel, the result information that is output (returned) with respect to the input request.
  • the application management mechanism of the existing image forming apparatus 20 is formed by the application management service 222 , the application management communication control module 2241 , and the application management execution module 2242 .
  • the management of the application includes management of a life cycle or state of the application. More particularly, the management of the application may include controlling execution of the install, start, stop, and uninstall of the application, confirming list information of installed applications, and the like.
  • the application management communication control module 2241 is interposed between the application management service 222 and the application management execution module 2242 , because the application management service 222 and the application management execution module 2242 are implemented using mutually different programming languages.
  • the SDK platform 224 and the SDK applications 223 of the existing image forming apparatus 20 are implemented using the JAVA (registered trademark) programming language (hereinafter simply referred to as “Java language”).
  • the control service 225 , the standard applications 221 , and the application management service 222 of the existing image forming apparatus 20 are implemented using the C language.
  • the application management communication control module 2241 is provided in order to avoid implementing such a special mechanism.
  • the application management service 222 may input a request with respect to the application management execution module 2242 using the HTTP communication that is neutral (that is, having a low dependence on the programming language) with respect to the programming language.
  • the communication protocol between the application management service 222 and the application management communication control module 2241 is of course not limited to the HTTP.
  • Examples of standardized communication protocols other than the HTTP that may be used between the application management service 222 and the application management communication control module 2241 include a dedicated (or exclusive) communication protocol, SOAP (Simple Object Access Protocol), and the like.
  • FIG. 4 is a diagram illustrating an example of the software structure of the new image forming apparatus.
  • the new image forming apparatus 10 illustrated in FIG. 4 includes standard applications 121 , plug-in applications 122 , a plug-in management UI (User Interface) control module 123 , an application management compatible communication control module 124 , an application management wrapper module 125 , an application platform 126 , and an OS (Operating System) 127 .
  • Each software of the new image forming apparatus 10 is started as a process or a thread on the OS 127 .
  • the standard applications 121 form a group (or set) of applications that are preinstalled in the new image forming apparatus 10 as standard features when being forwarded.
  • the standard applications 121 include a scan application 1211 , a print application 1212 , a copy application 1213 , and a facsimile application 1214 .
  • the scan application 1211 executes a scan job
  • the print application 1212 executes a print job
  • the copy application 1213 executes a copy job
  • the facsimile application 1214 executes a facsimile transmission job or a facsimile reception job, similarly to the standard applications 221 of the existing image forming apparatus 20 described above.
  • the plug-in applications 122 are additionally installed in order to expand the functions of the new image forming apparatus 10 after the new image forming apparatus 10 is forwarded. Hence, the plug-in applications 122 are similar in this respect to the SDK applications 223 of the existing image forming apparatus 20 described above.
  • the plug-in applications 122 illustrated in FIG. 4 include plug-in applications 122 a , 122 b , and 122 c.
  • the application platform 126 provides an execution environment for the applications, including the standard applications 121 and the plug-in applications 122 , in the new image forming apparatus 10 .
  • the application platform 126 forms an application platform (or program execution environment providing unit or means) for the plug-in applications 122 .
  • the standard applications 121 and the plug-in applications 122 operate on the same platform, namely, the application platform 126 .
  • the application platform 126 is implemented using the Java language. For this reason, the standard applications 121 , the plug-in applications 122 , the plug-in management UI control module 123 , the application management compatible communication control module 124 , and the application management wrapper module 125 which operate on the application platform 126 are all implemented using the Java language.
  • Each application or module for the new image forming apparatus 10 is developed using the API provided by the application platform 126 .
  • the API of the application platform 126 is made public or open, and thus, the plug-in applications 122 may be developed by a third party vendor, for example.
  • the API of the application platform 126 of the new image forming apparatus 10 has no compatibility with the API of the SDK platform 224 of the existing image forming apparatus 20 . Hence, there is no compatibility between the plug-in applications 122 and the SDK applications 223 .
  • the management mechanism (or management format) for the plug-in applications 122 in the new image forming apparatus 10 is different from the management mechanism (or management format) for the SDK applications 223 in the existing image forming apparatus 20 .
  • the management mechanism for the plug-in applications 122 is formed by a plug-in management execution module 1261 included in the application platform 126 , and the plug-in management US control module 123 operating on the application platform 126 .
  • the plug-in management execution module 1261 executes a process, amongst the various processes related to the management of the plug-in applications 122 , corresponding to a request in accordance with the predetermined interface specifications, in response to the request that is input.
  • the plug-in management execution module 1261 forms result information that indicates results of the process carried out by the plug-in management execution module 1261 into a format in accordance with the predetermined interface specifications, and returns a response including the result information in accordance with the predetermined interface specifications to an input source of the request.
  • the plug-in management UI control module 123 provides a user interface related to the management of the plug-in applications 122 . More particularly, the plug-in management UI control module 123 displays various screens related to the management of the plug-in applications 122 on the operation panel 15 of the new image forming apparatus 10 . The plug-in management UI control module 123 inputs a request in accordance with the predetermined interface specifications to the plug-in management execution module 1261 , in response to an instruction that is input via the displayed screen. The plug-in management UI control module 123 displays, on the operation panel 15 , the result information that is output (returned) with respect to the input request.
  • the plug-in management UI control module 123 corresponds to the application management service 222 of the existing image forming apparatus 20
  • the plug-in management execution module 1261 corresponds to the application management execution module 2242 of the existing image forming apparatus 20
  • the interface specifications (or API specifications) of the plug-in management execution module 1261 in the new image forming apparatus 10 and the interface specifications (or API specifications) of the application management execution module 2242 in the existing image forming apparatus 20 are different.
  • the interface specifications of the plug-in management execution module 1261 of course do not exclude the format using the HTTP communication.
  • the application management compatible communication control module 124 and the application management wrapper module 125 absorb the differences between the interface specifications, in order to enable the application management service 222 to use the plug-in management execution module 1261 . That is, the application management compatible communication module 124 provides an interface in accordance with the interface specifications identical to those of the application management communication control module 2241 , and inputs the request input via the interface to the application management wrapper module 125 .
  • the application management wrapper module 125 accepts the request by an interface in accordance with the interface specifications identical to those of the application management execution module 2242 , converts the accepted request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the request (or converted request) having the converted format to the plug-in management execution module 1261 .
  • the application management mechanism of the new image forming apparatus 10 and the application management mechanism of the existing image forming apparatus 20 may be integrated as illustrated in FIG. 5 .
  • FIG. 5 is a diagram for explaining a mechanism for integrating the application management mechanism of the new image forming apparatus the application management mechanism of the existing image forming apparatus.
  • the application management service 222 may input a request with respect to the application management compatible communication control module 124 of the new image forming apparatus 10 by the HTTP communication.
  • the application management compatible communication control module 124 may input the request with respect to the application management wrapper module 125 by a process similar to the process carried out by the application management communication control module 2241 . Accordingly, the application management compatible communication control module 124 may form the application management communication control module 2241 itself, because the application management wrapper module 125 provides the same interface as the application management execution module 2242 .
  • the application management wrapper module 125 converts the input request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the request having the converted format to the plug-in management execution module 1261 .
  • the plug-in management execution module 1261 executes a process according to the input request, and outputs result information of the process to the application management wrapper module 125 .
  • the application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242 , and returns the result information having the converted format to the application management compatible communication control module 124 .
  • the application management compatible communication control module 124 returns the result information that has the converted format and is returned, to the application management service 222 , using the HTTP communication according to the interface specifications of the application management communication control module 2241 .
  • the user may manage via the operation panel of the existing image forming apparatus 20 , not only the SDK applications 223 of the existing image forming apparatus 20 but also the plug-in applications 122 of the new image forming apparatus 10 .
  • FIG. 6 is a sequence diagram for explaining procedures of an application install process. In FIG. 6 and subsequent sequence diagrams, it is assumed for the sake of convenience that the work place of the user is the set-up location of the existing image forming apparatus 20 .
  • the application management service 222 When the user selects, via the operation panel of the existing image forming apparatus 20 , the application management service 222 as a using target, the application management service 222 displays an expanded function initial setting screen on the operation panel of the existing image forming apparatus 20 .
  • FIG. 7 is a diagram illustrating an example of the display of the expanded function initial setting screen.
  • an expanded function initial setting screen 600 includes a start setting tab 601 , an install tab 602 , and an uninstall tab 603 .
  • These tabs 601 , 602 and 603 are display parts that are selected to switch display contents of the expanded function initial setting screen 600 depending on the needs.
  • FIG. 7 illustrates a state where the install tab 602 is selected and an install initial screen 610 is displayed.
  • buttons 611 through 614 may be pushed (or selected) in order to select an acquisition destination of the SDK application 223 that is to be installed in the existing image forming apparatus 20 (that is, a supply source of the SDK application 223 ).
  • a button 615 may be pushed to in order to select an image forming apparatus other than the existing image forming apparatus 20 as an install destination.
  • the image forming apparatus other than the existing image forming apparatus 20 that may be selected by the button 615 , is the new image forming apparatus 10 .
  • buttons for selecting the install destinations may be displayed based on a result of a search for image forming apparatuses connected to the network 50 , executed by the application management service 222 or another program module.
  • the buttons for selecting the install destinations may be displayed based on list information that indicates the image forming apparatuses connected to the network 50 and is prestored in a storage unit (not illustrated), for example.
  • the application management service 222 judges that the install destination is a local image forming apparatus, that is, the existing image forming apparatus 20 .
  • the application management service 222 specifies an identifier of the supply source corresponding to the button that is pushed, and sends an acquisition request for the list information (or installable list) of the installable SDK applications 223 by HTTP communication with respect to the application management communication control module 2241 , in a step S 102 .
  • the identifier of the supply source is the identifier of the SD card slot when one of the buttons 611 through 613 is pushed.
  • the identifier of the supply source is the identifier (for example, URL (Uniform Resource Locator)) of a predetermined WWW server when the button 614 is pushed.
  • the application management communication control module 2241 specifies the identifier of the supply source of the SDK application 223 in response to receiving the acquisition request for the installable list, and requests a search for the installable SDK applications 223 with respect to the application management execution module 2242 , in a step S 103 . Then, the application management execution module 2242 searches for the SDK applications 223 stored at the specified supply source, in steps S 104 and S 105 . For example, if the identifier indicates the SD card slot, the application management execution module 2242 searches for the SDK applications 223 stored in a predetermined folder of the SD card that is set in the SD card slot indicated by the identifier.
  • the application management execution module 2242 searches for the installable SDK applications 223 from the WWW server indicated by the identifier.
  • application information is acquired as the search result for each installable SDK application 223 .
  • the application information refers to attribute information of the SDK application 223 , that is recorded in a predetermined file annexed to the SDK application 223 (for example, recorded within the same document file as the SDK application 223 ).
  • FIG. 8 is a diagram illustrating an example of the application information related to a single SDK application.
  • the application information illustrated in FIG. 8 is written in a XML (eXtensible Markup Language) format having, as a root element, an application element that is sandwiched between ⁇ application> tags.
  • XML eXtensible Markup Language
  • Each child element of the application element corresponds to an attribute item of the SDK application 223 .
  • the value of a “productid” element indicates the value of a product ID.
  • the product ID is a unique ID assigned in units of products (that is, in units of models) of the SDK application 223 .
  • the value of a “name” element indicates an application name.
  • the value of a “description” element indicates a description related to the SDK application 223 .
  • the value of a “state” element indicates a state of the SDK application 223 .
  • the state element “noninstalled” in FIG. 8 indicates a noninstalled state. In other words, the application information is installed together with the SDK application 223 .
  • a “version” element indicates a version of the SDK application 223 .
  • the value of an “original” element indicates the supply source of the SDK application 223 (for example, the SD card or the WWW server).
  • the original element “sd” in FIG. 8 indicates the SD card (or SD card slot).
  • the value of a “vendor” element indicates a developing vendor of the SDK application 223 .
  • the values of an “e-mail” element, a “tel” element, and a “fax” element respectively indicate an e-mail address, a telephone number, and a facsimile number of the developing vendor.
  • An “autorun” element indicates whether an automatic start is to be made (that is, true) or no automatic start is to be made (that is, false).
  • the automatic start refers to an automatic start, as a thread, in response to the start of the existing image forming apparatus 20 , for example, and not in response to a start instruction which will be described later.
  • the application information illustrated in FIG. 8 is acquired for each SDK application 223 that is found as being installable as a result of the search.
  • the application management execution module 2242 outputs a list (or application list) of the acquired application information with respect to the application management communication control module 2241 , in a step S 106 .
  • the application management communication control module 2241 returns the application list to the application management service 222 by the HTTP communication, in a step S 107 .
  • the application management service 222 displays an installable list screen in the expanded function initial setting screen 600 , based on the application list returned thereto, in a step S 108 .
  • FIG. 9 is a diagram illustrating an example of the display of the installable list screen related to the existing image forming apparatus.
  • an installable list screen 620 displays a list of installable SDK applications 223 . Items of the list include the application name, the description, the version, and the supply medium for each SDK application 223 . The values of the items of the list are acquired from the application information of each SDK application 223 .
  • the application management service 222 specifies the product ID and the identifier of the supply source of the selected SDK application 223 , and sends an install request for the SDK application 223 by the HTTP communication with respect to the application management communication control module 2241 , in a step S 112 .
  • the application management communication control module 2241 specifies the product ID and the identifier of the supply source of the SDK application 223 , and requests installing of the SDK application 223 with respect to the application management execution module 2242 , in response to receiving the install request, in a step S 113 .
  • the application management execution module 2242 installs the SDK application 223 having the specified product ID into the existing image forming apparatus 20 , from among the SDK applications 223 stored at the specified supply source, in a step S 114 .
  • the application information of the installed SDK application 223 is updated and stored in a predetermined storage unit.
  • FIG. 10 is a diagram illustrating an example of the application information updated by the installing.
  • the value of the “state” element is updated to “stopped” in the application information illustrated in FIG. 10 .
  • This updated value indicates that the selected SDK application 223 has been installed, and that this SDK application 223 is stopped (that is, not started).
  • a “destination” element is written in place of the “origin” element.
  • the value of this “destination” element indicates the identifier of the install destination.
  • “sd 1 ” in FIG. 10 indicates the SD card.
  • the storage location of the installed SDK application 223 may be within the SD card and not within the storage unit of the existing image forming apparatus 20 .
  • the application management execution module 2242 outputs result information of the install process with respect to the application management communication control module 2241 , in a step S 115 .
  • the application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S 116 .
  • the application management service 222 displays the result information returned thereto in the expanded function initial setting screen 600 , in a step S 117 .
  • the application management service 222 displays a screen that includes buttons, similar to the buttons 611 through 614 , for selecting the acquisition destination of the plug-in application 122 (that is, supply source of the plug-in applications 122 ) to be installed into the new image forming apparatus 10 , and a button for selecting the existing image forming apparatus 20 as the install destination to return to the state illustrated in FIG. 7 .
  • the application management service 222 judges that the install destination is the remote image forming apparatus which is the new image forming apparatus 10 in this example. Hence, the application management service 222 specifies the identifier of the selected supply source, and sends an acquisition request for the list information (or installable list) of the installable plug-in applications 122 by the HTTP communication with respect to the application management compatible communication control module 124 of the new image forming apparatus 10 , in a step S 121 .
  • the application management compatible communication control module 124 specifies the identifier of the supply source of the plug-in applications 122 , and requests a search for the installable plug-in applications 122 with respect to the application management wrapper module 125 , in response to receiving the acquisition request for the installable list, in a step S 122 .
  • the application management wrapper module 125 converts the request to search for the installable list into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the request (that is, a search request for the plug-in applications 122 ) having the converted format with respect to the plug-in management execution module 1261 , in a step S 123 .
  • the plug-in management execution module 1261 searches for the plug-in applications 122 stored at the specified supply source, in steps S 124 and S 125 .
  • the application information is acquired for each installable plug-in application 122 , as a search result, in a manner similar to the search result obtained for the SDK applications 223 described above.
  • the plug-in management execution module 1261 outputs the list of the acquired application information (or application list) with respect to the application management wrapper module 125 , in a step S 126 .
  • the application management wrapper module 125 converts the application information of the plug-in application 122 into a format in accordance with the application information of the SDK application 223 , if the structure, data format or the like of the application information of the plug-in application 122 differs from that of the application information of the SDK application 223 .
  • the application management wrapper module 125 outputs the list of the application information (or application list) having the converted structure, data format or the like with respect to the application management compatible communication control module 124 , in a step S 127 .
  • the application management compatible communication control module 124 returns the application list to the application management service 222 by the HTTP communication, in a step S 128 .
  • the application management service 222 displays an installable list screen in the expanded function initial setting screen 600 , based on the application list returned thereto, in a step S 108 .
  • FIG. 11 is a diagram illustrating an example of the display of the installable list screen related to the new image forming apparatus.
  • An installable list screen 630 illustrated in FIG. 11 has a structure similar to that of the installable list screen 620 illustrated in FIG. 9 .
  • the installable list screen 630 displays a list of the installable plug-in applications 122 .
  • the items displayed for each plug-in application 122 include a name (“equipment 2 ”) of the new image forming apparatus 10 at the install destination, in place of the supply medium.
  • the application management service 222 specifies the product ID and the identifier of the supply source of the selected plug-in application 122 , and sends an install request for the plug-in application 122 by the HTTP communication with respect to the application management compatible communication control module 124 , in a step S 131 .
  • the application management compatible communication control module 124 specifies the product ID and the identifier of the supply source of the plug-in application 122 , and requests installing of the plug-in application 122 with respect to the application management wrapper module 125 , in response to receiving the install request, in a step S 132 .
  • the application management wrapper module 125 converts the install request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the install request having the converted format with respect to the plug-in management execution module 1261 , in a step S 133 .
  • the plug-in management execution module 1261 installs the plug-in application 122 having the specified product ID into the new image forming apparatus 10 , from among the plug-in applications 122 stored at the supply source specified by the install request, in a step S 134 .
  • the application information of the installed plug-in application 122 is updated and stored in a predetermined storage unit.
  • the updating contents of the application information of the installed plug-in application 122 may be similar to those of the application information of the installed SDK application 223 described above. However, the updating of the application information of the plug-in application 122 may not be the same as the updating of the application information of the SDK application 223 , depending on the structure of the application information of the plug-in application 122 .
  • the plug-in management execution module 1261 outputs result information of the install process with respect to the application management wrapper module 125 , in a step S 135 .
  • the application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242 , and outputs the result information having the converted format with respect to the application management compatible communication control module 124 , in a step S 136 .
  • the application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S 137 .
  • the application management service 222 displays the result information in the expanded function initial setting screen 600 , in a step S 117 .
  • the application management service 222 does not recognize that the install target is the plug-in application 122 .
  • the application management service 222 carries out a process similar to that carried out when installing the SDK application 223 into the exiting image forming apparatus 20 , also when installing the plug-in application 122 into the new image forming apparatus 10 .
  • the application management compatible communication control module 124 provides the same interface as the application management communication control module 2241 .
  • FIG. 12 is a sequence diagram for explaining the procedures of the application start process.
  • the application management service 222 sends an acquisition request for the list information (or installed list) of the installed SDK applications 223 with respect to the application management communication control module 2241 by the HTTP communication, in a step S 202 .
  • the application management communication control module 2241 requests a search for the installed SDK applications 223 with respect to the application management execution module 2242 in response to receiving the acquisition request for the installed list, in a step S 203 .
  • the application management execution module 2242 searches for the installed SDK applications 223 in steps S 204 and S 205 . More particularly, the application management execution module 2242 searches for the application information recorded in the predetermined storage unit by the installing of the SDK applications 223 .
  • the application management execution module 2242 outputs the list of the application information (or application list) that is found as a result of the search with respect to the application management communication control module 2241 , in a step S 206 .
  • the application management communication control module 2241 returns the application list to the application management service 222 by the HTTP communication, in a step S 207 .
  • the application management service 222 sends an acquisition request for the list information (or installed list) of the installed plug-in applications 122 with respect to the application management compatible communication control module 124 of the new image forming apparatus 10 , in a step S 211 .
  • the application management compatible communication control module 124 requests a search (that is, a search request) for the installed plug-in applications 122 with respect to the application management wrapper module 125 , in response to receiving the acquisition request for the installed list, in a step S 212 .
  • the application management wrapper module 125 converts the search request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the search request having the converted format with respect to the plug-in management execution module 1261 , in a step S 213 . Then, the plug-in management execution module 1261 searches for the installed plug-in applications 122 , in steps S 214 and S 215 .
  • a list (or application list) of the application information is acquired, as the search result, for each installed plug-in application 122 , similarly to the search result for the installed SDK applications 223 .
  • the plug-in management execution module 1261 outputs the acquired application list of the application information with respect to the application management wrapper module 125 , in a step S 216 .
  • the application management wrapper module 125 converts the application information of the plug-in applications 122 into the format of the application information of the SDK applications 223 .
  • the application management wrapper module 125 outputs the application list of the application information, having the converted format, with respect to the application management compatible communication control module 124 , in a step S 217 .
  • the application management compatible communication control module 124 returns the application list to the application management service 222 by the HTTP communication, in a step S 218 .
  • the application management service 222 displays a start setting screen in the expanded function initial setting screen 600 , based on the application lists returned from the application management communication control module 2241 and the application management compatible communication control module 124 , in a step S 220 .
  • FIG. 13 is a diagram illustrating an example of the display of the start setting screen.
  • a start setting screen 640 displays a list of installed SDK applications 223 or installed plug-in applications 122 . Items of the list include the state (started or stopped), the application name, the description, the version, and the start source for each application. The values of the items of the list are acquired from the application information of each application.
  • a start process is started.
  • the application that is installed in the existing image forming apparatus 20 that is, the SDK application 223 having a “SD card slot 1 ” as the start source in FIG. 13
  • the application management service 222 specifies the product ID of the selected SDK application 223 , and sends a start request for the SDK application 223 to the application management communication control module 2241 by the HTTP communication, in a step S 222 .
  • the application management communication control module 2241 specifies the product ID of the SDK application 223 , and requests the start of the SDK application 223 with respect to the application management execution module 2242 , in response to receiving the start request, in a step S 223 . Then, the application management execution module 2242 starts the SDK application 223 (or the thread of the SDK application 223 ) having the specified product ID in the existing image forming apparatus 20 , in a step S 224 . If the starting of the SDK application 223 in the existing image forming apparatus 20 is successful, the application management execution module 2242 updates the value of the “state” element in the application information of the started SDK application 223 to “started”.
  • the application management execution module 2242 outputs the result information of the start process with respect to the application management communication control module 2241 , in a step S 225 .
  • the application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S 226 .
  • the application management service 222 specifies the product ID of the selected plug-in application 122 and sends a start request for this plug-in application 122 with respect to the application management compatible communication control module 124 by the HTTP communication, in a step S 231 .
  • the application management compatible communication control module 124 specifies the product ID of the plug-in application 122 and inputs the start request for the plug-in application 122 with respect to the application management wrapper module 125 , in response to receiving the start request, in a step S 232 .
  • the application management wrapper module 125 converts the start request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the start request having the converted format with respect to the plug-in management execution module 1261 , in a step S 233 . Then, the plug-in management execution module 1261 starts the plug-in application 122 (or the thread of the plug-in application 122 ) having the specified product ID in the new image forming apparatus 10 , in a step S 234 . If the starting of the plug-in application 122 in the new image forming apparatus 10 is successful, the plug-in management execution module 1261 updates the value of the “state” element in the application information of the started plug-in application 122 to a value indicating “started”.
  • the plug-in management execution module 1261 outputs the result information of the start process with respect to the application management wrapper module 125 , in a step S 235 .
  • the application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242 , and outputs the result information having the converted format with respect to the application management compatible communication control module 124 , in a step S 236 .
  • the application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S 237 .
  • the application management service 222 updates the start setting screen 640 based on the result information returned from at least one of the application management communication control module 2241 and the application management compatible communication control module 124 , in a step S 240 .
  • FIG. 14 is a diagram illustrating an example of the display of the start setting screen updated by the starting of the application.
  • the state of the application that is, the plug-in application 122
  • FIG. 14 illustrates a case where the plug-in application 122 is selected as the start target, and the display illustrated in FIG. 14 is made as a result of executing the steps S 231 through S 240 in FIG. 12 .
  • FIG. 15 is a sequence diagram for explaining the procedures of the application stop process.
  • steps S 201 through S 220 are the same as those corresponding steps illustrated in FIG. 12 .
  • the applications installed in each of the existing image forming apparatus 20 and the new image forming apparatus 10 are searched, and the start setting screen 640 is displayed based on the result of the search.
  • a stop process is started.
  • the application installed in the existing image forming apparatus 20 for example, the SDK application 223 having the start source “SD card slot 1 ” in FIG. 13
  • the application management service 222 specifies the product ID of the selected SDK application 223 and sends a stop request for the SDK application 223 with respect to the application management communication control module 2241 by the HTTP communication, in a step S 322 .
  • the application management communication control module 2241 specifies the product ID of the SDK application 223 and requests stopping of the SDK application 223 with respect to the application management execution module 2242 , in response to receiving the stop request, in a step S 323 . Then, the application management execution module 2242 stops the SDK application 223 (or thread of the SDK application 223 ) having the specified product ID in the existing image forming apparatus 20 , in a step S 324 . If the stopping of the SDK application 223 in the existing image forming apparatus 20 is successful, the application management execution module 2242 updates the value of the “state” element in the application information of the started SDK application 223 to “stopped”.
  • the application management execution module 2242 outputs the result information of the stop process with respect to the application management communication control module 2241 , in a step S 325 .
  • the application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S 326 .
  • the application management service 222 specifies the product ID of the selected plug-in application 122 and sends a stop request for this plug-in application 122 with respect to the application management compatible communication control module 124 by the HTTP communication, in a step S 331 .
  • the application management compatible communication control module 124 specifies the product ID of the plug-in application 122 and inputs the stop request for the plug-in application 122 with respect to the application management wrapper module 125 , in response to receiving the stop request, in a step S 332 .
  • the application management wrapper module 125 converts the stop request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the stop request having the converted format with respect to the plug-in management execution module 1261 , in a step S 333 . Then, the plug-in management execution module 1261 stops the plug-in application 122 (or the thread of the plug-in application 122 ) having the specified product ID in the new image forming apparatus 10 , in a step S 334 . If the stopping of the plug-in application 122 in the new image forming apparatus 10 is successful, the plug-in management execution module 1261 updates the value of the “state” element in the application information of the stopped plug-in application 122 to a value indicating “stopped”.
  • the plug-in management execution module 1261 outputs the result information of the stop process with respect to the application management wrapper module 125 , in a step S 335 .
  • the application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242 , and outputs the result information having the converted format with respect to the application management compatible communication control module 124 , in a step S 336 .
  • the application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S 337 .
  • the application management service 222 updates the start setting screen 640 based on the result information returned from at least one of the application management communication control module 2241 and the application management compatible communication control module 124 , in a step S 340 . For example, if the plug-in application 122 at the fourth line in the start setting screen 640 is selected as the stop target, the display contents of the start setting screen 640 is updated as illustrated in FIG. 13 .
  • FIG. 16 is a sequence diagram for explaining procedures of the application uninstall process.
  • the application management service 222 displays an uninstall screen in the expanded function initial setting screen 600 , based on the application lists returned from the application management communication control module 2241 and the application management compatible communication control module 124 , in a step S 420 .
  • FIG. 17 is a diagram illustrating an example of a display of the uninstall screen.
  • An uninstall screen 650 illustrated in FIG. 17 has a structure similar to that of the start setting screen 640 described above, and a detailed description of the uninstall screen 650 will be omitted.
  • an uninstall process is started.
  • the application that is installed in the existing image forming apparatus 20 that is, the SDK application 223 having a “SD card slot 1 ” as the start source in FIG. 13
  • the application management service 222 specifies the product ID of the selected SDK application 223 , and sends an uninstall request for the SDK application 223 to the application management communication control module 2241 by the HTTP communication, in a step S 422 .
  • the application management communication control module 2241 specifies the product ID of the SDK application 223 , and requests the uninstall of the SDK application 223 with respect to the application management execution module 2242 , in response to receiving the uninstall request, in a step S 423 . Then, the application management execution module 2242 uninstalls the SDK application 223 having the specified product ID in the existing image forming apparatus 20 , in a step S 424 .
  • the application management execution module 2242 outputs the result information of the uninstall process with respect to the application management communication control module 2241 , in a step S 425 .
  • the application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S 426 .
  • the application management service 222 specifies the product ID of the selected plug-in application 122 and sends an uninstall request for this plug-in application 122 with respect to the application management compatible communication control module 124 by the HTTP communication, in a step S 431 .
  • the application management compatible communication control module 124 specifies the product ID of the plug-in application 122 and inputs the uninstall request for the plug-in application 122 with respect to the application management wrapper module 125 , in response to receiving the uninstall request, in a step S 432 .
  • the application management wrapper module 125 converts the uninstall request into a format in accordance with the interface specifications of the plug-in management execution module 1261 , and inputs the uninstall request having the converted format with respect to the plug-in management execution module 1261 , in a step S 433 . Then, the plug-in management execution module 1261 uninstalls the plug-in application 122 having the specified product ID in the new image forming apparatus 10 , in a step S 434 .
  • the plug-in management execution module 1261 outputs the result information of the uninstall process with respect to the application management wrapper module 125 , in a step S 435 .
  • the application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242 , and outputs the result information having the converted format with respect to the application management compatible communication control module 124 , in a step S 436 .
  • the application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S 437 .
  • the application management service 222 updates the uninstall screen 650 based on the result information returned from at least one of the application management communication control module 2241 and the application management compatible communication control module 124 , in a step S 440 .
  • the new image forming apparatus 10 in accordance with this embodiment is provided with the application management compatible communication control module 124 which may accept a request based on the same interface specifications as the application management communication control module 2241 of the existing image forming apparatus 20 .
  • the application management service 222 of the existing image forming apparatus 20 may input a request related to the management of the plug-in applications 122 in the new image forming apparatus 10 , via the application management compatible communication control module 124 , using the existing (or conventional) procedures for making a request related to the management of the SDK applications 223 in the existing image forming apparatus 20 .
  • the management of the SDK applications 223 in the existing image forming apparatus 20 and the management of the plug-in applications 122 in the new image forming apparatus 10 may be integrated to provide an integrated operation environment to the user. Therefore, the user may operate a single image forming apparatus and simultaneously and centrally manage the applications related to a plurality of image forming apparatuses.
  • the apparatus that provides the user interface (or operation environment) for making the simultaneous and central management of the applications may not be one of the plurality of image forming apparatuses whose application management mechanisms are integrated.
  • an information processing apparatus such as a PC (Personal Computer) that is connected to the plurality of image forming apparatuses via a network may be used to simultaneously and centrally manage the applications related to the plurality of image forming apparatuses.
  • FIG. 18 is a block diagram illustrating an example of the system structure for a case where an integrated operation environment is provided by a general-purpose computer.
  • those parts that are the same as those corresponding parts in FIG. 1 are designated by the same reference numerals, and a description thereof will be omitted.
  • an equipment management apparatus 30 is connected to the network 50 , in addition to the image forming apparatuses 10 and 20 .
  • the equipment management apparatus 30 may be formed by a general-purpose computer, such as a PC, for example.
  • the equipment management apparatus 30 includes an application integrated management part 31 that may be formed by software.
  • a program installed in the equipment management apparatus 30 may cause the CPU of the equipment management apparatus 30 to execute processes of the application integrated management part 31 .
  • the application integrated management part 31 carries out procedures similar to those carried out by the application management service 222 of the existing image forming apparatus 20 .
  • the application management service 222 in each of FIGS. 6 , 12 , 15 , and 16 may be replaced by the application integrated management part 31 .
  • the application integrated management part 31 displays the screens illustrated in FIGS. 7 , 9 , 11 , 13 , 14 , and 17 on a display unit of the equipment management apparatus 30 .

Abstract

An image forming apparatus may be coupled to another image forming apparatus that manages first programs using a first program execution environment providing part in response to a request in accordance with first interface specifications using a predetermined communication protocol. The image forming apparatus manages second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part in response to an a request in accordance with second interface specifications, accepts the request in accordance with the first interface specifications, and converts the accepted request into a request in accordance with the second interface specifications to be input to the program management part.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of a Japanese Patent Application No. 2009-186746 filed on Aug. 11, 2009, in the Japanese Patent Office, the disclosure of which is hereby incorporated by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to image forming apparatuses, program management systems, program management methods, and computer-readable storage media that store program management programs.
2. Description of the Related Art
Recently, image forming apparatuses that are often referred to as MFPs (Multi-Function Peripherals) or composite apparatuses are implemented with an application platform (or application execution environment) having a public or open API (Application Program Interface). Hence, an application that is developed by a third party vendor other than a manufacturer of the image forming apparatus may also be utilized in the image forming apparatus.
The image forming apparatus of the type described above includes a management mechanism for managing the applications. For example, a Japanese Laid-Open Patent Publication No. 2007-49677 proposes a management mechanism for managing, in an integrated manner, applications on a plurality of application platforms implemented within a single image forming apparatus.
In the image forming apparatus of the type described above, the software architecture of the application platform may be drastically modified and a new structure for the application platform may be developed depending on a change in the hardware structure or depending on needs of the market. In this case, the management mechanism for managing the applications in the new application platform may become completely different from that of the existing application platform.
When a new image forming apparatus implemented with a new application platform is put on the market, it is rare for all of the existing image forming apparatuses set up within an office to be replaced by the new image forming apparatus from a certain point in time. Normally, the existing image forming apparatuses and the new image forming apparatuses will coexist within the office.
However, if the application management mechanism of the existing image forming apparatus and the application management mechanism of the new image forming apparatus are different, the user must be able to use both the application management mechanisms. The need for the user to be able to use both the application management mechanisms places a burden on the user, which in turn may encourage the user not to replace the existing image forming apparatus by the new image forming apparatus.
SUMMARY OF THE INVENTION
Accordingly, it is a general object of one embodiment of the present invention to provide a novel and useful image forming apparatus, program management system, program management method, and computer-readable storage medium, in which the problem described above may be suppressed.
Another and more specific object of one embodiment of the present invention is to provide an image forming apparatus, a program management system, a program management method, and a computer-readable storage medium, that may manage programs of a plurality of image forming apparatuses in an integrated manner.
According to one aspect of the present invention, there is provided an image forming apparatus to be coupled via a network to another image forming apparatus that includes a first program execution environment providing part and manages first programs using the first program execution environment providing part in response to an input of a request in accordance with first interface specifications using a predetermined communication protocol, comprising a program management part configured to manage second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part, in response to an input of a request in accordance with second interface specifications; a compatible interface providing part configured to accept an input of the request in accordance with the first interface specifications; and an intermediating part configured to convert the request accepted by the compatible interface providing part into a request in accordance with the second interface specifications, and to input the converted request to the program management part.
According to one aspect of the present invention, there is provided a program management system comprising a first image forming apparatus, including a first program execution environment providing part, and configured to manage first programs using the first program execution environment providing part in response to an input of a request in accordance with first interface specifications using a predetermined communication protocol; and a second image forming apparatus coupled to the first image forming apparatus via a network, and comprising a program management part configured to manage second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part, in response to an input of a request in accordance with second interface specifications; a compatible interface providing part configured to accept an input of the request in accordance with the first interface specifications; and an intermediating part configured to convert the request accepted by the compatible interface providing part into a request in accordance with the second interface specifications, and to input the converted request to the program management part.
According to one aspect of the present invention, there is provided a computer-readable storage medium which stores a program which, when executed by a computer, causes the computer to carry out a process of an image forming apparatus coupled via a network to another image forming apparatus that includes a first program execution environment providing part and manages first programs using the first program execution environment providing part in response to an input of a request in accordance with first interface specifications using a predetermined communication protocol, the process comprising a program management procedure to cause the computer to manage second programs using a second program execution environment providing part that has a structure different from that of the first program execution environment providing part, in response to an input of a request in accordance with second interface specifications; a compatible interface providing procedure to cause the computer to accept an input of the request in accordance with the first interface specifications; and an intermediating procedure to cause the computer to convert the request accepted by the compatible interface providing procedure into a request in accordance with the second interface specifications, and to input the converted request to the program management procedure.
Other objects and further features of the present invention will be apparent from the following detailed description when read in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating an example of a system structure in one embodiment of the present invention;
FIG. 2 is a block diagram illustrating an example of a hardware structure of an image forming apparatus in one embodiment of the present invention;
FIG. 3 is a diagram illustrating an example of a software structure of an existing image forming apparatus;
FIG. 4 is a diagram illustrating an example of the software structure of a new image forming apparatus;
FIG. 5 is a diagram for explaining a mechanism for integrating an application management mechanism of the new image forming apparatus an application management mechanism of the existing image forming apparatus;
FIG. 6 is a sequence diagram for explaining procedures of an application install process;
FIG. 7 is a diagram illustrating an example of a display of an expanded function initial setting screen;
FIG. 8 is a diagram illustrating an example of application information related to a single SDK (Software Development Kit) application;
FIG. 9 is a diagram illustrating an example of a display of an installable list screen related to the existing image forming apparatus;
FIG. 10 is a diagram illustrating an example of the application information updated by the installing;
FIG. 11 is a diagram illustrating an example of a display of the installable list screen related to the new image forming apparatus;
FIG. 12 is a sequence diagram for explaining procedures of an application start process;
FIG. 13 is a diagram illustrating an example of a display of a start setting screen;
FIG. 14 is a diagram illustrating an example of the display of the start setting screen updated by the starting of the application;
FIG. 15 is a sequence diagram for explaining procedures of an application stop process;
FIG. 16 is a sequence diagram for explaining procedures of an application uninstall process;
FIG. 17 is a diagram illustrating an example of a display of an uninstall screen; and
FIG. 18 is a block diagram illustrating an example of the system structure for a case where an integrated operation environment is provided by a general-purpose computer.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
A description will be given of embodiments of an image forming apparatus, a program management system, a program management method, and a computer-readable storage medium according to the present invention, by referring to the drawings.
FIG. 1 is a block diagram illustrating an example of a system structure in one embodiment of the present invention. In FIG. 1, an image forming apparatus 10 and an image forming apparatus 20 are connected via a network 50, such as a LAN (Local Area Network), within a single office, for example. The network 50 may be a cable network, a wireless network or, a combination of cable and wireless networks.
Each of the image forming apparatuses 10 and 20 has an application platform (or application execution environment, forming a program executing environment providing unit or means) having a public, or open API (Application Program Interface). However, the software architecture of the application platform of the image forming apparatus 10 and the software architecture of the application platform of the image forming apparatus 20 differ. In addition, the API of the application platform of the image forming apparatus 10 and the API of the application platform of the image forming apparatus 20 differ.
A program which, when executed by a computer, such as a CPU of the image forming apparatus, causes the computer to carry out the functions of the image forming apparatus described hereunder, may be stored in a suitable computer-readable storage medium. For example, the computer-readable storage medium may be formed by a magnetic recording medium, an optical recording medium, a magneto-optical recording medium, and a semiconductor memory device.
In one embodiment of the present invention, it is assumed for the sake of convenience that the application platform of the image forming apparatus 10 is newer than the application platform of the image forming apparatus 20. Hence, the image forming apparatus 10 will hereinafter also be referred to as the new image forming apparatus 10, and the image forming apparatus 20 will hereinafter also be referred to as the existing image forming apparatus 20. The existing image forming apparatus 20 may be regarded as being old compared to the new image forming apparatus 10.
FIG. 2 is a block diagram illustrating an example of a hardware structure of the image forming apparatus in one embodiment of the present invention. The hardware of image forming apparatus 10 illustrated in FIG. 2 includes a controller 11, a scanner 12, a printer 13, a modem 14, an operation panel 15, a network interface (I/F) 16, and a SD (Secure Digital) card slot 17.
The controller 11 includes a CPU (Central Processing Unit) 111, a RAM (Random Access Memory) 112, a ROM (Read Only Memory) 113, and a HDD (Hard Disk Drive) 114. The ROM 113 stores various programs and data used by the programs. The RAM 112 provides storage regions for loading the programs, and work regions for the loaded programs. The CPU 111 executes the programs loaded to the RAM 112 to perform various functions. The HDD 114 is used to store programs and various data used by the programs.
The scanner 12 forms a hardware for reading image data from a document. The printer 13 forms a hardware for printing print data on a printing medium such as paper. The modem 14 forms a hardware for connecting the image forming apparatus 10 to a telephone line, and is used to transmit and receive image data in a facsimile communication. The operation panel 15 forms a hardware provided with an input device or means, such as buttons, for accepting inputs from the user, and a display unit or means, such as an LCD (Liquid Crystal Display). The network I/F 16 forms a hardware for connecting the image forming apparatus 10 to a network, such as a LAN, where the network may be a cable network, a wireless network or, a combination of cable and wireless networks. The SD card slot 17 is used to read one or more programs recorded in a SD card 80. Hence, not only the programs stored in the ROM 113 but also the programs stored in the SD card 80 are loaded into the RAM 112 and executed by the CPU 111 in the image forming apparatus 10.
FIG. 2 illustrates the hardware structure of the new image forming apparatus 10, however, the hardware structure illustrated in FIG. 2 may also be used for the existing image forming apparatus 20.
FIG. 3 is a diagram illustrating an example of a software structure of the existing image forming apparatus. The existing image forming apparatus 20 illustrated in FIG. 3 includes standard applications 221, an application management service 222, SDK (Software Development Kit) applications 223, a SDK platform 224, a control service 225, and an OS (Operating System) 226. Each software of the existing image forming apparatus 20 is started as a process or a thread on the OS 226.
The standard applications 221 form a group (or set) of applications that are preinstalled in the existing image forming apparatus 20 as standard features when being forwarded. In this example, the standard applications 221 include a scan application 2211, a print application 2212, a copy application 2213, and a facsimile application 2214. The scan application 2211 executes a scan job. The print application 2212 executes a print job. The copy application 2213 executes a copy job. The facsimile application 2214 executes a facsimile transmission job or a facsimile reception job.
The control service 225 is formed by a group (or set) of software modules that provide functions of controlling various hardware resources with respect to an application in a higher level of the hierarchical structure. For example, the control service 225 includes a network communication function, a scanner control function, a printer control function, and a memory management function.
The SDK applications 223 are additionally installed as plug-ins in order to expand the functions of the existing image forming apparatus 20 after the existing image forming apparatus 20 is forwarded. The SDK applications 223 illustrated in FIG. 3 include SDK applications 223 a, 223 b, and 223 c.
The SDK platform 224 provides an execution environment for the SDK applications 223. In other words, the SDK platform 224 forms an application platform (or program execution environment providing unit or means) for the SDK applications 223. Each SDK application 223 is developed using the API provided by the SDK platform 224. The API of the SDK platform 224 is made public or open, and thus, the SDK applications 223 may be developed by a third party vendor, for example. The API is a set of functions or methods. The API may include a mechanism for notifying to the SDK applications 223 events or the like that are generated asynchronously.
The SDK platform 224 illustrated in FIG. 3 includes an application management communication control module 2241, and an application management execution module 2242. The application management communication control module 2241 accepts (or receives) requests that are in accordance with predetermined interface specifications (or request (or command) specifications or, request formats) using HTTP (HyperText Transfer Protocol), and inputs the requests to the application management execution module 2242. The application management execution module 2242 carries out a process corresponding to the accepted request, amongst various processes related to the management of the SDK applications 223, in response to the accepted request. The application management communication module 2241 forms result information that indicates results of the process carried out by the application management execution module 2242 into a format in accordance with the predetermined interface specifications, and returns a response including the result information in accordance with the predetermined interface specifications to an input source of the request.
The application management service 222 provides a user interface related to the management of the SDK applications 223. More particularly, the application management service 222 displays each kind of screen related to the management of the SDK applications 223 on the operation panel of the existing image forming apparatus 20. The application management service 222 inputs (or sends) the request in accordance with the predetermined interface specifications to the application management communication control module 2241 using the HTTP, in response to an instruction that is input via a displayed screen. The application management service 222 displays, on the operation panel, the result information that is output (returned) with respect to the input request.
Hence, the application management mechanism of the existing image forming apparatus 20 is formed by the application management service 222, the application management communication control module 2241, and the application management execution module 2242.
The management of the application includes management of a life cycle or state of the application. More particularly, the management of the application may include controlling execution of the install, start, stop, and uninstall of the application, confirming list information of installed applications, and the like.
The application management communication control module 2241 is interposed between the application management service 222 and the application management execution module 2242, because the application management service 222 and the application management execution module 2242 are implemented using mutually different programming languages. In other words, the SDK platform 224 and the SDK applications 223 of the existing image forming apparatus 20 are implemented using the JAVA (registered trademark) programming language (hereinafter simply referred to as “Java language”). On the other hand, the control service 225, the standard applications 221, and the application management service 222 of the existing image forming apparatus 20 are implemented using the C language.
Accordingly, in order for the application management service 222 to directly call the application management execution module 2242 that is implemented using the Java language, a special mechanism is required to enable the program in the C language to call the program in the Java language. Hence, the application management communication control module 2241 is provided in order to avoid implementing such a special mechanism. By interposing the application management communication control module 2241 between the application management service 222 and the application management execution module 2242, the application management service 222 may input a request with respect to the application management execution module 2242 using the HTTP communication that is neutral (that is, having a low dependence on the programming language) with respect to the programming language. If a communication that is neutral with respect to the programming language may be secured, the communication protocol between the application management service 222 and the application management communication control module 2241 is of course not limited to the HTTP. Examples of standardized communication protocols other than the HTTP that may be used between the application management service 222 and the application management communication control module 2241 include a dedicated (or exclusive) communication protocol, SOAP (Simple Object Access Protocol), and the like.
FIG. 4 is a diagram illustrating an example of the software structure of the new image forming apparatus. The new image forming apparatus 10 illustrated in FIG. 4 includes standard applications 121, plug-in applications 122, a plug-in management UI (User Interface) control module 123, an application management compatible communication control module 124, an application management wrapper module 125, an application platform 126, and an OS (Operating System) 127. Each software of the new image forming apparatus 10 is started as a process or a thread on the OS 127.
The standard applications 121 form a group (or set) of applications that are preinstalled in the new image forming apparatus 10 as standard features when being forwarded. In this example, the standard applications 121 include a scan application 1211, a print application 1212, a copy application 1213, and a facsimile application 1214. The scan application 1211 executes a scan job, the print application 1212 executes a print job, the copy application 1213 executes a copy job, and the facsimile application 1214 executes a facsimile transmission job or a facsimile reception job, similarly to the standard applications 221 of the existing image forming apparatus 20 described above.
The plug-in applications 122 are additionally installed in order to expand the functions of the new image forming apparatus 10 after the new image forming apparatus 10 is forwarded. Hence, the plug-in applications 122 are similar in this respect to the SDK applications 223 of the existing image forming apparatus 20 described above. The plug-in applications 122 illustrated in FIG. 4 include plug-in applications 122 a, 122 b, and 122 c.
The application platform 126 provides an execution environment for the applications, including the standard applications 121 and the plug-in applications 122, in the new image forming apparatus 10. In other words, the application platform 126 forms an application platform (or program execution environment providing unit or means) for the plug-in applications 122. Hence, in the new image forming apparatus 10, the standard applications 121 and the plug-in applications 122 operate on the same platform, namely, the application platform 126.
The application platform 126 is implemented using the Java language. For this reason, the standard applications 121, the plug-in applications 122, the plug-in management UI control module 123, the application management compatible communication control module 124, and the application management wrapper module 125 which operate on the application platform 126 are all implemented using the Java language.
Each application or module for the new image forming apparatus 10 is developed using the API provided by the application platform 126. The API of the application platform 126 is made public or open, and thus, the plug-in applications 122 may be developed by a third party vendor, for example. The API of the application platform 126 of the new image forming apparatus 10 has no compatibility with the API of the SDK platform 224 of the existing image forming apparatus 20. Hence, there is no compatibility between the plug-in applications 122 and the SDK applications 223. In addition, the management mechanism (or management format) for the plug-in applications 122 in the new image forming apparatus 10 is different from the management mechanism (or management format) for the SDK applications 223 in the existing image forming apparatus 20.
That is, in the new image forming apparatus 10, the management mechanism for the plug-in applications 122 is formed by a plug-in management execution module 1261 included in the application platform 126, and the plug-in management US control module 123 operating on the application platform 126. The plug-in management execution module 1261 executes a process, amongst the various processes related to the management of the plug-in applications 122, corresponding to a request in accordance with the predetermined interface specifications, in response to the request that is input. The plug-in management execution module 1261 forms result information that indicates results of the process carried out by the plug-in management execution module 1261 into a format in accordance with the predetermined interface specifications, and returns a response including the result information in accordance with the predetermined interface specifications to an input source of the request.
The plug-in management UI control module 123 provides a user interface related to the management of the plug-in applications 122. More particularly, the plug-in management UI control module 123 displays various screens related to the management of the plug-in applications 122 on the operation panel 15 of the new image forming apparatus 10. The plug-in management UI control module 123 inputs a request in accordance with the predetermined interface specifications to the plug-in management execution module 1261, in response to an instruction that is input via the displayed screen. The plug-in management UI control module 123 displays, on the operation panel 15, the result information that is output (returned) with respect to the input request.
In other words, the plug-in management UI control module 123 corresponds to the application management service 222 of the existing image forming apparatus 20, and the plug-in management execution module 1261 corresponds to the application management execution module 2242 of the existing image forming apparatus 20. However, the interface specifications (or API specifications) of the plug-in management execution module 1261 in the new image forming apparatus 10 and the interface specifications (or API specifications) of the application management execution module 2242 in the existing image forming apparatus 20 are different. However, the interface specifications of the plug-in management execution module 1261 of course do not exclude the format using the HTTP communication.
The application management compatible communication control module 124 and the application management wrapper module 125 absorb the differences between the interface specifications, in order to enable the application management service 222 to use the plug-in management execution module 1261. That is, the application management compatible communication module 124 provides an interface in accordance with the interface specifications identical to those of the application management communication control module 2241, and inputs the request input via the interface to the application management wrapper module 125. The application management wrapper module 125 accepts the request by an interface in accordance with the interface specifications identical to those of the application management execution module 2242, converts the accepted request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the request (or converted request) having the converted format to the plug-in management execution module 1261.
Accordingly, by the provision of the application management compatible communication control module 124 and the application management wrapper module 125, the application management mechanism of the new image forming apparatus 10 and the application management mechanism of the existing image forming apparatus 20 may be integrated as illustrated in FIG. 5.
FIG. 5 is a diagram for explaining a mechanism for integrating the application management mechanism of the new image forming apparatus the application management mechanism of the existing image forming apparatus.
As illustrated in FIG. 5, the application management service 222 may input a request with respect to the application management compatible communication control module 124 of the new image forming apparatus 10 by the HTTP communication. The application management compatible communication control module 124 may input the request with respect to the application management wrapper module 125 by a process similar to the process carried out by the application management communication control module 2241. Accordingly, the application management compatible communication control module 124 may form the application management communication control module 2241 itself, because the application management wrapper module 125 provides the same interface as the application management execution module 2242.
The application management wrapper module 125 converts the input request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the request having the converted format to the plug-in management execution module 1261. The plug-in management execution module 1261 executes a process according to the input request, and outputs result information of the process to the application management wrapper module 125. The application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242, and returns the result information having the converted format to the application management compatible communication control module 124. The application management compatible communication control module 124 returns the result information that has the converted format and is returned, to the application management service 222, using the HTTP communication according to the interface specifications of the application management communication control module 2241.
Hence, the user may manage via the operation panel of the existing image forming apparatus 20, not only the SDK applications 223 of the existing image forming apparatus 20 but also the plug-in applications 122 of the new image forming apparatus 10.
Next, a description will be given of procedures of each process illustrated in FIG. 5, in relation to the processing contents that may include install, start, stop, and uninstall.
FIG. 6 is a sequence diagram for explaining procedures of an application install process. In FIG. 6 and subsequent sequence diagrams, it is assumed for the sake of convenience that the work place of the user is the set-up location of the existing image forming apparatus 20.
When the user selects, via the operation panel of the existing image forming apparatus 20, the application management service 222 as a using target, the application management service 222 displays an expanded function initial setting screen on the operation panel of the existing image forming apparatus 20.
FIG. 7 is a diagram illustrating an example of the display of the expanded function initial setting screen. In FIG. 7, an expanded function initial setting screen 600 includes a start setting tab 601, an install tab 602, and an uninstall tab 603. These tabs 601, 602 and 603 are display parts that are selected to switch display contents of the expanded function initial setting screen 600 depending on the needs. FIG. 7 illustrates a state where the install tab 602 is selected and an install initial screen 610 is displayed.
In the install initial screen 610, buttons 611 through 614 may be pushed (or selected) in order to select an acquisition destination of the SDK application 223 that is to be installed in the existing image forming apparatus 20 (that is, a supply source of the SDK application 223). A button 615 may be pushed to in order to select an image forming apparatus other than the existing image forming apparatus 20 as an install destination. In this embodiment, the image forming apparatus other than the existing image forming apparatus 20, that may be selected by the button 615, is the new image forming apparatus 10.
Of course, if a certain image forming apparatus, other than the new image forming apparatus 10, whose application management mechanism may be integrated with that of the existing image forming apparatus 20, is connected to the network 50, a button corresponding to the certain image forming apparatus is displayed on the install initial setting screen 610. For example, the buttons for selecting the install destinations may be displayed based on a result of a search for image forming apparatuses connected to the network 50, executed by the application management service 222 or another program module. In addition, the buttons for selecting the install destinations may be displayed based on list information that indicates the image forming apparatuses connected to the network 50 and is prestored in a storage unit (not illustrated), for example.
In the state illustrated in FIG. 7, when one of the buttons 611 through 614 is pushed in a step S101, the application management service 222 judges that the install destination is a local image forming apparatus, that is, the existing image forming apparatus 20. Hence, the application management service 222 specifies an identifier of the supply source corresponding to the button that is pushed, and sends an acquisition request for the list information (or installable list) of the installable SDK applications 223 by HTTP communication with respect to the application management communication control module 2241, in a step S102. The identifier of the supply source is the identifier of the SD card slot when one of the buttons 611 through 613 is pushed. On the other hand, the identifier of the supply source is the identifier (for example, URL (Uniform Resource Locator)) of a predetermined WWW server when the button 614 is pushed.
The application management communication control module 2241 specifies the identifier of the supply source of the SDK application 223 in response to receiving the acquisition request for the installable list, and requests a search for the installable SDK applications 223 with respect to the application management execution module 2242, in a step S103. Then, the application management execution module 2242 searches for the SDK applications 223 stored at the specified supply source, in steps S104 and S105. For example, if the identifier indicates the SD card slot, the application management execution module 2242 searches for the SDK applications 223 stored in a predetermined folder of the SD card that is set in the SD card slot indicated by the identifier. On the other hand, if the identifier indicates the WWW server, the application management execution module 2242 searches for the installable SDK applications 223 from the WWW server indicated by the identifier. In either case where the supply source is the SD card slot or the WWW server, application information is acquired as the search result for each installable SDK application 223. The application information refers to attribute information of the SDK application 223, that is recorded in a predetermined file annexed to the SDK application 223 (for example, recorded within the same document file as the SDK application 223).
FIG. 8 is a diagram illustrating an example of the application information related to a single SDK application. The application information illustrated in FIG. 8 is written in a XML (eXtensible Markup Language) format having, as a root element, an application element that is sandwiched between <application> tags.
Each child element of the application element corresponds to an attribute item of the SDK application 223. In other words, the value of a “productid” element indicates the value of a product ID. The product ID is a unique ID assigned in units of products (that is, in units of models) of the SDK application 223. The value of a “name” element indicates an application name. The value of a “description” element indicates a description related to the SDK application 223. The value of a “state” element indicates a state of the SDK application 223. The state element “noninstalled” in FIG. 8 indicates a noninstalled state. In other words, the application information is installed together with the SDK application 223. When the SDK application 223 is installed and the state of the SDK application 223 changes, the value of the state element is updated to a value that indicates the state after this change. A “version” element indicates a version of the SDK application 223. The value of an “original” element indicates the supply source of the SDK application 223 (for example, the SD card or the WWW server). The original element “sd” in FIG. 8 indicates the SD card (or SD card slot). The value of a “vendor” element indicates a developing vendor of the SDK application 223. The values of an “e-mail” element, a “tel” element, and a “fax” element respectively indicate an e-mail address, a telephone number, and a facsimile number of the developing vendor. An “autorun” element indicates whether an automatic start is to be made (that is, true) or no automatic start is to be made (that is, false). The automatic start refers to an automatic start, as a thread, in response to the start of the existing image forming apparatus 20, for example, and not in response to a start instruction which will be described later.
In the steps S104 and S105, the application information illustrated in FIG. 8 is acquired for each SDK application 223 that is found as being installable as a result of the search. Next, the application management execution module 2242 outputs a list (or application list) of the acquired application information with respect to the application management communication control module 2241, in a step S106. The application management communication control module 2241 returns the application list to the application management service 222 by the HTTP communication, in a step S107.
The application management service 222 displays an installable list screen in the expanded function initial setting screen 600, based on the application list returned thereto, in a step S108.
FIG. 9 is a diagram illustrating an example of the display of the installable list screen related to the existing image forming apparatus. In FIG. 9, an installable list screen 620 displays a list of installable SDK applications 223. Items of the list include the application name, the description, the version, and the supply medium for each SDK application 223. The values of the items of the list are acquired from the application information of each SDK application 223.
When a desired SDK application 223 is selected from the list of the installable list screen 620 and an install button 621 is pushed in a step S111, the application management service 222 specifies the product ID and the identifier of the supply source of the selected SDK application 223, and sends an install request for the SDK application 223 by the HTTP communication with respect to the application management communication control module 2241, in a step S112. The application management communication control module 2241 specifies the product ID and the identifier of the supply source of the SDK application 223, and requests installing of the SDK application 223 with respect to the application management execution module 2242, in response to receiving the install request, in a step S113. Then, the application management execution module 2242 installs the SDK application 223 having the specified product ID into the existing image forming apparatus 20, from among the SDK applications 223 stored at the specified supply source, in a step S114. By this installing of the SDK application 223, the application information of the installed SDK application 223 is updated and stored in a predetermined storage unit.
FIG. 10 is a diagram illustrating an example of the application information updated by the installing. Compared to the application information illustrated in FIG. 8, the value of the “state” element is updated to “stopped” in the application information illustrated in FIG. 10. This updated value indicates that the selected SDK application 223 has been installed, and that this SDK application 223 is stopped (that is, not started). In addition, in the application information illustrated in FIG. 10, a “destination” element is written in place of the “origin” element. The value of this “destination” element indicates the identifier of the install destination. Further, “sd1” in FIG. 10 indicates the SD card. In other words, the storage location of the installed SDK application 223 may be within the SD card and not within the storage unit of the existing image forming apparatus 20.
After the install process described above is completed, the application management execution module 2242 outputs result information of the install process with respect to the application management communication control module 2241, in a step S115. The application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S116. The application management service 222 displays the result information returned thereto in the expanded function initial setting screen 600, in a step S117.
On the other hand, when the button 615 is selected (or pushed) in the install initial screen 610 illustrated in FIG. 7, the application management service 222 displays a screen that includes buttons, similar to the buttons 611 through 614, for selecting the acquisition destination of the plug-in application 122 (that is, supply source of the plug-in applications 122) to be installed into the new image forming apparatus 10, and a button for selecting the existing image forming apparatus 20 as the install destination to return to the state illustrated in FIG. 7.
When one supply source is selected on the above screen that is displayed by the application management service 222 in a step S101, the application management service 222 judges that the install destination is the remote image forming apparatus which is the new image forming apparatus 10 in this example. Hence, the application management service 222 specifies the identifier of the selected supply source, and sends an acquisition request for the list information (or installable list) of the installable plug-in applications 122 by the HTTP communication with respect to the application management compatible communication control module 124 of the new image forming apparatus 10, in a step S121.
The application management compatible communication control module 124 specifies the identifier of the supply source of the plug-in applications 122, and requests a search for the installable plug-in applications 122 with respect to the application management wrapper module 125, in response to receiving the acquisition request for the installable list, in a step S122. The application management wrapper module 125 converts the request to search for the installable list into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the request (that is, a search request for the plug-in applications 122) having the converted format with respect to the plug-in management execution module 1261, in a step S123. Next, the plug-in management execution module 1261 searches for the plug-in applications 122 stored at the specified supply source, in steps S124 and S125. The application information is acquired for each installable plug-in application 122, as a search result, in a manner similar to the search result obtained for the SDK applications 223 described above. Then, the plug-in management execution module 1261 outputs the list of the acquired application information (or application list) with respect to the application management wrapper module 125, in a step S126. The application management wrapper module 125 converts the application information of the plug-in application 122 into a format in accordance with the application information of the SDK application 223, if the structure, data format or the like of the application information of the plug-in application 122 differs from that of the application information of the SDK application 223. The application management wrapper module 125 outputs the list of the application information (or application list) having the converted structure, data format or the like with respect to the application management compatible communication control module 124, in a step S127. The application management compatible communication control module 124 returns the application list to the application management service 222 by the HTTP communication, in a step S128.
The application management service 222 displays an installable list screen in the expanded function initial setting screen 600, based on the application list returned thereto, in a step S108.
FIG. 11 is a diagram illustrating an example of the display of the installable list screen related to the new image forming apparatus. An installable list screen 630 illustrated in FIG. 11 has a structure similar to that of the installable list screen 620 illustrated in FIG. 9. In other words, the installable list screen 630 displays a list of the installable plug-in applications 122. However, in this list of the installable plug-in applications 122, the items displayed for each plug-in application 122 include a name (“equipment 2”) of the new image forming apparatus 10 at the install destination, in place of the supply medium.
When a desired plug-in application 122 is selected from the list in the installable list screen 630 and an install button 631 is pushed in a step S111, the application management service 222 specifies the product ID and the identifier of the supply source of the selected plug-in application 122, and sends an install request for the plug-in application 122 by the HTTP communication with respect to the application management compatible communication control module 124, in a step S131. The application management compatible communication control module 124 specifies the product ID and the identifier of the supply source of the plug-in application 122, and requests installing of the plug-in application 122 with respect to the application management wrapper module 125, in response to receiving the install request, in a step S132. Then, the application management wrapper module 125 converts the install request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the install request having the converted format with respect to the plug-in management execution module 1261, in a step S133. Thereafter, the plug-in management execution module 1261 installs the plug-in application 122 having the specified product ID into the new image forming apparatus 10, from among the plug-in applications 122 stored at the supply source specified by the install request, in a step S134. By this installing of the plug-in application 122, the application information of the installed plug-in application 122 is updated and stored in a predetermined storage unit. The updating contents of the application information of the installed plug-in application 122 may be similar to those of the application information of the installed SDK application 223 described above. However, the updating of the application information of the plug-in application 122 may not be the same as the updating of the application information of the SDK application 223, depending on the structure of the application information of the plug-in application 122.
After the install process is completed, the plug-in management execution module 1261 outputs result information of the install process with respect to the application management wrapper module 125, in a step S135. The application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242, and outputs the result information having the converted format with respect to the application management compatible communication control module 124, in a step S136. The application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S137. The application management service 222 displays the result information in the expanded function initial setting screen 600, in a step S117.
In the steps S121, S128, S131, and S137 described above, the application management service 222 does not recognize that the install target is the plug-in application 122. In other words, the application management service 222 carries out a process similar to that carried out when installing the SDK application 223 into the exiting image forming apparatus 20, also when installing the plug-in application 122 into the new image forming apparatus 10. This is because the application management compatible communication control module 124 provides the same interface as the application management communication control module 2241.
Next, a description will be given of procedures of an application start process to start the installed application. FIG. 12 is a sequence diagram for explaining the procedures of the application start process.
When the user pushes the start set tab 601 on the expanded function initial setting screen 600 that is displayed on the display panel of the existing image forming apparatus 20 in a step S201, the application management service 222 sends an acquisition request for the list information (or installed list) of the installed SDK applications 223 with respect to the application management communication control module 2241 by the HTTP communication, in a step S202. The application management communication control module 2241 requests a search for the installed SDK applications 223 with respect to the application management execution module 2242 in response to receiving the acquisition request for the installed list, in a step S203. Then, the application management execution module 2242 searches for the installed SDK applications 223 in steps S204 and S205. More particularly, the application management execution module 2242 searches for the application information recorded in the predetermined storage unit by the installing of the SDK applications 223.
Next, the application management execution module 2242 outputs the list of the application information (or application list) that is found as a result of the search with respect to the application management communication control module 2241, in a step S206. The application management communication control module 2241 returns the application list to the application management service 222 by the HTTP communication, in a step S207.
In parallel with the step S202, the application management service 222 sends an acquisition request for the list information (or installed list) of the installed plug-in applications 122 with respect to the application management compatible communication control module 124 of the new image forming apparatus 10, in a step S211.
The application management compatible communication control module 124 requests a search (that is, a search request) for the installed plug-in applications 122 with respect to the application management wrapper module 125, in response to receiving the acquisition request for the installed list, in a step S212. The application management wrapper module 125 converts the search request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the search request having the converted format with respect to the plug-in management execution module 1261, in a step S213. Then, the plug-in management execution module 1261 searches for the installed plug-in applications 122, in steps S214 and S215. A list (or application list) of the application information is acquired, as the search result, for each installed plug-in application 122, similarly to the search result for the installed SDK applications 223. The plug-in management execution module 1261 outputs the acquired application list of the application information with respect to the application management wrapper module 125, in a step S216. The application management wrapper module 125 converts the application information of the plug-in applications 122 into the format of the application information of the SDK applications 223. The application management wrapper module 125 outputs the application list of the application information, having the converted format, with respect to the application management compatible communication control module 124, in a step S217. The application management compatible communication control module 124 returns the application list to the application management service 222 by the HTTP communication, in a step S218.
Next, the application management service 222 displays a start setting screen in the expanded function initial setting screen 600, based on the application lists returned from the application management communication control module 2241 and the application management compatible communication control module 124, in a step S220.
FIG. 13 is a diagram illustrating an example of the display of the start setting screen. In FIG. 13, a start setting screen 640 displays a list of installed SDK applications 223 or installed plug-in applications 122. Items of the list include the state (started or stopped), the application name, the description, the version, and the start source for each application. The values of the items of the list are acquired from the application information of each application.
When one of the applications having the state that is “stopped” is selected from the list in the start setting screen 640 and a start button 641 is pushed in a step S221, a start process is started. In a case where the application that is installed in the existing image forming apparatus 20 (that is, the SDK application 223 having a “SD card slot 1” as the start source in FIG. 13) is included in the selected application, the application management service 222 specifies the product ID of the selected SDK application 223, and sends a start request for the SDK application 223 to the application management communication control module 2241 by the HTTP communication, in a step S222. The application management communication control module 2241 specifies the product ID of the SDK application 223, and requests the start of the SDK application 223 with respect to the application management execution module 2242, in response to receiving the start request, in a step S223. Then, the application management execution module 2242 starts the SDK application 223 (or the thread of the SDK application 223) having the specified product ID in the existing image forming apparatus 20, in a step S224. If the starting of the SDK application 223 in the existing image forming apparatus 20 is successful, the application management execution module 2242 updates the value of the “state” element in the application information of the started SDK application 223 to “started”.
After the start process is completed, the application management execution module 2242 outputs the result information of the start process with respect to the application management communication control module 2241, in a step S225. The application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S226.
In a case where the application selected as the start target includes the application installed in the new image forming apparatus 10 (for example, the plug-in application 122 having a name “equipment 2” as the start source in FIG. 13), the application management service 222 specifies the product ID of the selected plug-in application 122 and sends a start request for this plug-in application 122 with respect to the application management compatible communication control module 124 by the HTTP communication, in a step S231. The application management compatible communication control module 124 specifies the product ID of the plug-in application 122 and inputs the start request for the plug-in application 122 with respect to the application management wrapper module 125, in response to receiving the start request, in a step S232. The application management wrapper module 125 converts the start request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the start request having the converted format with respect to the plug-in management execution module 1261, in a step S233. Then, the plug-in management execution module 1261 starts the plug-in application 122 (or the thread of the plug-in application 122) having the specified product ID in the new image forming apparatus 10, in a step S234. If the starting of the plug-in application 122 in the new image forming apparatus 10 is successful, the plug-in management execution module 1261 updates the value of the “state” element in the application information of the started plug-in application 122 to a value indicating “started”.
After the start process is completed, the plug-in management execution module 1261 outputs the result information of the start process with respect to the application management wrapper module 125, in a step S235. The application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242, and outputs the result information having the converted format with respect to the application management compatible communication control module 124, in a step S236. The application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S237.
Next, the application management service 222 updates the start setting screen 640 based on the result information returned from at least one of the application management communication control module 2241 and the application management compatible communication control module 124, in a step S240.
FIG. 14 is a diagram illustrating an example of the display of the start setting screen updated by the starting of the application. In the start setting screen 640 illustrated in FIG. 14, the state of the application (that is, the plug-in application 122) in the fourth line has been updated to “started”. Hence, FIG. 14 illustrates a case where the plug-in application 122 is selected as the start target, and the display illustrated in FIG. 14 is made as a result of executing the steps S231 through S240 in FIG. 12.
Next, a description will be given of procedures of an application stop process that stops the started application. FIG. 15 is a sequence diagram for explaining the procedures of the application stop process. In FIG. 15, steps S201 through S220 are the same as those corresponding steps illustrated in FIG. 12. In other words, the applications installed in each of the existing image forming apparatus 20 and the new image forming apparatus 10 are searched, and the start setting screen 640 is displayed based on the result of the search.
For example, when one of the applications having the state “started” is selected from the list in the start setting screen 640 illustrated in FIG. 14 and a stop button 642 is pushed in a step S321, a stop process is started. In a case where the application installed in the existing image forming apparatus 20 (for example, the SDK application 223 having the start source “SD card slot 1” in FIG. 13) is included in the selected application, the application management service 222 specifies the product ID of the selected SDK application 223 and sends a stop request for the SDK application 223 with respect to the application management communication control module 2241 by the HTTP communication, in a step S322. The application management communication control module 2241 specifies the product ID of the SDK application 223 and requests stopping of the SDK application 223 with respect to the application management execution module 2242, in response to receiving the stop request, in a step S323. Then, the application management execution module 2242 stops the SDK application 223 (or thread of the SDK application 223) having the specified product ID in the existing image forming apparatus 20, in a step S324. If the stopping of the SDK application 223 in the existing image forming apparatus 20 is successful, the application management execution module 2242 updates the value of the “state” element in the application information of the started SDK application 223 to “stopped”.
After the stop process is completed, the application management execution module 2242 outputs the result information of the stop process with respect to the application management communication control module 2241, in a step S325. The application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S326.
In a case where the application selected as the stop target includes the application installed in the new image forming apparatus 10 (for example, the plug-in application 122 having a name “equipment 2” as the start source in FIG. 13), the application management service 222 specifies the product ID of the selected plug-in application 122 and sends a stop request for this plug-in application 122 with respect to the application management compatible communication control module 124 by the HTTP communication, in a step S331. The application management compatible communication control module 124 specifies the product ID of the plug-in application 122 and inputs the stop request for the plug-in application 122 with respect to the application management wrapper module 125, in response to receiving the stop request, in a step S332. The application management wrapper module 125 converts the stop request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the stop request having the converted format with respect to the plug-in management execution module 1261, in a step S333. Then, the plug-in management execution module 1261 stops the plug-in application 122 (or the thread of the plug-in application 122) having the specified product ID in the new image forming apparatus 10, in a step S334. If the stopping of the plug-in application 122 in the new image forming apparatus 10 is successful, the plug-in management execution module 1261 updates the value of the “state” element in the application information of the stopped plug-in application 122 to a value indicating “stopped”.
After the stop process is completed, the plug-in management execution module 1261 outputs the result information of the stop process with respect to the application management wrapper module 125, in a step S335. The application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242, and outputs the result information having the converted format with respect to the application management compatible communication control module 124, in a step S336. The application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S337.
Next, the application management service 222 updates the start setting screen 640 based on the result information returned from at least one of the application management communication control module 2241 and the application management compatible communication control module 124, in a step S340. For example, if the plug-in application 122 at the fourth line in the start setting screen 640 is selected as the stop target, the display contents of the start setting screen 640 is updated as illustrated in FIG. 13.
A description will now be given of procedures of an uninstall process that uninstalls installed applications that have become unnecessary. FIG. 16 is a sequence diagram for explaining procedures of the application uninstall process.
When the user pushes the uninstall tab 603 in the expanded function initial setting screen 600 displayed on the operation panel of the existing image forming apparatus 20 in a step S401, steps similar to the steps S202 through S218 described above in conjunction with FIG. 12 are carried out. The application management service 222 displays an uninstall screen in the expanded function initial setting screen 600, based on the application lists returned from the application management communication control module 2241 and the application management compatible communication control module 124, in a step S420.
FIG. 17 is a diagram illustrating an example of a display of the uninstall screen. An uninstall screen 650 illustrated in FIG. 17 has a structure similar to that of the start setting screen 640 described above, and a detailed description of the uninstall screen 650 will be omitted.
When one of the applications is selected from the list in the uninstall screen 650 and an uninstall button 651 is pushed in a step S421, an uninstall process is started. In a case where the application that is installed in the existing image forming apparatus 20 (that is, the SDK application 223 having a “SD card slot 1” as the start source in FIG. 13) is included in the selected application, the application management service 222 specifies the product ID of the selected SDK application 223, and sends an uninstall request for the SDK application 223 to the application management communication control module 2241 by the HTTP communication, in a step S422. The application management communication control module 2241 specifies the product ID of the SDK application 223, and requests the uninstall of the SDK application 223 with respect to the application management execution module 2242, in response to receiving the uninstall request, in a step S423. Then, the application management execution module 2242 uninstalls the SDK application 223 having the specified product ID in the existing image forming apparatus 20, in a step S424.
After the uninstall process is completed, the application management execution module 2242 outputs the result information of the uninstall process with respect to the application management communication control module 2241, in a step S425. The application management communication control module 2241 returns the result information to the application management service 222 by the HTTP communication, in a step S426.
In a case where the application selected as the uninstall target includes the application installed in the new image forming apparatus 10 (for example, the plug-in application 122 having a name “equipment 2” as the start source in FIG. 13), the application management service 222 specifies the product ID of the selected plug-in application 122 and sends an uninstall request for this plug-in application 122 with respect to the application management compatible communication control module 124 by the HTTP communication, in a step S431. The application management compatible communication control module 124 specifies the product ID of the plug-in application 122 and inputs the uninstall request for the plug-in application 122 with respect to the application management wrapper module 125, in response to receiving the uninstall request, in a step S432. The application management wrapper module 125 converts the uninstall request into a format in accordance with the interface specifications of the plug-in management execution module 1261, and inputs the uninstall request having the converted format with respect to the plug-in management execution module 1261, in a step S433. Then, the plug-in management execution module 1261 uninstalls the plug-in application 122 having the specified product ID in the new image forming apparatus 10, in a step S434.
After the uninstall process is completed, the plug-in management execution module 1261 outputs the result information of the uninstall process with respect to the application management wrapper module 125, in a step S435. The application management wrapper module 125 converts the result information into a format in accordance with the interface specifications of the application management execution module 2242, and outputs the result information having the converted format with respect to the application management compatible communication control module 124, in a step S436. The application management compatible communication control module 124 returns the result information to the application management service 222 by the HTTP communication, in a step S437.
Next, the application management service 222 updates the uninstall screen 650 based on the result information returned from at least one of the application management communication control module 2241 and the application management compatible communication control module 124, in a step S440.
As described above, the new image forming apparatus 10 in accordance with this embodiment is provided with the application management compatible communication control module 124 which may accept a request based on the same interface specifications as the application management communication control module 2241 of the existing image forming apparatus 20. For this reason, the application management service 222 of the existing image forming apparatus 20 may input a request related to the management of the plug-in applications 122 in the new image forming apparatus 10, via the application management compatible communication control module 124, using the existing (or conventional) procedures for making a request related to the management of the SDK applications 223 in the existing image forming apparatus 20. As a result, the management of the SDK applications 223 in the existing image forming apparatus 20 and the management of the plug-in applications 122 in the new image forming apparatus 10 may be integrated to provide an integrated operation environment to the user. Therefore, the user may operate a single image forming apparatus and simultaneously and centrally manage the applications related to a plurality of image forming apparatuses.
The apparatus that provides the user interface (or operation environment) for making the simultaneous and central management of the applications may not be one of the plurality of image forming apparatuses whose application management mechanisms are integrated. For example, an information processing apparatus, such as a PC (Personal Computer), that is connected to the plurality of image forming apparatuses via a network may be used to simultaneously and centrally manage the applications related to the plurality of image forming apparatuses.
FIG. 18 is a block diagram illustrating an example of the system structure for a case where an integrated operation environment is provided by a general-purpose computer. In FIG. 18, those parts that are the same as those corresponding parts in FIG. 1 are designated by the same reference numerals, and a description thereof will be omitted.
In FIG. 18, an equipment management apparatus 30 is connected to the network 50, in addition to the image forming apparatuses 10 and 20. The equipment management apparatus 30 may be formed by a general-purpose computer, such as a PC, for example. The equipment management apparatus 30 includes an application integrated management part 31 that may be formed by software. A program installed in the equipment management apparatus 30 may cause the CPU of the equipment management apparatus 30 to execute processes of the application integrated management part 31.
The application integrated management part 31 carries out procedures similar to those carried out by the application management service 222 of the existing image forming apparatus 20. In other words, the application management service 222 in each of FIGS. 6, 12, 15, and 16 may be replaced by the application integrated management part 31. In this case, the application integrated management part 31 displays the screens illustrated in FIGS. 7, 9, 11, 13, 14, and 17 on a display unit of the equipment management apparatus 30.
According to the system structure illustrated in FIG. 18, it is possible to integrate the management of the applications in a plurality of image forming apparatus using the general-purpose computer such as the PC.
Further, the present invention is not limited to these embodiments, but various variations and modifications may be made without departing from the scope of the present invention.

Claims (15)

What is claimed is:
1. An image forming apparatus to be coupled via a network to an other image forming apparatus that includes a first interface providing a first execution environment for first programs and manages the first programs using the first interface in response to a first request that conforms to first interface specifications using a predetermined communication protocol, the image forming apparatus comprising:
a processing unit configured to execute a process including
managing second programs using a second interface having a structure different from that of the first interface and providing a second execution environment for the second programs, in response to a second request that conforms to second interface specifications different from the first interface specifications and is other than the first request;
wherein the first execution environment within the other image forming apparatus and the second execution environment within the image forming apparatus are different and are incompatible with each other, and
wherein the first programs are executed via the first interface in the first execution environment, and the second programs are executed via the second interface in the second execution environment,
accepting the first request that conforms to the first interface specifications;
first converting the first request that conforms to the first interface specifications and is accepted by the accepting into a converted request that conforms to the second interface specifications and is compatible with the second execution environment, and inputting the converted request to the managing, by communicating between the image forming apparatus and the other image forming apparatus according to a communication protocol that is neutral with respect to programming languages used in the first and second execution environments in order to acquire information of the second programs, including the second interface specifications; and
returning result information of a process in accordance with the converted request, output by the managing, to an input source of the first request accepted by the accepting,
wherein the returning includes second converting the result information into a format that conforms to the first interface specifications using the predetermined communication protocol before returning the result information to the input source, and
wherein the managing includes controlling execution of at least one of installing the second programs, starting the second programs, stopping the second programs, uninstalling the second programs, and confirming list information of a list of second programs installed in the image forming apparatus.
2. The image forming apparatus as claimed in claim 1, wherein the managing installs at least one of the second programs in response to the second request that requests to install the at least one of the second programs and conforms to the second interface specifications.
3. The image forming apparatus as claimed in claim 2, wherein the managing acquires, from a storage unit, the list information of the list of the second programs installed in the image forming apparatus, in response to an acquisition request for the list information, that conforms to the second interface specifications.
4. The image forming apparatus as claimed in claim 2, wherein the managing uninstalls at least one of the second programs in response to the second request that requests to uninstall the at least one of the second programs and conforms to the second interface specifications.
5. The image forming apparatus as claimed in claim 1, wherein the second converting includes
receiving the result information of the process in accordance with the converted request, output by the managing with a format that conforms to the second interface specifications;
converting the format of the result information into the format that conforms to the first interface specifications; and
returning the result information with the format that conforms to the first interface specifications to the input source.
6. A program management system comprising:
a first image forming apparatus, comprising a first processing unit that includes a first interface, and configured to manage first programs using the first interface in response to a first request that conforms to first interface specifications using a predetermined communication protocol; and
a second image forming apparatus coupled to the first image forming apparatus via a network, and comprising a second processing unit configured to execute a process including
managing second programs using a second interface that has a structure different from that of the first interface, in response to a second request that conforms to second interface specifications different from the first interface specifications and is other than the first request;
wherein the first programs are executed via the first interface in a first execution environment within the first image forming apparatus, and the second programs are executed via the second interface in a second execution environment within the second image forming apparatus, and
wherein the first execution environment and the second execution environment are different and are incompatible with each other,
accepting the first request that conforms to the first interface specifications;
first converting the first request that conforms to the first interface specifications and is accepted by the accepting into a converted request that conforms to the second interface specifications and is compatible with the second execution environment, and inputting the converted request to the managing, by communicating between the first image forming apparatus and the second image forming apparatus according to a communication protocol that is neutral with respect to programming languages used in the first and second execution environments in order to acquire information of the second programs, including the second interface specifications;
returning result information of a process in accordance with the converted request, output by the managing, to an input source of the first request accepted by the accepting,
wherein the returning includes second converting the result information into a format that conforms to the first interface specifications using the predetermined communication protocol before returning the result information to the input source, and
wherein the managing includes controlling execution of at least one of installing the second programs, starting the second programs, stopping the second programs, uninstalling the second programs, and confirming list information of a list of second programs installed in the second image forming apparatus.
7. The program management system as claimed in claim 6, wherein the managing by the second image forming apparatus installs at least one of the second programs in response to the second request that requests to install the at least one of the second programs and conforms to the second interface specifications.
8. The program management system as claimed in claim 7, wherein the managing by the second image forming apparatus acquires, from a storage unit, the list information of the list of the second programs installed in the image forming apparatus, in response to an acquisition request for the list information, that conforms to the second interface specifications.
9. The program management system as claimed in claim 7, wherein the managing by the second image forming apparatus uninstalls at least one of the second programs in response to the second request that requests to uninstall the at least one of the second programs and conforms to the second interface specifications.
10. The program management system as claimed in claim 6, wherein the second converting includes
receiving the result information of the process in accordance with the converted request, output by the managing with a format that conforms to the second interface specifications;
converting the format of the result information into the format that conforms to the first interface specifications; and
returning the result information with the format that conforms to the first interface specifications to the input source.
11. A non-transitory computer-readable storage medium which stores a program which, when executed by a computer, causes the computer to carry out a process of an image forming apparatus coupled via a network to an other image forming apparatus that includes a first interface and manages first programs using the first interface in response to a first request that conforms to first interface specifications using a predetermined communication protocol, said process comprising:
managing second programs using a second interface that has a structure different from that of the first interface, in response to a second request that conforms to second interface specifications different from the first interface specifications and is other than the first request;
wherein the first programs are executed via the first interface in a first execution environment within the other image forming apparatus, and the second programs are executed via the second interface in a second execution environment within the image forming apparatus, and
wherein the first execution environment and the second execution environment are different and are incompatible with each other,
accepting the first request that conforms to the first interface specifications;
first converting the first request that conforms to the first interface specifications and is accepted by the accepting into a converted request that conforms to the second interface specifications and is compatible with the second execution environment, and inputting the converted request to the managing, by communicating between the image forming apparatus and the other image forming apparatus according to a communication protocol that is neutral with respect to programming languages used in the first and second execution environments in order to acquire information of the second programs, including the second interface specifications; and
returning result information of a process in accordance with the converted request, output by the managing, to an input source of the first request accepted by the accepting,
wherein the returning includes second converting the result information into a format that conforms to the first interface specifications using the predetermined communication protocol before returning the result information to the input source, and
wherein the managing includes controlling execution of at least one of installing the second programs, starting the second programs, stopping the second programs, uninstalling the second programs, and confirming list information of a list of second programs installed in the image forming apparatus.
12. The non-transitory computer-readable storage medium as claimed in claim 11, wherein the managing installs at least one of the second programs in response to the second request that requests to install the at least one of the second programs and conforms to the second interface specifications.
13. The non-transitory computer-readable storage medium as claimed in claim 12, wherein the managing acquires, from a storage unit, the list information of the list of the second programs installed in the image forming apparatus, in response to an acquisition request for the list information, that conforms to the second interface specifications.
14. The non-transitory computer-readable storage medium as claimed in claim 12, wherein the managing uninstalls at least one of the second programs in response to the second request that requests to uninstall the at least one of the second programs and conforms to the second interface specifications.
15. The non-transitory computer-readable storage medium as claimed in claim 11, wherein the second converting includes
receiving the result information of the process in accordance with the converted request, output by the managing with a format that conforms to the second interface specifications;
converting the format of the result information into the format that conforms to the first interface specifications; and
returning the result information with the format that conforms to the first interface specifications to the input source.
US12/848,252 2009-08-11 2010-08-02 Image forming apparatus, program management system, program management method, and computer-readable storage medium Active 2032-01-15 US9286141B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009186746A JP5482011B2 (en) 2009-08-11 2009-08-11 Image forming apparatus, program management system, program management method, and program management program
JP2009-186746 2009-08-11

Publications (2)

Publication Number Publication Date
US20110041144A1 US20110041144A1 (en) 2011-02-17
US9286141B2 true US9286141B2 (en) 2016-03-15

Family

ID=43127284

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/848,252 Active 2032-01-15 US9286141B2 (en) 2009-08-11 2010-08-02 Image forming apparatus, program management system, program management method, and computer-readable storage medium

Country Status (4)

Country Link
US (1) US9286141B2 (en)
EP (1) EP2287738A3 (en)
JP (1) JP5482011B2 (en)
CN (1) CN101998010B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9952849B2 (en) 2015-12-08 2018-04-24 Ricoh Company, Ltd. Apparatus, information processing system, method for processing information, and program
US10178275B2 (en) 2017-03-16 2019-01-08 Ricoh Company, Ltd. Information processing system, apparatus, and information processing method
US10244130B2 (en) 2016-08-10 2019-03-26 Ricoh Company, Ltd. Information processing apparatus and information processing method

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5447030B2 (en) 2010-03-12 2014-03-19 株式会社リコー Electronic device, information processing method, and information processing program
JP5685981B2 (en) 2011-02-23 2015-03-18 株式会社リコー Image forming apparatus, information processing system, billing method, program, and recording medium
US10869104B2 (en) * 2012-04-19 2020-12-15 Saturn Licensing Llc Receiving apparatus, reception method, transmitting apparatus, transmission method, and program
US9009736B2 (en) * 2012-07-26 2015-04-14 Sap Se Function execution framework wrapper layer
JP6064662B2 (en) * 2013-02-19 2017-01-25 コニカミノルタ株式会社 Image forming apparatus, image forming apparatus control method, and control program
US10072656B2 (en) 2013-03-21 2018-09-11 Genesis Advanced Technology Inc. Fluid transfer device
KR20150040669A (en) * 2013-10-07 2015-04-15 삼성전자주식회사 Method and Apparatus for customizing a configuration of printing application
JP6390126B2 (en) 2014-03-14 2018-09-19 株式会社リコー Information processing system, information processing apparatus, information processing method, and program
CN106104476B (en) * 2014-05-30 2019-08-13 京瓷办公信息系统株式会社 Image forming apparatus and image forming method
JP6248814B2 (en) * 2014-05-30 2017-12-20 京セラドキュメントソリューションズ株式会社 Image forming apparatus, image forming method, and control program
JP6260458B2 (en) * 2014-05-30 2018-01-17 京セラドキュメントソリューションズ株式会社 Image forming apparatus, image forming method, and control program
JP6366373B2 (en) * 2014-06-13 2018-08-01 キヤノン株式会社 Information processing apparatus, control method therefor, and program
EP3015984A1 (en) * 2014-10-29 2016-05-04 Hewlett-Packard Development Company, L.P. Providing data from data sources
JP2016130902A (en) 2015-01-13 2016-07-21 株式会社リコー Apparatus, information processing system, information processing method, and information processing program
JP6561501B2 (en) 2015-03-10 2019-08-21 株式会社リコー Apparatus, authentication system, authentication processing method, authentication processing program, and storage medium
JP6547357B2 (en) 2015-03-20 2019-07-24 株式会社リコー Device, authentication system, authentication processing method and authentication processing program
US11067076B2 (en) 2015-09-21 2021-07-20 Genesis Advanced Technology Inc. Fluid transfer device
JP6988930B2 (en) * 2015-12-25 2022-01-05 株式会社リコー Information processing equipment, programs, information processing systems and information processing methods
JP6833421B2 (en) * 2016-09-20 2021-02-24 キヤノン株式会社 Information processing equipment, its control method, and programs
JP6911313B2 (en) * 2016-09-26 2021-07-28 富士フイルムビジネスイノベーション株式会社 Image forming device and program
JP6805679B2 (en) * 2016-09-26 2020-12-23 富士ゼロックス株式会社 Image processing equipment, image processing system and image processing program
JP6965653B2 (en) 2017-09-14 2021-11-10 株式会社リコー Information processing equipment, information processing system, information processing method and program
EP3471388A1 (en) * 2017-10-10 2019-04-17 Canon Kabushiki Kaisha Image processing apparatus, method for controlling the same, and program
JP7077688B2 (en) 2018-03-15 2022-05-31 株式会社リコー Information processing system, information processing device, information processing method and program
CN112437192B (en) * 2019-08-23 2023-12-22 西安中兴新软件有限责任公司 Method and device for running application software, electronic equipment and computer readable medium
US11726995B2 (en) 2019-12-17 2023-08-15 Hewlett Packard Enterprise Development Lp System and method for value pack generation using generic SQL plugin for unified console

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026238A (en) 1997-08-18 2000-02-15 Microsoft Corporatrion Interface conversion modules based upon generalized templates for multiple platform computer systems
EP1001337A2 (en) 1998-10-30 2000-05-17 Fujitsu Limited Apparatus, method and architecture for task oriented applications
EP1117033A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Dynamic dispatch function
EP1122644A1 (en) 2000-01-14 2001-08-08 Sun Microsystems, Inc. A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
US20010052901A1 (en) * 1988-08-24 2001-12-20 Hitachi, Ltd. System for centrally controlling letter data
US20040024878A1 (en) 2002-07-30 2004-02-05 Yoshinobu Makimoto Network device and automatic program update technique
US6693722B1 (en) * 2000-04-13 2004-02-17 International Business Machines Corporation Printer configuration update system and method
JP2004094754A (en) 2002-09-02 2004-03-25 Nli Research Institute Emergency backup processing system for business processing in company
US20050007615A1 (en) * 2003-07-09 2005-01-13 Tomotoshi Sato Printing device with installable data conversion function
US20050071422A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Method, system, and computer program product for an automation tool adapter for use with multiple different automation tools
US6940615B1 (en) * 1997-07-25 2005-09-06 Seiko Epson Corporation Print system, printing method, and printer
US20050275851A1 (en) * 2004-05-28 2005-12-15 Seong Kim Extending printing device longevity
US20060031855A1 (en) 2004-08-03 2006-02-09 Bea Systems, Inc. System and method for runtime interface versioning
JP2006164191A (en) 2004-12-10 2006-06-22 Matsushita Electric Ind Co Ltd Program acquisition and execution device, program acquisition and execution method, program acquisition and execution program recording medium and program acquisition and execution program
US20060215201A1 (en) 2005-03-14 2006-09-28 Koji Shimizu Easy modification to method of controlling applications in image forming apparatus
US20070008583A1 (en) 2005-07-11 2007-01-11 Ryoji Araki Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
JP2007049677A (en) 2005-07-11 2007-02-22 Ricoh Co Ltd Image forming apparatus, information processor, information processing method, information processing program and recording medium
JP2007048270A (en) 2005-07-11 2007-02-22 Ricoh Co Ltd Image forming apparatus, information processing apparatus, information processing method, information processing program and recording medium
US20070081197A1 (en) * 2001-06-22 2007-04-12 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
US20070083629A1 (en) * 2005-09-16 2007-04-12 Satoru Sugishita Data processing system, data managing apparatus, and computer product
US20080209569A1 (en) 2007-02-28 2008-08-28 Ryoji Araki Information processing system, information processor, image forming apparatus, and information processing method
US20090019159A1 (en) 2007-07-11 2009-01-15 Microsoft Corporation Transparently externalizing plug-in computation to cluster
US7543019B1 (en) 2004-03-31 2009-06-02 Emc Corporation Methods and apparatus providing backward compatibility for applications that access a changing object model
JP2009177746A (en) 2008-01-28 2009-08-06 Panasonic Electric Works Co Ltd Communication network configuration apparatus, and equipment management system
US20100169308A1 (en) * 2008-12-30 2010-07-01 Abhinav Das Dynamic translator for requests for system resources

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2664066Y (en) * 2003-12-10 2004-12-15 英业达股份有限公司 External multi-screen display device
CN100369489C (en) * 2005-07-28 2008-02-13 上海大学 Embedded wireless coder of dynamic access code tactics

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010052901A1 (en) * 1988-08-24 2001-12-20 Hitachi, Ltd. System for centrally controlling letter data
US6940615B1 (en) * 1997-07-25 2005-09-06 Seiko Epson Corporation Print system, printing method, and printer
JP2005100437A (en) 1997-08-18 2005-04-14 Microsoft Corp Program-interface converter for multiple-platform computer systems
US6026238A (en) 1997-08-18 2000-02-15 Microsoft Corporatrion Interface conversion modules based upon generalized templates for multiple platform computer systems
EP1001337A2 (en) 1998-10-30 2000-05-17 Fujitsu Limited Apparatus, method and architecture for task oriented applications
EP1122644A1 (en) 2000-01-14 2001-08-08 Sun Microsystems, Inc. A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
EP1117033A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Dynamic dispatch function
US6693722B1 (en) * 2000-04-13 2004-02-17 International Business Machines Corporation Printer configuration update system and method
US20070081197A1 (en) * 2001-06-22 2007-04-12 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
US20040024878A1 (en) 2002-07-30 2004-02-05 Yoshinobu Makimoto Network device and automatic program update technique
JP2004062555A (en) 2002-07-30 2004-02-26 Hitachi Ltd Network equipment and automatic program updating system
JP2004094754A (en) 2002-09-02 2004-03-25 Nli Research Institute Emergency backup processing system for business processing in company
US20050007615A1 (en) * 2003-07-09 2005-01-13 Tomotoshi Sato Printing device with installable data conversion function
US20050071422A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Method, system, and computer program product for an automation tool adapter for use with multiple different automation tools
US7543019B1 (en) 2004-03-31 2009-06-02 Emc Corporation Methods and apparatus providing backward compatibility for applications that access a changing object model
US20050275851A1 (en) * 2004-05-28 2005-12-15 Seong Kim Extending printing device longevity
US20060031855A1 (en) 2004-08-03 2006-02-09 Bea Systems, Inc. System and method for runtime interface versioning
US20080034362A1 (en) 2004-12-10 2008-02-07 Matsushita Electric Industrial Co., Ltd. Program Acquisition and Execution Apparatus, and Program Acquisition and Execution Method
JP2006164191A (en) 2004-12-10 2006-06-22 Matsushita Electric Ind Co Ltd Program acquisition and execution device, program acquisition and execution method, program acquisition and execution program recording medium and program acquisition and execution program
US20060215201A1 (en) 2005-03-14 2006-09-28 Koji Shimizu Easy modification to method of controlling applications in image forming apparatus
US20070008583A1 (en) 2005-07-11 2007-01-11 Ryoji Araki Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
JP2007049677A (en) 2005-07-11 2007-02-22 Ricoh Co Ltd Image forming apparatus, information processor, information processing method, information processing program and recording medium
JP2007048270A (en) 2005-07-11 2007-02-22 Ricoh Co Ltd Image forming apparatus, information processing apparatus, information processing method, information processing program and recording medium
US20070083629A1 (en) * 2005-09-16 2007-04-12 Satoru Sugishita Data processing system, data managing apparatus, and computer product
US20080209569A1 (en) 2007-02-28 2008-08-28 Ryoji Araki Information processing system, information processor, image forming apparatus, and information processing method
US20090019159A1 (en) 2007-07-11 2009-01-15 Microsoft Corporation Transparently externalizing plug-in computation to cluster
JP2009177746A (en) 2008-01-28 2009-08-06 Panasonic Electric Works Co Ltd Communication network configuration apparatus, and equipment management system
US20100169308A1 (en) * 2008-12-30 2010-07-01 Abhinav Das Dynamic translator for requests for system resources

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Japanese Office Action dated Feb. 3, 2015.
Japanese Office Action dated Jul. 9, 2013.
The extended European search report dated Dec. 8, 2011.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9952849B2 (en) 2015-12-08 2018-04-24 Ricoh Company, Ltd. Apparatus, information processing system, method for processing information, and program
US10244130B2 (en) 2016-08-10 2019-03-26 Ricoh Company, Ltd. Information processing apparatus and information processing method
US10178275B2 (en) 2017-03-16 2019-01-08 Ricoh Company, Ltd. Information processing system, apparatus, and information processing method

Also Published As

Publication number Publication date
CN101998010A (en) 2011-03-30
EP2287738A3 (en) 2012-01-11
CN101998010B (en) 2013-11-06
EP2287738A2 (en) 2011-02-23
US20110041144A1 (en) 2011-02-17
JP2011041009A (en) 2011-02-24
JP5482011B2 (en) 2014-04-23

Similar Documents

Publication Publication Date Title
US9286141B2 (en) Image forming apparatus, program management system, program management method, and computer-readable storage medium
US20220374182A1 (en) Information processing apparatus, method, system, and medium, with setup page that shows information indicating functions
US9019516B2 (en) Image forming apparatus and methods used in the image forming apparatus
US9218224B2 (en) Electronic apparatus, information processing method, and recording medium storing information processing program
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
US8713561B2 (en) Device, information processing method, and computer-readable storage medium
CN109660684B (en) Image processing apparatus, control method thereof, and storage medium
US8873080B2 (en) Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium
US9612818B2 (en) Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium
CN101964855A (en) Information processor and information processing method
US20130219260A1 (en) Instrument, information processing system, and information processing method
US8422040B2 (en) Image forming system and method, management apparatus, and recording medium
KR20190088292A (en) Controlling apps providing same or similar services in an image forming apparatus supporting multiple platforms
JP5754524B2 (en) Apparatus, information processing system, information processing method, and information processing program
US8094334B2 (en) Image forming apparatus for managing application and control method therefor
US11409481B2 (en) Setting system, control method, and storage medium
EP2302512A1 (en) Integration and management apparatus, integration and management system and computer readable information recording medium
JP2005269439A (en) Image forming apparatus, information processing method, information processing program, and recording medium
JP2013066236A (en) Device, display control method, and display control program

Legal Events

Date Code Title Description
AS Assignment

Owner name: RICOH COMPANY, LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARAKI, RYOJI;REEL/FRAME:024771/0886

Effective date: 20100729

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8