An electronic device and a computer-readable non-transitory storage medium storing a program
By introducing extended applications and device performance services into the image forming apparatus, the compatibility problem of extended applications between different image forming apparatuses is solved, and cross-device extended application management and functional validity judgment are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-04
- Publication Date
- 2026-04-07
AI Technical Summary
In the existing technology, it is not possible to run the same extended applications across different image forming apparatuses, which makes it difficult to achieve compatibility and unified management of the extended applications.
By introducing extended applications and device performance services into electronic devices, information representing the effectiveness of extended application functionality is generated, enabling extended applications to run across devices.
It enables unified management and functional validity assessment of extended applications across different image forming devices, ensuring that the same extended applications operate normally on different devices.
Smart Images

Figure CN113364926B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to electronic devices that enable applications to perform functions beyond standard functions, i.e., extended applications, and to computer-readable non-transitory storage media storing programs. Background Technology
[0002] As a conventional electronic device, there is a known image forming apparatus that includes: a standard application, which is an application that implements the standard functions of the image forming apparatus; an extended application, which is an application that implements functions other than the standard functions of the image forming apparatus; and an extended function service, which provides extended functions of the standard functions of the image forming apparatus to the extended application without utilizing the standard application.
[0003] However, the structure for running the same extended application between multiple image forming devices that are different from each other is not shown. Summary of the Invention
[0004] The purpose of this invention is to provide an electronic device capable of running the same extended application among multiple electronic devices that are different from each other, and a computer-readable non-transitory storage medium storing programs.
[0005] The electronic device of the present invention includes: an extended application, which is an application that implements functions other than the standard functions of the electronic device; and a device performance service that generates performance information of the electronic device used when the extended application utilizes the functions, the performance information indicating whether the functions utilized by the extended application are effective.
[0006] The computer-readable non-transitory storage medium of the present invention stores a program that an electronic device executes to implement a device performance service. The device performance service generates performance information of the electronic device when an application, i.e., an extended application, utilizes the function in addition to the standard function of the electronic device. The performance information indicates whether the function utilized by the extended application is effective.
[0007] The electronic device of the present invention, as well as the computer-readable non-transitory storage medium storing the program, enables the same extended application to run across multiple electronic devices that are different from each other. Attached Figure Description
[0008] Figure 1 This is a block diagram of the hardware of the image forming apparatus according to the first embodiment of the present invention.
[0009] Figure 2 yes Figure 1 The diagram shows the control configuration of the image forming apparatus.
[0010] Figure 3This refers to the case where the functionality utilized by the extended application is written into the configuration file. Figure 2 The flowchart shows the actions of the extended application.
[0011] Figure 4 This indicates that the extended application itself is in a state where it has functionality that the extended application utilizes. Figure 1 A diagram showing an example of information from a configuration file.
[0012] Figure 5 Is Figure 1 The flowchart shown is a part of the device performance service's actions when performance information values are assigned in the configuration file.
[0013] Figure 6 It continues Figure 5 The flowchart shown is a flowchart of a process.
[0014] Figure 7 It means Figure 5 as well as Figure 6 The diagram shows an example of performance information in the configuration file after the action has ended.
[0015] Figure 8 This refers to extending the application by referencing configuration files and utilizing the functions of the image forming apparatus. Figure 1 A flowchart illustrating the operation of the image forming apparatus.
[0016] Figure 9 This is a flowchart illustrating the operation of the image forming apparatus according to the second embodiment of the present invention when an extended application queries the device performance service and utilizes the functions of the image forming apparatus.
[0017] Figure 10 This is a flowchart of the operation of the device performance service of the image forming apparatus according to the second embodiment of the present invention when receiving an inquiry from the extended application regarding whether the object function is valid.
[0018] Figure 11 When receiving a query from an extended application asking whether an object's functionality is valid, and... Figure 10 The flowcharts show the actions of different device performance services. Detailed Implementation
[0019] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
[0020] (First Implementation)
[0021] First, the configuration of the image forming apparatus of the electronic device according to this embodiment will be described.
[0022] Figure 1This is a block diagram of the hardware of the image forming apparatus 10 according to this embodiment.
[0023] like Figure 1 As shown, the image forming apparatus 10 is an MFP (Multifunction Peripheral), which includes: an operation unit 11, an operation device such as buttons for inputting various operations; a display unit 12, a display device such as an LCD (Liquid Crystal Display) for displaying various information; an image processing unit 13, an image processing device such as a GPU (Graphics Processing Unit) for performing various image processing operations on image data, such as magnification, reduction, density adjustment, grayscale adjustment, and image improvement; a printer 14, a printing device for printing images on recording media such as paper; a scanner 15, a reading device for reading images from original documents; a network communication unit 16, a communication device for communicating with external devices directly via a LAN (Local Area Network), the Internet, or without a network, either wired or wirelessly; a fax communication unit 17, a fax device for fax communication with an external fax device (not shown) via a communication line such as a public telephone line; and a storage unit 18, a device for storing various information, such as a semiconductor memory or an HDD (Hard Disk Drive). The image forming apparatus 10 is a non-volatile storage device such as a drive; and a control unit 19 controls the image forming apparatus 10 as a whole.
[0024] The storage unit 18 stores programs (hereinafter referred to as "general OS programs") 18a for controlling the various hardware components of the image forming apparatus 10, such as Linux (registered trademark).
[0025] The storage unit 18 stores the firmware 18b of the image forming apparatus 10.
[0026] The storage unit 18 stores programs for implementing functions other than the standard functions of the image forming apparatus 10, namely, extended programs 18c.
[0027] The storage unit 18 stores programs for applications that implement functions beyond the standard functions of the image forming apparatus 10, i.e., programs for extended applications (hereinafter referred to as "extended application programs") 18d. The storage unit 18 is capable of storing extended application programs for each extended application.
[0028] Storage unit 18 stores programs (hereinafter referred to as "extended service programs") 18e that provide services using a general-purpose OS to extended applications, which are not used for applications implementing the standard functions of image forming apparatus 10, i.e., standard applications. Storage unit 18 is capable of storing extended service programs for each extended service.
[0029] The storage unit 18 stores device information 18f, which represents information about the hardware of the image forming apparatus 10. For example, the device information 18f indicates whether a document feeder, i.e., an automatic document feeder, is installed to facilitate reading images from both sides of the original using the scanner 15.
[0030] Storage unit 18 can store configuration file 18g containing information required by the extended application. Configuration file 18g is, for example, an XML file. In addition to configuration file 18g, storage unit 18 can also store configuration files with the same structure as configuration file 18g. Storage unit 18 can store configuration files for each extended application. For example, if the extended application is an application that collaborates with a server external to the image forming apparatus 10, the configuration file includes the server's IP address. The extended application manages its own configuration file.
[0031] The control unit 19 includes, for example, a CPU (Central Processing Unit) 19a; a ROM (Read Only Memory) 19b storing programs and various data; and a RAM (Random Access Memory) 19c serving as a working area for the CPU 19a. The CPU 19a executes programs stored in the storage unit 18 or the ROM 19b.
[0032] Control unit 19 implements the following by executing a program stored in storage unit 18 or ROM 19b: Figure 2 The control configuration is shown.
[0033] Figure 2 This is a block diagram of the control configuration of the image forming apparatus 10.
[0034] like Figure 2 As shown, the control unit 19 executes the general OS program 18a (see reference). Figure 1 ), to implement the general OS110.
[0035] Control unit 19 executes firmware 18b (see reference) Figure 1The system implements: an image processing service 121, running on a general-purpose OS 110, providing services related to image processing; a network communication service 122, running on a general-purpose OS 110, providing services related to communication via a network; and a device operation service 123, running on a general-purpose OS 110, providing services for operating the various hardware components of the image forming apparatus 10. The image processing service 121, network communication service 122, and device operation service 123 respectively control the various hardware components of the image forming apparatus 10 through the general-purpose OS 110.
[0036] Image processing service 121 may also provide services such as: setting resolution and color in scanner 15, storing image data read from the original in storage unit 18, and performing image processing on the image data stored in storage unit 18 by image processing unit 13. Image processing service 121 may also provide services such as: drawing image data printed by printer 14 based on a document. Image processing service 121 may also provide services such as: performing image processing such as enlarging, reducing, rotating, color conversion, noise removal, format conversion, character recognition, and watermark recognition on image data obtained from extended applications, image data read from the original by scanner 15, or image data stored in storage unit 18.
[0037] The network communication service 122 can also provide services such as sending and receiving files, streaming media, and authentication data via the network communication unit 16 using various protocols such as TCP / IP and UDP. For example, the network communication service 122 can also send and receive image data read from the original by the scanner 15 and files stored in the storage unit 18. In addition, the network communication service 122 can also send and receive image data transmitted via fax through the fax communication unit 17, send and receive the results of user authentication performed by the user authentication unit when the image forming apparatus 10 has a user authentication unit that authenticates the user via IC card or biometric authentication, and send and receive image data generated by the camera when the image forming apparatus 10 has a camera. Furthermore, the network communication service 122 can also send and receive the status of each part of the image forming apparatus 10 and the results of calling the functions of each part.
[0038] The device operation service 123 may also provide services such as: performing drawing on the display unit 12, driving the printer 14, controlling the fax communication unit 17, user authentication, and obtaining the status of each piece of hardware in the image forming apparatus 10. For example, the device operation service 123 may also provide services such as storing image data read from the original by the scanner 15 into the storage unit 18, drawing images on the browser displayed on the display unit 12, sending image data to the printer 14 to form an image, and faxing image data stored in the storage unit 18 via the fax communication unit 17. When the image forming apparatus 10 includes optional devices such as a sorting device, the device operation service 123 can also provide services to enable the optional devices to perform processes such as binding and stapler operation. When the image forming apparatus 10 includes a user authentication unit that authenticates the user via IC card or biometric authentication, the device operation service 123 can also provide services to enable the user authentication unit to perform user authentication. When the image forming apparatus 10 includes a camera, the device operation service 123 can also provide services to enable the camera to perform functions such as generating image data and detecting gaze based on the image data generated by the camera. The device operation service 123 can also provide services to perform detailed control of the hardware of the image forming apparatus 10, such as driving one of the motors of the conveyor section of the printer 14. The device operation service 123 can also provide services to obtain the status of each part of the image forming apparatus 10.
[0039] The control unit 19 implements the platform service IF unit 130 by executing firmware 18b, which provides interfaces for calling image processing service 121, network communication service 122 and device operation service 123.
[0040] The control unit 19 implements standard applications by executing firmware 18b. These standard applications run on the platform service IF unit 130 and utilize the various hardware components of the image forming apparatus 10. For example, the control unit 19 implements: a copying application 141, a standard application that performs copying by having the scanner 15 read an image from the original document according to an instruction input to the operation unit 11, and then printing the read image by the printer 14; a printing application 142, a standard application that prints an image based on data received via the network communication unit 16, such as data described in PDL (Page Description Language); a fax application 143, a standard application that, according to an instruction input to the operation unit 11, has the scanner 15 read an image from the original document and sends the read image via the fax communication unit 17; and a transmission application 144, a standard application that, according to an instruction input to the operation unit 11, has the scanner 15 read an image from the original document and sends the read image via the network communication unit 16. The printing application 142 can also print images based on documents stored in the storage unit 18 via the printer 14 according to instructions entered in the operation unit 11. The FAX application 143 can send images based on documents received via the network communication unit 16 via the fax communication unit 17, print images received via the fax communication unit 17 via the printer 14, and store images received via the fax communication unit 17 in the storage unit 18.
[0041] Control unit 19 executes extension program 18c (see reference) Figure 1 The general-purpose OS service platform 150 is implemented, which provides services that utilize the general-purpose OS 110 without going through the platform service IF unit 130. For example, the general-purpose OS service platform 150 can provide services that add functions to the general-purpose OS 110, such as installing control programs like device drivers and scripts onto the general-purpose OS 110.
[0042] The control unit 19 implements the extended application service IF unit 160 by executing the extended application program 18c. The extended application service IF unit 160 provides an interface for utilizing the platform service IF unit 130 from the extended application side. The extended application service IF unit 160 maintains API information 160a, which is information related to the API (Application Program Interface) used to utilize the functions of the image forming apparatus 10. For example, the information represented by the API information 160a includes: information on whether an API for reading color images (hereinafter referred to as the "color scanning API") is present when the scanner 15 reads images from the original; and information on whether an API for reading images from both sides of the original (hereinafter referred to as the "duplex scanning API") is present when the scanner 15 reads images from the original.
[0043] The control unit 19 implements the standard function service 170 by executing the extended application program 18c. The standard function service 170 provides the standard functions of the image forming apparatus 10 to the extended application using the standard application. The standard function service 170 utilizes the standard application through the extended application service IF unit 160. For example, by utilizing the standard function service 170, the extended application can display the start screen of copying performed by the copying application 141 on the display unit 12. Furthermore, by utilizing the standard function service 170, the extended application can enable the printing application 142 to print various job data, documents, etc., obtained by the extended application itself or specified by the operation unit 11. Additionally, by utilizing the standard function service 170, the extended application can obtain image data specified by the operation unit 11 from the image data of a fax received by the FAX application 143, or enable the FAX application 143 to send documents specified by the operation unit 11, etc.
[0044] Control unit 19 executes extended service program 18d (see reference) Figure 1 The services that provide functions beyond the standard functions of the image forming apparatus 10 are called extended services. For example, the control unit 19 implements: extended function service 181, which provides extended applications with services that utilize platform service IF unit 130 without utilizing standard applications, or utilize general OS 110 by utilizing general OS service platform 150; and backend service 182, which provides extended applications with services that utilize general OS 110 by utilizing general OS service platform 150 without utilizing platform service IF unit 130. Extended function service 181 utilizes platform service IF unit 130 through extended application service IF unit 160. In addition to extended function service 181, the control unit 19 can also implement at least one extended function service. In addition to backend service 182, the control unit 19 can also implement at least one backend service.
[0045] Extended function services are services that provide extended functions of the image forming apparatus 10 to extended applications. For example, the control unit 19 implements a device performance service as one of the extended function services, which generates information on the capabilities of the image forming apparatus 10.
[0046] Backend services are services that run in the backend. Backend services provide functions beyond the standard functions of the image forming apparatus 10, and functions beyond the extensions of the standard functions of the image forming apparatus 10. Examples of backend services include those that provide functions for monitoring the image forming apparatus 10, monitoring a system comprised of multiple image forming apparatuses, monitoring specific servers, collecting information from the image forming apparatus 10 such as counters representing the number of printed sheets, and converting the collected information into a human-understandable form, as well as converting the form of information output from the image forming apparatus 10 from an older interface to a newer interface.
[0047] The control unit 19 implements the extended service management unit 190 by executing the extended application program 18c. The extended service management unit 190 performs extended service management, such as starting, stopping, and starting extended services. The extended service management unit 190 monitors the status of extended services and the general OS service platform 150.
[0048] The control unit 19 implements the extended application management unit 200 by executing the extended application program 18c, which performs extended application management such as starting, stopping, etc.
[0049] Control unit 19 executes extended application program 18d (see reference) Figure 1The control unit 19 can implement at least one additional application besides the extended application 210. An extended application is an application directly used by the user and has a user interface. The user can utilize the functions provided by the extended application 210 by operating its user interface. For example, an extended application may be a practical application such as OCR (Optical Character Recognition), a surveillance camera application, watermark creation, bill creation, employee roster management, voucher management, contract management, business card management, PDF creation, ledger management, or group management; it may also be an installation application for adding or changing device drivers, firmware, etc., on the general OS 110, or other management applications. The extended application 210 can utilize the general OS 110 by calling the standard function service 170 to utilize the standard application; or it can utilize the general OS 110 by calling the extended service without utilizing the standard application; or it can directly call the general OS service platform 150 to utilize the general OS 110.
[0050] Next, the operation of the image forming apparatus 10 will be explained.
[0051] First, we will explain the actions of an extension application when the functionality it utilizes is written into a configuration file.
[0052] Figure 3 This is a flowchart of the actions of an extended application when the functionality utilized by the extended application is written into a configuration file.
[0053] If the extended application is installed on the image forming apparatus 10 and started, it will execute. Figure 3 The actions shown.
[0054] like Figure 3 As shown, the extended application determines whether there are any functions among the functions it uses that are not written into the extended application's own configuration file on the storage unit 18 (S401). Here, the extended application accesses the storage unit 18 through the standard function service 170, the extended application service IF unit 160, the platform service IF unit 130, and the device operation service 123.
[0055] If, in S401, it is determined that there are functions in the extended application that are not written to the configuration file of the extended application itself on the storage unit 18, then the extended application writes the functions in the extended application that are not written to the configuration file to the configuration file (S402).
[0056] If, in S401, it is determined that the extended application itself does not contain any functions that are not written into the extended application's configuration file on the storage unit 18, or if the processing in S402 ends, then the process terminates.Figure 3 The actions shown.
[0057] Figure 4 This is a diagram illustrating an example of information written in a configuration file by the extended application itself in a state where the extended application utilizes its functionality.
[0058] like Figure 4 As shown, the Job element is an element that represents performance information. Elements at level 1 of the Job element represent the types of jobs. For example, there is a ScanToSend element, which represents a job where the image read from the original by the scanner 15 is sent via the network communication unit 16, i.e., "ScanToSend". Elements at level 1 of the element representing the type of job represent the APIs that can be used in that job. For example, elements representing APIs that can be used in a job like "ScanToSend" include the Color element representing a color scanning API and the Duplex element representing a duplex scanning API.
[0059] like Figure 4 As shown, when the extended application itself contains functionality that it utilizes, the performance information in the configuration file only includes tags for elements indicating APIs that can be used in the job, without containing the content of the elements themselves. That is, in Figure 4 The performance information in the configuration file shown only includes performance items, not performance values.
[0060] Next, the actions of the device performance service when performance information values are assigned in the configuration file will be explained.
[0061] Figure 5 This is a flowchart of part of the device performance service's actions when performance information is assigned values in the configuration file. Figure 6 It continues Figure 5 The flowchart shown is a flowchart of a process.
[0062] If the performance service detects the startup of an extended application by receiving notifications such as notifications that the extended application has started content, it will execute... Figure 5 as well as Figure 6 The actions shown.
[0063] like Figure 5 as well as Figure 6 As shown, the device performance service detects the started extended application (hereinafter referred to as...). Figure 5 as well as Figure 6The description of the action shown (referred to as "object extension application" in the instructions) checks whether the configuration file exists on the storage unit 18 (S421). Here, the device performance service accesses the storage unit 18 through the extension application service IF unit 160, the platform service IF unit 130, and the device operation service 123.
[0064] If the device performance service determines in S421 that a configuration file for an object extension application exists, it then determines whether the configuration file for the object extension application contains a performance item (S422).
[0065] If the device performance service determines in S422 that there are performance items in the configuration file of the object extension application, it then determines whether there are any items in the performance items in the configuration file of the object extension application that have not been assigned a performance value (hereinafter referred to as "no value items") (S423).
[0066] If the device performance service determines in S423 that there is an item with no value, then only one of the items with no value that has not yet been processed as an object in S426 will be treated as an object (S424).
[0067] Next, the device performance service determines the API corresponding to the current object's valueless item based on the name of the tag (tab) of the current object's valueless item (S425). For example, if the current object's valueless item is a Duplex element in the ScanToSend element, the device performance service determines the API corresponding to the current object's valueless item as a double-sided scan API based on the name of the tag "Duplex" in the ScanToSend element's Duplex element.
[0068] After processing in S425, the device performance service determines whether the API determined in S425 exists based on the API information 160a on the extended application service IF section 160 (S426).
[0069] If the device performance service determines in S426 that the API identified in S425 does not exist, it determines the value indicating that the function is invalid as the value of the current object's no-value item (S427).
[0070] If it is determined in S426 that the API identified in S425 exists or the processing in S427 has ended, the device performance service determines whether there are any valueless items that have not yet been processed as objects in S426 (S428).
[0071] If the device performance service determines in S428 that there are valueless items that have not yet been processed in S426, then it executes the processing in S424.
[0072] If the device performance service determines in S428 that there are no valueless items that have not yet been processed as objects in S426, then it determines whether there are valueless items whose values have not been determined (S429).
[0073] If the device performance service determines in S429 that there is an item with an undetermined value, it obtains device information 18f from the storage unit 18 (S430). Here, the device performance service accesses the storage unit 18 through the extended application service IF unit 160, the platform service IF unit 130, and the device operation service 123.
[0074] Next, the device performance service only considers one of the undetermined value items as an object (S431).
[0075] Next, the device performance service determines, based on the device information 18f obtained in S430, whether the API determined in S425 (S432) can be used for the current object's unvalued items. For example, if the API determined in S425 is a duplex scanning API, and the device information 18f indicates that an automatic document feeder is not installed on the image forming apparatus 10, the device performance service determines that the API determined in S425 cannot be used. On the other hand, if the API determined in S425 is a duplex scanning API, and the device information 18f indicates that an automatic document feeder is installed on the image forming apparatus 10, the device performance service determines that the API determined in S425 can be used.
[0076] If the device performance service determines in S432 that the API determined in S425 cannot be used, it determines the value indicating that the function is invalid as the value of the current object's no-value item (S433).
[0077] If the device performance service determines in S432 that the API determined in S425 can be used, it determines the value indicating that the function is valid as the value of the non-value item of the current object (S434).
[0078] After processing in S433 or S434, the device performance service determines whether there are any valueless items whose values have not been determined (S435).
[0079] If the device performance service determines in S435 that there is an item with an undetermined value, then the processing in S431 is executed.
[0080] If the device performance service determines in S435 that there is no value for an item whose value has not been determined, the value determined in S427, S433 or S434 will be reflected in the configuration file of the object extension application (S436).
[0081] The device performance service terminates if, in S421, it is determined that the configuration file for the object extension application does not exist; in S422, it is determined that the configuration file for the object extension application does not contain a performance item; in S423, it is determined that an item with no value does not exist; in S429, it is determined that an item with no value whose value is not determined does not exist; or the processing in S436 ends. Figure 5 as well as Figure 6 The actions shown.
[0082] Figure 7 It means Figure 5 as well as Figure 6 The diagram shows an example of performance information in the configuration file after the action has ended.
[0083] exist Figure 7 In the performance information shown, the Color element displays "Yes" as a value indicating that the function is valid, while the Duplex element displays "No" as a value indicating that the function is invalid.
[0084] Next, the operation of the image forming apparatus 10 will be explained when the extended application refers to the configuration file and utilizes the functions of the image forming apparatus 10.
[0085] Figure 8 This is a flowchart of the operation of the image forming apparatus 10 when the extended application refers to the configuration file and utilizes the functions of the image forming apparatus 10.
[0086] Extended applications utilize the functions of the image forming apparatus 10 (hereinafter, in Figure 8 When the action shown is referred to as "object function" in the description, it is executed. Figure 8 The actions shown.
[0087] like Figure 8 As shown, the extended application determines whether the object's function is valid based on its own configuration file (S441). Here, the extended application accesses the storage unit 18 through the standard function service 170, the extended application service IF unit 160, the platform service IF unit 130, and the device operation service 123.
[0088] If the extended application determines in S441 that the object function is valid, then it utilizes the object function (S442) and terminates. Figure 8 The actions shown.
[0089] If the extended application determines in S441 that the object function is invalid, then stop using the object function (S443) and end. Figure 8 The actions shown.
[0090] As explained above, since the image forming apparatus 10 generates information indicating whether the function utilized by the extended application is effective as information on the performance of the image forming apparatus 10 used when the extended application utilizes the function (S436), the same extended application can be run among multiple image forming apparatuses that are different from each other, including the image forming apparatus 10 itself.
[0091] The extended application itself writes the functions utilized by the extended application into the configuration file, and the device performance service generates information indicating whether the functions written in the configuration file are valid (S436). Therefore, the image forming apparatus 10 can generate information indicating whether the functions are valid only for the functions utilized by the extended application.
[0092] Since the extended application itself writes the functions utilized by the extended application into the configuration file, the device performance service generates information indicating whether the functions written into the configuration file are valid (S436). Therefore, the image forming apparatus 10 can summarize and generate information indicating whether the functions utilized by the extended application are valid for multiple functions.
[0093] Since the image forming apparatus 10 implements device performance services as an extended service, it is possible to utilize the same device performance services among multiple image forming apparatuses that are different from each other, including the image forming apparatus 10 itself.
[0094] (Second Implementation)
[0095] The configuration of the image forming apparatus in this embodiment is the same as that of the image forming apparatus 10 in the first embodiment (see reference). Figure 1 The configuration is the same as that of the image forming apparatus 10. Therefore, for configurations of the image forming apparatus according to this embodiment that are the same as those of the image forming apparatus 10, the same reference numerals are assigned as those for the image forming apparatus 10, and detailed descriptions are omitted.
[0096] The operation of the image forming apparatus according to this embodiment will be described below.
[0097] Figure 9 This is a flowchart illustrating the operation of the image forming apparatus according to this embodiment when extending the application to inquire about device performance services and utilizing the functions of the image forming apparatus.
[0098] Extended applications utilize the functions of the image forming apparatus according to this embodiment (hereinafter, Figure 9 as well as Figure 10 When the action shown is referred to as "object function" in the description, it is executed. Figure 9 The actions shown.
[0099] like Figure 9 As shown, the extended application queries the device performance service to determine whether the object function is valid (S461).
[0100] Next, the extended application determines whether the device performance service has responded, until it is determined that the device performance service has responded (S462).
[0101] Figure 10 This is a flowchart of the actions taken by the device performance service when it receives an inquiry from the extended application regarding whether the object's functionality is valid.
[0102] If the device performance service receives the query in S461, it will execute... Figure 10 The actions shown.
[0103] like Figure 10 As shown, the device performance service determines whether there is an API for utilizing object functions based on the API information 160a on the extended application service IF section 160 (S481).
[0104] If the device performance service determines in S481 that an API for utilizing object functions exists, it obtains device information 18f from the storage unit 18 (S482). Here, the device performance service accesses the storage unit 18 through the extended application service IF unit 160, the platform service IF unit 130, and the device operation service 123.
[0105] After processing in S482, the device performance service is connected to S432 (see reference). Figure 6 Similarly, based on the device information 18f obtained in S482, it is determined whether the API for utilizing object functions can be used (S483).
[0106] If the device performance service determines in S481 that an API for utilizing object functionality does not exist, and in S483 that an API for utilizing object functionality cannot be used, then it replies to the extended application that the object functionality is invalid (S484), and the process ends. Figure 10 The actions shown.
[0107] If the device performance service determines in S483 that the API for utilizing object functionality can be used, it replies to the extended application that the object functionality is valid (S485), and the process ends. Figure 10 The actions shown.
[0108] like Figure 9 As shown, if the extended application determines in S462 that there is a response from the device performance service, it determines whether the object function is valid based on the response from the device performance service (S463).
[0109] If the extended application determines in S463 that the object function is valid, then it utilizes the object function (S464) and terminates. Figure 9 The actions shown.
[0110] If the extended application determines in S463 that the object function is invalid, then stop using the object function (S465) and end. Figure 9 The actions shown.
[0111] Furthermore, as described above, whenever the device performance service receives a query from the extended application regarding the validity of an object's functionality, it determines whether the object's functionality is valid based on API information 160a and device information 18f. However, by maintaining performance information in the configuration file in the same manner as in the first embodiment, the device performance service can determine the validity of the object's functionality based on the configuration file of the extended application when it receives a query from the extended application regarding the validity of an object's functionality. Similarly to the first embodiment, the device performance service can also write the performance information determined based on API information 160a and device information 18f into the configuration file when the extended application starts, such as... Figure 11 As shown, the device performance service can also write performance information, determined based on API information 160a and device information 18f, into the configuration file when each function is initially asked whether it is valid upon receiving an inquiry from the extended application.
[0112] Figure 11 When receiving a query from an extended application asking whether an object's functionality is valid, and... Figure 10 The flowcharts show the actions of different device performance services.
[0113] If the device performance service receives the query in S461, it will execute... Figure 11 The actions shown.
[0114] like Figure 11 As shown, the extended application of querying the source in the device performance service judgment S461 (hereinafter, in Figure 11 The configuration file (referred to as "object extension application" in the description of the action shown) indicates whether the object functionality is effective (S501).
[0115] If, in S501, the device performance service determines that the configuration file of the object extension application displays whether the object function is valid, then it answers the object extension application whether the object function is valid as displayed in the object extension application's configuration file (S502), and ends. Figure 11 The actions shown.
[0116] If the device performance service determines in S501 that the configuration file of the object extension application does not show whether the object function is valid, then it performs the same processing as S481 to S485 in S503 to S507.
[0117] After processing in S506 or S507, the device performance service reflects the response from S506 or S507 in the configuration file of the object extension application (S508), and then ends. Figure 11 The actions shown.
[0118] As explained above, the extended application itself queries the device performance service to determine whether the function used by the extended application is valid (S461). Based on the query from the extended application, the device performance service generates information indicating whether the function used by the extended application is valid (S484, S485, S506, and S507). Therefore, the image forming apparatus according to this embodiment can generate information indicating whether the function is valid only for the function used by the extended application.
[0119] Any plurality of programs in the above embodiments can be configured into a single program. For example, extension program 18c and extension service program can be configured into a single program.
[0120] The electronic device of the present invention is an image forming apparatus in the above embodiments, but it may also be an electronic device other than an image forming apparatus such as a PC (personal computer).
Claims
1. An electronic device, characterized in that... include: An extended application module is an application module that implements extended functions beyond the standard functions of the electronic device. as well as The device performance service module generates performance information for the electronic device, which is used by the extended application module when utilizing its application functions. The information also indicates whether the application utilization function used by the extended application module is effective. The extended application module writes the application utilization functions it uses to a specific file. The device performance service module generates information indicating whether the application's usage function, written to the file, is effective. If an API corresponding to an application exploit function in the application exploit functions written to the file that is not indicated by the information as valid does not exist, the device performance service module generates information indicating that the application exploit function is invalid. The extended application module uses the application utilization function that is valid as indicated by the information to terminate the utilization of the application utilization function that is invalid as indicated by the information.
2. The electronic device according to claim 1, characterized in that, If an API exists that corresponds to an application utilization function in the application utilization function written to the file but whose validity is not indicated by the information, the device performance service module generates information indicating that the application utilization function is not valid when the API cannot be utilized.
3. The electronic device according to claim 1 or 2, characterized in that, If an API exists that corresponds to an application exploit function in the application exploit function written to the file but whose validity is not indicated by the information, the device performance service module generates information indicating that the application exploit function is valid when the API can be used.
4. An electronic device, characterized in that... include: An extended application module is an application module that implements extended functions beyond the standard functions of the electronic device. as well as The device performance service module generates performance information for the electronic device, which is used by the extended application module when utilizing its application functions. The information also indicates whether the application utilization function used by the extended application module is effective. The extended application module queries the device performance service module to determine whether the application utilization function used by the extended application module itself is effective. The device performance service module generates information indicating whether the application utilization function used by the extended application module is effective based on the query from the extended application module, and replies with this information to the extended application module. If the API corresponding to the application utilization function queried from the extended application module does not exist, the device performance service module generates information indicating that the application utilization function is not valid.
5. The electronic device according to claim 4, characterized in that, If the API corresponding to the application utilization function queried from the extended application module exists, and the API cannot be utilized, the device performance service module generates information indicating that the application utilization function is not effective.
6. The electronic device according to claim 4 or 5, characterized in that, If the API corresponding to the application utilization function queried from the extended application module exists, and the API can be utilized, the device performance service module generates information indicating that the application utilization function is valid.
7. A computer-readable non-transitory storage medium storing a program, characterized in that, An electronic device implements a device performance service by executing the program, which generates performance information of the electronic device when an extended application utilizes a function that is a function used by the extended application. The extended application is an application that implements functions beyond the standard functions of the electronic device. The information also indicates whether the application's functionality utilized by the extended application is effective. The extended application writes the application's functionalities, which it itself utilizes, to a specific file. The device performance service generates information indicating whether the application's utilization function, as written to the file, is effective. If an API corresponding to an application exploit written to the file that is not indicated by the information as valid does not exist, the device performance service generates information indicating that the application exploit is invalid. The extended application utilizes the application's functionality as indicated by the information as valid, and terminates the use of the application's functionality as indicated by the information as invalid.
8. A computer-readable non-transitory storage medium storing a program, characterized in that, An electronic device implements a device performance service by executing the program, which generates performance information of the electronic device when an extended application utilizes a function that is a function used by the extended application. The extended application is an application that implements functions beyond the standard functions of the electronic device. The information also indicates whether the application's functionality utilized by the extended application is effective. The extended application queries the device performance service to determine whether the application's functionality, which it utilizes, is effective. The device performance service generates information indicating whether the application's functionality utilized by the extended application is effective, based on queries from the extended application, and then replies with this information to the extended application. If the API corresponding to the application utilization function queried from the extended application does not exist, the device performance service generates information indicating that the application utilization function is not valid.
Citation Information
Patent Citations
Device, method, and graphical user interface for extending functionality of a host application to another application
US20150347617A1