According to the embodiment, an information processing apparatus includes a communication interface, a memory, and a processor. In a case where the application program in the memory communicates with another application program in the same apparatus, the processor activates the internal communication server process by the management program. In a case where the application program in the memory communicates with another application program in an external apparatus connected by the communication interface, the processor activates the external communication server process by the management program.
Legal claims defining the scope of protection, as filed with the USPTO.
a communication interface that communicates with an external apparatus; a memory that stores an application program and a management program; and a processor that executes the application program using the management program, wherein the processor activates an internal communication server process by the management program in a case where an application program in the memory communicates with another application program in a same apparatus, and activates an external communication server process by the management program in a case where an application program in the memory communicates with another application program in the external apparatus connected through the communication interface. . An information processing apparatus comprising:
claim 1 the processor activates the internal communication server process in a case where a communication type designated by a request for starting a communication service generated in the application program is communication within the same apparatus, and activates the internal communication server process and the external communication server process in a case where a communication type designated by a request for starting the communication service is communication including communication with the external apparatus. . The information processing apparatus according to, wherein
claim 2 the processor performs data communication via the external communication server process and the internal communication server process in a case where the application program communicates with the another application program in the external apparatus. . The information processing apparatus according to, wherein
claim 2 the processor stops the external communication server process in response to a request for stopping the communication service generated by the application program in a case where the application program communicates with the another application program in the external apparatus. . The information processing apparatus according to, wherein
claim 4 the processor stops the internal communication server process in response to a request for stopping the communication service generated by the application program in a case where the application program communicates with the another application program in the same apparatus, and stops the external communication server process and the internal communication server process in response to a request for stopping the communication service generated by the application program in a case where the application program communicates with the another application program in the external apparatus. . The information processing apparatus according to, wherein
claim 4 the processor determines whether communication with the external apparatus is ready to be stopped according to a request for stopping the communication service generated in the application program in a case where the application program communicates with the another application program in the external apparatus, and stops the external communication server process in a case where the communication with the external apparatus is ready to be stopped. . The information processing apparatus according to, wherein
claim 5 the processor determines whether the internal communication server process is ready to be stopped in a case where a request for stopping communication service by the application program is generated, and stops the internal communication server process in a case where the internal communication server process is ready to be stopped. . The information processing apparatus according to, wherein
claim 7 the processor determines whether the internal communication server process is ready to be stopped after the external communication server process is stopped in a case where a request for stopping communication service by the application program is generated, and stops the internal communication server process in a case where the internal communication server process is ready to be stopped. . The information processing apparatus according to, wherein
an image processing unit that processes an image; a communication interface that communicates with an external apparatus; a memory that stores an application program and a management program for executing data processing related to image processing by the image processing unit; and a processor that executes the application program using the management program, wherein the processor activates an internal communication server process by the management program in a case where an application program in the memory communicates with another application program in a same apparatus, and activates an external communication server process by the management program in a case where an application program in the memory communicates with another application program in the external apparatus connected through the communication interface. . An image processing apparatus comprising:
claim 9 the processor activates the internal communication server process in a case where a communication type designated by a request for starting a communication service generated in the application program is communication within the same apparatus, and activates the internal communication server process and the external communication server process in a case where a communication type designated by a request for starting the communication service is communication including communication with the external apparatus. . The image processing apparatus according to, wherein
claim 10 the processor performs data communication via the external communication server process and the internal communication server process in a case where the application program communicates with the another application program in the external apparatus. . The image processing apparatus according to, wherein
claim 10 the processor stops the external communication server process in response to a request for stopping the communication service generated by the application program in a case where the application program communicates with the another application program in the external apparatus. . The image processing apparatus according to, wherein
claim 12 the processor stops the internal communication server process in response to a request for stopping the communication service generated by the application program in a case where the application program communicates with the another application program in the same apparatus, and stops the external communication server process and the internal communication server process in response to a request for stopping the communication service generated by the application program in a case where the application program communicates with the another application program in the external apparatus. . The image processing apparatus according to, wherein
claim 12 the processor determines whether communication with the external apparatus is ready to be stopped according to a request for stopping the communication service generated in the application program in a case where the application program communicates with the another application program in the external apparatus, and stops the external communication server process in a case where the communication with the external apparatus is ready to be stopped. . The image processing apparatus according to, wherein
claim 13 the processor determines whether the internal communication server process is ready to be stopped in a case where a request for stopping communication service by the application program is generated, and stops the internal communication server process in a case where the internal communication server process is ready to be stopped. . The image processing apparatus according to, wherein
claim 15 the processor determines whether the internal communication server process is ready to be stopped after the external communication server process is stopped in a case where a request for stopping communication service by the application program is generated, and stops the internal communication server process in a case where the internal communication server process is ready to be stopped. . The image processing apparatus according to, wherein
claim 9 the image processing unit is an image forming unit. . The image processing apparatus according to, wherein
claim 9 the image processing unit is a scanner. . The image processing apparatus according to, wherein
activate an internal communication server process in a case where an application program communicates with another application program in a same apparatus, and activate an external communication server process in a case where an application program communicates with another application program in an external apparatus connected through the communication interface. . A non-transitory storage medium storing a program for causing a processor of an information processing apparatus including a communication interface to:
claim 19 the program causes the processor to: activate the internal communication server process in a case where a communication type designated by a request for starting a communication service generated in the application program is communication within the same apparatus, and activate the internal communication server process and the external communication server process in a case where a communication type designated by a request for starting the communication service is communication including communication with the external apparatus. . The non-transitory storage medium storing the program according to, wherein
Complete technical specification and implementation details from the patent document.
This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2025-062578, filed Apr. 4, 2025, the entire contents of which are incorporated herein by reference.
Embodiments of the present invention relate to an information processing apparatus, an image processing apparatus, and a storage medium.
In the related art, an image forming apparatus such as a digital multifunction peripheral having various functions is known as an image forming apparatus (image processing apparatus) placed in a work place. An image forming apparatus such as a digital multifunction peripheral executes various functions by an application program (hereinafter, also referred to as a “built-in application”) installed in a storage unit. Some built-in applications have a function of communicating with another built-in application (hereinafter referred to as an “inter-application communication function”). The plurality of built-in applications can execute a series of functions in cooperation with each other by the inter-application communication function.
However, the inter-application communication function by the built-in application used in the conventional image forming apparatus has a problem that fine publishing control cannot be performed. For example, a built-in application used in a conventional image forming apparatus always opens a network port for external access so as to immediately respond to a communication request. Keeping the network port open to the outside at all times has a problem that the possibility of being attacked from the outside increases and the security risk increases.
According to the embodiment, an information processing apparatus includes a communication interface, a memory, and a processor. In a case where the application program in the memory communicates with another application program in the same apparatus, the processor activates the internal communication server process by the management program. In a case where the application program in the memory communicates with another application program in the external apparatus connected by the communication interface, the processor activates the external communication server process by the management program.
Hereinafter, embodiments will be described with reference to the drawings.
1 11 First, an image forming system (information processing system)including an image forming apparatus (information processing apparatus and image processing apparatus)according to the embodiment will be described.
1 FIG. 1 11 is a diagram schematically illustrating a configuration example of an image forming systemincluding an image forming apparatusaccording to the embodiment.
1 11 12 13 15 18 19 The image forming systemincludes an image forming apparatus (MFP_A), an image forming apparatus (MFP_B), a local area network (LAN), a personal computer (PC), a network, a cloud server, and the like.
11 12 15 13 13 11 12 15 19 18 The image forming apparatus, the image forming apparatus, and the personal computerare connected to the LANand can communicate with each other via the LAN. The image forming apparatus, the image forming apparatus, and the personal computercan also communicate with the cloud servervia the network.
11 12 11 12 The image forming apparatusand the image forming apparatusare, for example, multifunction peripherals (MFP) having various functions. Hereinafter, a multifunction peripheral as an image forming apparatus may be abbreviated as an MFP. The multifunction peripherals (MFP) as the image forming apparatusesandhave various functions using images.
11 12 For example, the image forming apparatusesandhave a print function, a scan function, a copy function, a facsimile (FAX) function, and the like as basic functions including image processing. The print function is a function of printing an image on paper. The scan function is a function of reading an image from a document or the like. The copy function is, for example, a function of printing an image read from a document or the like using the scan function on paper using the print function. The facsimile function is, for example, a function of transmitting an image read from a document or the like using a scan function to the outside or printing an image received from the outside on paper using a print function.
11 12 11 12 11 11 11 12 12 11 Furthermore, in the embodiment, each of the image forming apparatusesandis an example of an information processing apparatus (image processing apparatus). Each of the image forming apparatusesandas an information processing apparatus includes a processor that executes a program, a memory that stores the program, and a communication interface that transmits and receives data. In the embodiment, an application program (application) that cooperates with another application program (application) is installed in the image forming apparatusvia a server process for communication. The image forming apparatusis also referred to as an MFP_A. An application (an application of a different apparatus) cooperating with the application of the image forming apparatusis installed in the image forming apparatus. The image forming apparatusis an example of an apparatus different from the image forming apparatus, and is also referred to as an MFP_B.
11 12 11 12 16 15 11 12 The application installed in the image forming apparatusesandis a program for causing the image forming apparatus to execute processing for achieving a specific work or purpose. For example, the application is a program that causes the image forming apparatusesandto execute a scan function, a print function, or a data processing function related to an image processing function such as the print function. In addition, the application is installed, for example, by a browserof the PCcommunicatively connected to the image forming apparatusesand.
1 FIG. 20 30 41 11 51 12 30 41 51 In the configuration example illustrated in, programs such as a management program (hereinafter, a management framework), an application program A (hereinafter, a built-in application A), and an application program B (hereinafter, the built-in application B)are installed in the image forming apparatus. In addition, an application program C (hereinafter, a built-in application C)is installed in the image forming apparatus (MFP_B). The built-in application Ais an example of an application program that cooperates with the built-in application Band the built-in application C.
20 11 20 21 22 The management frameworkin the image forming apparatusenables application cooperation by an application programming interface (API). For example, the management frameworkprovides, as server functions, an internal communication server process (hereinafter, it is also simply referred to as an internal communication server)and an external communication server process (hereinafter, it is also simply referred to as an external communication server)in response to a request from an application.
21 11 21 11 21 11 The internal communication serveris a server function of performing data communication between applications in the same image forming apparatus. The internal communication serverrealizes communication in the image forming apparatuswithout publishing the network port to the outside. Since the internal communication servertransmits and receives data in one image forming apparatuswithout being published to the outside, a possibility that data in communication leaks to the outside is suppressed.
22 11 12 22 11 22 13 The external communication serveris a server function of performing data communication between an application in the image forming apparatusand an application in another image forming apparatusthat is an external apparatus. The external communication serverpublishes the network port to the outside, thereby realizing communication between applications of different image forming apparatuses. The external communication servercan also communicate with applications of a plurality of different image forming apparatuses connected by the LANthrough a network port published to the outside.
30 11 31 32 31 30 311 32 321 The built-in application Ain the image forming apparatusincludes a Home applicationand a BG application. The Home applicationfunctions as a client side application (client application) in the built-in application Aby the communication client API. The BG applicationfunctions as a server side application (server application) that communicates with the client side application by the communication server API.
32 30 11 21 20 32 30 11 21 32 31 41 11 21 1 FIG. The BG applicationof the built-in application Ain the image forming apparatusactivates the internal communication serverprovided by the management framework. The BG applicationof the built-in application Aperforms data communication between applications in the image forming apparatususing the internal communication server. For example, in the configuration example illustrated in, the BG applicationof the built-in application A communicates with the Home applicationor the built-in application Bin the same image forming apparatus (MFP_A)via the internal communication server.
41 11 11 30 11 41 411 41 30 21 32 The built-in application Bin the image forming apparatusis an example of a built-in application, in the same image forming apparatus, in cooperation with the built-in application Ain the image forming apparatus. The built-in application Bfunctions as a client application by the communication client API. The built-in application Bcommunicates with the built-in application Aby the internal communication serveractivated by the BG application.
32 30 11 22 20 32 30 22 32 30 51 12 22 21 1 FIG. Furthermore, the BG applicationof the built-in application Ain the image forming apparatusactivates the external communication serverprovided by the management framework. The BG applicationof the built-in application Aperforms data communication with the built-in application of a different image forming apparatus using the external communication server. In the configuration example illustrated in, the BG applicationof the built-in application Acommunicates with the built-in application Cin another image forming apparatus (MFP_B)as an external apparatus via the external communication serverand the internal communication server.
51 12 11 11 12 51 511 51 12 30 11 22 21 32 The built-in application Cin the image forming apparatusis an example of an application in the image forming apparatusdifferent from the image forming apparatus, the application being in cooperation with the built-in application A in the image forming apparatus. The built-in application Cfunctions as a client application by the communication client API. The built-in application Cof the image forming apparatuscommunicates with the built-in application Aof the image forming apparatusby the external communication serverand the internal communication serveractivated by the BG application.
15 15 11 11 16 15 15 19 18 16 15 11 12 16 The personal computeris an example of a user terminal apparatus operated by an operator. The personal computertransmits a print request such as image printing to the image forming apparatusand receives image data processed by the image forming apparatus, for example. In addition, the browserfor accessing the Web is installed in the personal computer. The personal computeraccesses the cloud servervia the networkby the browser. The personal computerhas a function of installing an application in the image forming apparatusesandby the browser.
19 11 12 15 18 19 1 11 12 19 11 12 19 11 12 The cloud serveris a server apparatus that communicates with the image forming apparatusesandor the PCvia the wide-area network. The cloud serverprovides various services such as data storage to the image forming systemincluding the image forming apparatusesand. For example, the cloud serverstores image data in response to a request from the image forming apparatusesand. In addition, the cloud serverexecutes data processing such as an image process on image data and a file data format conversion process in response to a request from the image forming apparatusesand.
11 Next, a configuration example of a control system in the image forming apparatusas the information processing apparatus according to the embodiment will be described.
2 FIG. 11 is a block diagram schematically illustrating a configuration example of a control system in the image forming apparatusaccording to the embodiment.
11 101 102 103 104 105 106 107 108 109 110 111 112 113 The image forming apparatusincludes a processor, a read only memory (ROM), a random access memory (RAM), a local storage device, an operation key, a touch panel, a display unit, a scanner, an image forming unit, a facsimile (FAX), a communication interface (I/F), a device interface (I/F), a system bus, and the like.
101 101 102 104 101 101 The processoris an arithmetic element that executes arithmetic processing. The processorexecutes a program stored in a memory such as the ROMor the local storage device. The processoris, for example, a central processing unit (CPU). Furthermore, the processormay include a graphical processing unit (GPU) or the like.
102 102 11 102 102 The ROMis a nonvolatile memory constituting part of the main memory. The ROMnon-temporarily stores a program such as an activation program necessary for activation of the image forming apparatus. The ROMmay include, for example, an erasable programmable read only memory (EPROM). The ROMmay store various setting data at the time of activation in addition to the activation program.
103 103 101 103 101 The RAMis a volatile memory constituting part of the main memory. The RAMtemporarily stores a program necessary for processing of the processorand data necessary for executing the program. The RAMfunctions as, for example, a working memory of the processor.
104 104 101 104 The local storage deviceis, for example, a rewritable nonvolatile memory including a hard disk drive (HDD), a solid state drive (SSD), or the like. The local storage devicenon-temporarily stores a program executed by the processorand data necessary for executing the program. The program stored in the local storage devicewill be described later.
105 105 The operation keyis an input device that receives an instruction from a user. The operation keyincludes, for example, a plurality of push keys allocated to each function, and receives an instruction from the user via an operation of the push key.
106 106 The touch panelis an input device that receives an instruction from a user. The touch panelreceives an instruction from the user by detecting a touch operation with a finger or a touch pen.
107 107 107 The display unitis an output device that presents information to the user. Specifically, the display unitis a display device that displays information to be presented to the user. The display unitincludes a liquid crystal display, an organic EL display, or the like.
107 106 106 107 The display unitand the touch panelmay be configured as a combined input/output device. For example, the touch panelis provided to overlap the display screen of the display unit.
108 108 108 The scanneris an example of an image processing unit that is a device that executes a scan function. The scanneris a device that reads an image from a document. The scannerincludes, for example, document glass and a reading module. The reading module reads an image from a document placed on a document glass or a document transmitted to the document glass by a document feeder. The reading module irradiates a document to be read with illumination light, receives the reflected light by the image sensor, and converts the reflected light into a digital signal. Accordingly, the reading module reads the image from the document.
109 109 109 108 15 110 112 11 The image forming unitis an example of an image processing unit that is a device that executes a print function. The image forming unitis a printer that forms an image on a paper (medium). Based on the supplied print data, the image forming unitprints an image based on the image data included in the print data on the paper conveyed by the paper conveyance apparatus. For example, in a case where the copy function is executed, the print data includes image data read from the document by the scanner. Furthermore, the print data may include, for example, image data transmitted from an external apparatus (for example, the PC). The print data may include image data received by the facsimile. The print data may include image data stored in an external device connected to the device interfaceof the image forming apparatus.
109 109 109 The image forming unitmay form an image by any image forming method. For example, the image forming unitthat forms an image by electrophotography forms an image on paper by transferring a toner image formed according to image data to the paper. Furthermore, in a case of forming an image by the inkjet head method, the image forming unitforms an image on paper by ejecting ink to the paper according to image data.
110 110 110 108 The facsimileis a device that executes a facsimile function of transmitting and receiving data (FAX data) via a telephone line. The facsimileis also an example of an image processing unit that processes an image. The facsimiletransmits FAX data including image data read by the scannerand receives image data from an external apparatus or a cloud, for example.
111 111 12 15 13 111 13 18 19 13 111 111 108 109 The communication interfaceis a communication unit for communicating with an external apparatus. The communication interfacecommunicates with the image forming apparatusor the PCas an external apparatus via the LAN, for example. Furthermore, the communication interfaceincludes an interface that communicates with the LAN, the network, and the cloud server. The LANto which the communication interfaceis connected may be configured by wire or wirelessly. For example, the communication interfacetransmits image data read by the scannerto an external apparatus or a cloud, and receives image data to be printed by the image forming unitfrom the external apparatus or the cloud.
112 112 112 The device interfaceis an interface that connects a device such as an external device that stores data. For example, the device interfaceincludes a Universal Serial Bus (USB). The external device connected to the device interfaceis assumed to be a USB memory, a digital camera, a smartphone, or the like.
113 101 102 103 104 105 106 107 108 109 110 111 112 101 113 The system busis a communication path that connects the processor, the ROM, the RAM, the local storage device, the operation key, the touch panel, the display unit, the scanner, the image forming unit, the facsimile, the communication interface, the device interface, and the like. For example, the processoris connected to each unit via the system busto transmit and receives data, a control signal, a command, a response, and the like.
101 102 103 104 111 101 102 101 103 101 The processor, the ROM, the RAM, the local storage device, and the communication interfaceconstitute a computer that functions as an information processing apparatus (image processing apparatus) that executes a program. For example, upon activating the computer, the processorexecutes an activation program in the ROMto activate an operating system (OS). The processorsets a program area and a data area in the RAMunder the control of the OS. For example, the processorexecutes various processing functions by the application by executing various applications using the API provided by the management program.
2 FIG. 104 131 137 In the configuration example illustrated in, the local storage deviceincludes storage areastothat stores each program and data used in the program.
131 131 The storage areais an area for storing an operating system (OS). The operating system stored in the storage areais system software, and provides an operation basis of an application, that is, an application program.
132 132 11 132 The storage areais a storage area for storing the MFP control program. The MFP control program stored in the storage areais a program that executes various functions of the image forming apparatus. The storage areastores various files, setting information, and the like necessary for executing the program.
133 20 133 The storage areais a storage area for storing the management frameworkas a management program. The management framework stored in the storage arearealizes data communication between applications by providing an API.
134 135 136 41 137 The storage areais a storage area for storing the built-in application A. The storage areais a storage area for storing information such as various files and setting information necessary for execution of the built-in application A as a storage for the built-in application A. The storage areais a storage area for storing the built-in application B. The storage areais a storage area for storing information such as various files and setting information necessary for executing the built-in application B as a storage for the built-in application B.
1 FIG. 30 31 32 32 21 22 20 32 22 Here, as illustrated in, the built-in application Aincludes the Home applicationand the background (BG) application (hereinafter, referred to as a BG application). The BG applicationactivates the internal communication serveror the external communication serverprovided by the management framework. The BG applicationperforms communication by the internal communication server and the external communication serverthat are made resident until the service stop is instructed.
30 31 41 11 32 21 32 31 41 21 For example, in a case where the built-in application Acooperates with an application (the Home applicationor the built-in application B) in the same image forming apparatus, the BG applicationactivates the internal communication server. In this case, the BG applicationand the Home applicationor the built-in application Bcommunicate with each other via the internal communication server.
30 51 12 32 21 22 32 51 21 22 In a case where the built-in application Acooperates with the built-in application Cof another image forming apparatus, the BG applicationactivates the internal communication serverand the external communication server. In this case, the BG applicationand the built-in application Ccommunicate with each other via the internal communication serverand the external communication server.
104 11 16 15 11 11 18 112 11 The program installed in the local storage devicemay be provided to the image forming apparatusthrough any path. For example, the program may be provided from the browserof the PCto the image forming apparatus. Furthermore, the program may be provided to the image forming apparatusby being downloaded from a server on the network. In addition, the program may be provided from a storage device connected to the device interfaceto the image forming apparatus.
11 Next, a communication (inter-application communication) function with another application by the built-in application in the image forming apparatusaccording to the embodiment will be described.
1 2 FIGS.and 30 11 32 32 20 11 32 21 32 21 In the configuration example illustrated in, the built-in application Aof the image forming apparatushas an inter-application communication function in which the BG applicationcommunicates with another application. Inter-application communication by the BG applicationis realized by a server process by the management framework. In a case of communicating with an application in the same image forming apparatus, the BG applicationof the built-in application A activates the internal communication server. In addition, the BG applicationof the built-in application A activates the internal communication serverand the external communication server in a case where communication is performed between applications of different image forming apparatuses.
11 104 11 The image forming apparatusaccording to the embodiment has an inter-application communication setting table for setting which server process is to be activated according to the communication content (communication type) requested by the inter-application communication. The inter-application communication setting table is stored, for example, in the local storage deviceof the image forming apparatus.
3 FIG. 104 11 is a diagram illustrating a configuration example of a setting table of inter-application communication stored in the local storage deviceof the image forming apparatusaccording to the embodiment.
3 FIG. 3 FIG. The setting table illustrated instores, for each communication type, information indicating an image forming apparatus (MFP) in which an application is disposed, identification information (AppID) of the application, an inter-application communication server, an access publishing state, and the like. The setting table illustrated inexemplifies setting information related to three communication types.
1 FIG. 31 32 30 31 32 30 The first communication type (type 1) is a communication mode between built-in applications installed in the same image forming apparatus and having the same AppID. For example, in the configuration example illustrated in, the first communication type is communication between the Home applicationand the background (BG) applicationconstituting the built-in application A. Since the Home applicationand the BG applicationconstitute the same built-in application A, they have the same AppID.
31 105 106 11 31 31 311 32 11 32 11 32 321 The Home applicationis a built-in application instructed to be executed by the operation keyor the touch panelof the image forming apparatus. The execution content of the Home applicationis operated by the user. The Home applicationexecutes client side processing of communication using the communication client API. Furthermore, the BG applicationis in a form of a built-in application that is not operated by a user's instruction in the image forming apparatus. The BG applicationis resident as a process in the image forming apparatus. The BG applicationexecutes processing as a server in response to a request from the client (client side application) using the communication server API.
21 21 3 FIG. In the first communication type (type 1), communication between built-in applications in the same image forming apparatus is performed, and therefore the internal communication serveris used as illustrated in. The internal communication serverdoes not publish the network port to the outside, and the access from the client is limited to localhost (the same image forming apparatus).
1 FIG. 32 30 41 30 41 32 41 30 The second communication type (type 2) is a communication mode between built-in applications installed in the same image forming apparatus and having different ApIDs. For example, in the configuration example illustrated in, the second communication type is a communication mode between the BG applicationof the built-in application Aand the built-in application B. Since the built-in application Aand the built-in application Bare different built-in applications, the BG applicationand the built-in application Bof the built-in application Ahave different AppIDs.
41 32 41 411 32 30 321 In the inter-application communication between the built-in application Band the BG application, the built-in application Bexecutes client side processing of communication using the communication client API. On the other hand, the BG applicationof the built-in application Auses the communication server APIto execute processing as a server in response to a request from the client.
11 21 21 3 FIG. Since the second communication type (type 2) is communication between built-in applications in the same image forming apparatus (MFP_A), the internal communication serveris used as illustrated in. The internal communication serverdoes not publish the network port to the outside and is set such that the access from the client is limited to localhost (the same image forming apparatus).
1 FIG. 32 11 51 12 32 51 11 12 The third communication type (type 3) is a communication mode between different built-in applications installed in different image forming apparatuses. For example, in the configuration example illustrated in, the third communication type is communication between the BG applicationof the image forming apparatusand the built-in application Cof the image forming apparatus. That is, the communication between the BG applicationand the built-in application Cis built-in inter-application communication across different apparatuses (the image forming apparatus (MFP_A)and the image forming apparatus (MFP_B).
51 12 511 32 30 11 321 22 32 511 51 22 The built-in application Cinstalled in the image forming apparatusexecutes client side processing of communication using the communication client API. The BG applicationof the built-in application Ainstalled in the image forming apparatususes the communication server APIto execute processing as a server in response to a request from the client. In the third communication type (type 3), communication between built-in applications of different apparatuses is performed, and therefore the external communication serveris used. In the third communication type, the BG applicationis accessed from the communication client APIof the built-in application Cin a different apparatus. Therefore, the external communication serverpublishes the network port to the outside.
11 11 Next, a specific example of an application of inter-application communication (type 1 or type 2) in which the image forming apparatusaccording to the embodiment cooperates in the same image forming apparatuswill be described.
4 FIG. is a diagram for describing an example of an application that communicates between built-in applications in the same image forming apparatus (MFP).
4 FIG. 108 108 108 108 The application illustrated inprovides an image processing function including processing of reading an image by the scannerand processing of executing the OCR process on image data read by the scanner. The image reading processing by the scanneris executed by a Home application (HomeApp) which is a built-in application (client side application) activated according to a user's instruction. The OCR process on an image read by scanneris executed by a background (BG) application (BG App) which is a resident built-in application (server side application). The Home application, which is the client side application, and the BG application, which is the server side application, communicate with each other in the same image forming apparatus.
21 108 108 21 21 For example, the BG application, which is a server side application, activates the internal communication serverin a case where the image forming apparatus is activated (or according to an instruction to enable the function). The Home application, which is a client side application, executes image reading processing by the scannerin response to a user's instruction. The Home application transmits a request for executing the OCR process on the scanned image read by the scannerto the BG application, which is a server side application, by the internal communication server. The BG application receives request for executing an OCR process from the Home application in the background by the internal communication server, and executes the OCR process on the scanned image.
As a result, the BG application, which is the server side application, can execute the OCR processing in the background. As a specific example, in a case where the scanned image is image data of a specific format, the BG application can set a result of OCR for the image data to text data of another specific format.
11 Next, a flow of communication (inter-application communication) between a plurality of applications by the image forming apparatusaccording to the embodiment will be described.
11 11 First, a flow of inter-application communication (type 1 or 2 inter-application communication) in which the image forming apparatusaccording to the embodiment communicates between applications in the same image forming apparatuswill be described.
5 6 FIGS.and 11 are sequence diagrams illustrating an example of inter-application communication in which communication is performed between built-in applications in the same image forming apparatus (MFP).
1 FIG. 11 31 32 32 41 32 30 11 41 11 In the configuration example illustrated in, the inter-application communication in the same image forming apparatusincludes communication (type 1) between the Home applicationof the built-in application A and the BG application, or communication (type 2) between the BG applicationand the built-in application B. Here, a case where the BG applicationof the built-in application Aof the image forming apparatusperforms inter-application communication with the built-in application Bof the image forming apparatuswill be assumed.
32 30 101 11 32 11 101 32 30 In a case of activating the communication service by the BG applicationof the built-in application A, the processorof the image forming apparatusactivates the BG applicationas the server side application. For example, in a case where the main power of the image forming apparatusis turned on, the processorstarts the communication service by the BG applicationof the built-in application A.
32 101 321 11 321 32 11 321 32 321 32 20 12 The BG applicationexecuted by the processorcalls a “server service start API” of the communication server APIas a server service start request to start the communication service at the time of activation (ACT). The communication server APIof BG applicationdesignates the communication type as the input parameter in the server service start request. Here, inter-application communication is performed in the same image forming apparatus. Therefore, the communication server APIof the BG applicationsets a value indicating the “same apparatus” as the communication type in the input parameter in the server service start request. The communication server APIof the BG applicationnotifies the management frameworkof a server service start request whose communication type is the “same apparatus” (ACT).
20 101 21 13 21 21 The management frameworkexecuted by the processorprovides a server side communication framework. The server side communication framework activates the internal communication server process (internal communication server)by the server service start request (API call) as a trigger (ACT). The server side communication framework sets the internal communication serverto be private so as not to accept an access from the outside. That is, the internal communication serveris set so that the network port refuses access from an external IP address and permits access only from the inside (localhost).
21 32 321 14 15 Upon activating the internal communication server, the server side communication framework notifies the BG applicationof a notification indicating the start of the server service via the communication server API(ACT-).
11 15 21 11 11 21 11 By the processing of ACTto, the internal communication serverfor performing inter-application communication with the built-in application in the same image forming apparatuscan use the built-in application of the image forming apparatus. The internal communication serveris not published to the outside and does not accept an access from an external apparatus. Therefore, inter-application communication is enabled in the image forming apparatuswithout data leakage to the outside.
411 41 11 16 Next, generation of the communication client APIby the built-in application Bserving as a client side application in the image forming apparatuswill be described (ACT).
32 101 11 41 11 105 106 41 101 11 41 32 41 After the communication server by the BG applicationis started, the processorof the image forming apparatusreceives an instruction to activate the built-in application Bserving as the client side application. For example, in the image forming apparatus, the user uses the operation keyor the touch panelto receive an instruction to activate the built-in application Bas a client side application. The processorof the image forming apparatusactivates the built-in application Bas a client side application that cooperates with the BG applicationin response to an instruction to activate the built-in application B.
41 101 411 16 41 411 The built-in application Bexecuted by the processorcalls a “generative API” of the communication client APIas a client generation request at the time of activation (ACT). The built-in application Bdesignates the server side application and the server address in a request for generating the communication client API.
411 32 411 11 32 11 For example, the communication client APIdesignates AppID (serverAppID) of the BG application(built-in application A) as the server side application. In addition, the communication client APIdesignates the IP address (serverIPAddress) of the image forming apparatusin which the server side application exists as the address of the server. Here, since the BG applicationexists in the same image forming apparatus, the “localhost” is designated as the address (serverIPAddress) of the server.
411 41 32 Upon the communication client APIis generated, the built-in application Bis communicable as a client side application for the BG applicationthat is a server side application.
41 32 30 17 26 Next, a flow in a case where the built-in application Bas the client side application and the BG applicationof the built-in application Aas the server side application start communication will be described (ACT-).
32 41 101 411 17 411 32 21 18 20 101 12 In a case of communicating with the BG application, the built-in application Bexecuted by the processorcalls “API for opening communication” of the communication client API(ACT). The communication client APIrequests the client side communication framework to communicate with the BG applicationvia the internal communication server(ACT). The client side communication framework is provided by a management frameworkexecuted by the processorof the image forming apparatus.
411 11 21 11 21 11 19 The communication client APIdesignates the inside (localhost) of the same image forming apparatusas the address (serverIPAddress) of the server. Therefore, the client side communication framework determines that it is sufficient to notify the internal communication serverin the same image forming apparatusof a request for opening communication. Based on this determination, the client side communication framework notifies the internal communication serverin the image forming apparatusof a request for opening communication (ACT).
21 41 32 21 41 32 20 32 41 21 Upon receiving the request to open the communication, the internal communication serveropens the communication between the built-in application Bthat is the client side application and the BG applicationof the built-in application A that is the server side application. Upon opening the communication, the internal communication servernotifies the server side communication framework that the communication between the built-in application Band the BG applicationhas been opened (ACT). The server side communication framework notifies the BG application, which is the server side application, that the communication with the built-in application Bhas been opened (ACT).
41 32 41 324 22 32 21 23 Upon receiving the notification that the communication with the built-in application Bhas been opened, the BG applicationrecognizes that the communication with the built-in application Bhas become possible. The BG applicationtransmits a response to the notification that the communication has been opened to the server side communication framework (ACT). The server side communication framework transmits the response from the BG applicationto the internal communication server(ACT).
32 21 41 32 411 24 26 41 32 Upon receiving the response from the BG application, the internal communication servernotifies the built-in application B, which is the client side application, of a response indicating that the communication with the BG applicationhas been opened via the client side communication framework and the communication client API(ACT-). As a result, the built-in application Brecognizes that the communication with the BG applicationis enabled.
41 32 27 36 Next, a flow of data communication between the built-in application Bas the client side application and the BG applicationof the built-in application A as the server side application will be described (ACT-).
32 41 101 411 27 411 41 32 28 411 32 21 29 In a case of transmitting data to the BG application, the built-in application Bexecuted by the processorcalls the “communication request API” of the communication client API(ACT). The communication client APInotifies the client side communication framework of a communication request including communication data from the built-in application Bto the BG application(ACT). The client side communication framework transmits a communication request including communication data from the communication client APIto the BG applicationto the internal communication server(ACT).
41 32 21 30 32 30 31 Upon receiving the communication request from the built-in application Bto the BG application, the internal communication servernotifies the server side communication framework of the notification request (ACT). The server side communication framework transmits a communication request including communication data to the BG applicationof the built-in application A, which is a server side application (ACT).
41 32 21 32 33 Upon receiving the communication request from the built-in application B, the BG applicationof the built-in application A transmits a response indicating that the communication request including the communication data has been received to the internal communication servervia the server side communication framework (ACT-).
32 21 32 34 41 411 35 36 41 32 30 Upon receiving the response from the BG application, the internal communication servertransmits a response indicating that the BG applicationhas received the communication data to the client side communication framework (ACT). The client side communication framework notifies the built-in application B, which is a client side application, of a response to the communication request via the communication client API(ACT-). Through these processes, the built-in application Band the BG applicationof the built-in application Aexecute data communication.
41 32 37 46 Next, a flow of processing in a case where the built-in application Bas the client side application and the BG applicationas the server side application close communication will be described (ACT-).
32 41 411 37 411 32 21 38 39 In a case of ending the communication with the BG application, the built-in application Bcalls “API for closing communication” of the communication client API(ACT). The communication client APItransmits a request for closing the communication with the BG applicationto the internal communication servervia the client side communication framework (ACT-).
21 41 32 30 32 41 21 32 40 41 Upon receiving the request for closing the communication, the internal communication serverends the communication between the built-in application Band the BG applicationof the built-in application A. Upon completion of the communication between the BG applicationand the built-in application B, the internal communication servernotifies the BG application, which is the server side application, of the closed communication via the server side communication framework (ACT-).
41 32 41 41 32 30 21 42 43 Upon receiving the notification that the communication with the built-in application Bis closed, the BG applicationrecognizes that the communication with the built-in application Bis ended. Upon recognizing the end of the communication with the built-in application B, the BG applicationof the built-in application Atransmits a response to the notification of closing the communication to the internal communication servervia the server side communication framework (ACT-).
32 21 32 44 32 41 45 46 41 32 Upon receiving the response from the BG application, the internal communication servertransmits a response indicating that the communication with the BG applicationis closed to the client side communication framework (ACT). The client side communication framework transmits the response from the BG applicationto the built-in application B, which is the client side application, via the communication client API (ACT-). Through the above processing, the communication between the built-in application Band the BG applicationends.
32 47 51 Next, a flow of processing in a case where the BG applicationas a server side application stops a communication service for another application (built-in application B) in the same image forming apparatus will be described (ACT-).
21 32 321 47 321 21 48 21 21 49 In a case of stopping the communication service by the internal communication server, the BG applicationcalls the “communication service stop API” of the communication server API(ACT). The communication server APInotifies the server side communication framework of a request for the end of the internal communication server(ACT). The server side communication framework ends the process of the server service by the internal communication serverin response to a request for the end of the internal communication serverfrom the communication server API (ACT).
21 21 32 Note that the server side communication framework may determine whether the process can be ended according to the state of the internal communication server. For example, the server side communication framework may determine whether the process can be ended depending on whether data communication is being executed. In a case of determining that the process of the internal communication servercannot be ended, the server side communication framework may notify the BG applicationof a response indicating that the process cannot be ended.
21 32 321 50 51 32 21 Upon stopping the internal communication server, the server side communication framework notifies the BG applicationof the process end of the server service via the communication server API(ACT-). Accordingly, the BG applicationrecognizes that the internal communication serveris stopped.
11 11 Next, a specific example of an application of inter-application communication (type 3) in which the image forming apparatusaccording to the embodiment links built-in applications of different image forming apparatuseswill be described.
7 FIG. is a diagram for describing an example of an application having a function of transmitting data to an external apparatus by a server side application that is a built-in application of the image forming apparatus (MFP).
7 FIG. 108 108 108 108 The application illustrated inprovides an image processing function including a process of reading an image by the scannerand a process of storing image data read by the scannerin an external apparatus. The image reading processing by the scanneris executed by a scan application (ScanApp) which is a client side application activated according to a user's instruction. The process of storing the scanned image read by the scannerin an external apparatus (cloud server) is executed by a cloud storage application (CloudStore) which is a resident server side application.
19 108 108 19 For example, the server side application activates an external communication server for uploading data to the cloud server. The client side application executes image reading by the scannerin response to a user's instruction, and supplies a scanned image (scanned file) read by the scannerto the server side application. The server side application uploads the scanned image to a cloud storage such as the cloud serverdesignated in advance by the external communication server. As a result, the scanned image read by the scan application can be stored in the cloud storage.
11 12 11 12 8 9 FIGS.and Next, a flow of inter-application communication (type 3 inter-application communication) in which an application of the image forming apparatusaccording to the embodiment communicates with an application in another image forming apparatuswill be described.are sequence diagrams illustrating an example of inter-application communication performed between an application in the image forming apparatus (MFP)and an application in another image forming apparatus.
32 30 11 51 12 1 FIG. Here, a description will be given assuming that the BG applicationof the built-in application Aof the image forming apparatusillustrated inperforms inter-application communication with the built-in application Cof another image forming apparatus.
12 32 11 111 32 In a case of providing a communication service between applications with the built-in application C of another image forming apparatus, the BG applicationof the image forming apparatuscalls the “server service start API” of the communication server API and requests server service start (ACT). Here, the BG applicationsets a value indicating a “different apparatus” as the communication type indicated by the input parameter in the server service start request.
321 32 112 20 101 11 The communication server APInotifies the server side communication framework of the server service start request in which the “different apparatus” is designated as the communication type by the BG application(ACT). The server side communication framework is provided by a management frameworkexecuted by the processorof the image forming apparatus.
21 22 113 114 21 22 The server side communication framework activates the internal communication server process (internal communication server)and the external communication server process (external communication server)with a server service start request (API call) as a trigger (ACT,). The server side communication framework determines that the communication type is a “different apparatuses” based on the input parameter of the server service start request. The server side communication framework determines to activate the internal communication serverand the external communication serverin a case where the communication type is a “different apparatuses”.
21 21 In a case where the server process of the internal communication serveris activated, the server side communication framework is set so that the network port of the serverfor internal communication rejects access from the external IP address and permits access only from the inside (localhost). Furthermore, in a case where the server process of the external communication server is activated, the server side communication framework is set so that the network port of the external communication server permits access from the external IP address. Furthermore, the external communication server is set to perform an operation (relay communication accessed to the external communication server from the external internet to the internal communication server) as a reverse proxy server.
21 22 32 321 115 116 Upon activating the internal communication serverand the external communication server, the server side communication framework notifies the BG applicationof a notification indicating the start of the server service via the communication server API(ACT,).
111 116 21 22 32 11 12 By the processing of ACTto, the internal communication serverand the external communication serverfor the BG applicationof the image forming apparatusand the application in another image forming apparatusto perform inter-application communication can be used.
511 51 12 117 Next, generation of the communication client APIby the built-in application Cin another image forming apparatusthat is a client side application will be described (ACT).
21 22 12 101 11 51 511 12 51 105 106 51 101 12 51 32 11 After the communication server (the internal communication serverand the external communication server) of the image forming apparatusis started, the processorof the image forming apparatuscauses the built-in application C, which is a client side application, to generate the communication client API. For example, in the image forming apparatus, the user inputs an instruction to activate the built-in application Cusing the operation keyor the touch panelfor activation of the built-in application C. In response to the activation instruction, the processorof the image forming apparatusactivates the built-in application Cas a client side application that cooperates with the BG applicationof the image forming apparatus.
51 101 12 511 117 51 511 32 11 The built-in application Cexecuted by the processorof another image forming apparatuscalls the “generative API” of the communication client APIat the time of activation (ACT). The built-in application Cdesignates the application of the server and the address of the server as a request for generating the communication clientthat communicates with the BG applicationof the image forming apparatus.
511 32 11 511 11 32 32 11 11 Here, the communication client APIdesignates AppID (serverAppID) of the BG applicationof the image forming apparatusas the server side application. In addition, the communication client APIdesignates the IP address (serverIPAddress) of the image forming apparatusin which the BG applicationthat is the server side application exists as the address of the server. Here, the BG applicationof the built-in application A exists in another image forming apparatus. Therefore, the server address (serverIPAddress) designates the actual IP address of the image forming apparatuson the server side.
511 51 12 511 51 32 51 32 511 Through the above processing, the communication client APIis generated in the built-in application Cof the image forming apparatus. In a case where the communication client APIis generated, the built-in application Cis communicable as a client side application for the BG applicationthat is a server side application. The built-in application Creceives start and end of communication with the BG application, which is a server side application, by the communication client API.
41 32 30 118 129 Next, a flow in a case where the built-in application Bas the client side application and the BG applicationof the built-in application Aas the server side application start communication will be described (ACT-).
32 51 511 118 511 32 21 119 20 101 12 In a case of communicating with the BG application, the built-in application Ccalls “API for opening communication” of the communication client API(ACT). The communication client APIrequests the client side communication framework to communicate with the BG applicationvia the internal communication server(ACT). The client side communication framework is provided by a management frameworkexecuted by the processorof the image forming apparatus.
511 11 22 11 22 11 120 In the communication client API, the actual IP address of another image forming apparatusis designated as the address of the server. Therefore, the client side communication framework determines that it is sufficient to notify the external communication serverin the designated image forming apparatusof a request for opening communication. Based on such a determination, the client side communication framework notifies the external communication serverin the image forming apparatusof a request to open the communication (ACT).
22 11 51 11 21 12 121 The external communication serverof the image forming apparatusrelays a request for opening communication from the built-in applicationof another image forming apparatusto the internal communication serverin the same image forming apparatus(ACT).
22 21 11 51 32 12 51 21 51 122 51 32 123 The external communication serverand the internal communication serverof the image forming apparatusopen communication between the built-in application Cand the BG applicationof another image forming apparatusin response to a request for opening communication. Upon opening the communication with the built-in application C, the internal communication servernotifies the server side communication framework that the communication with the built-in application Chas been opened (ACT). Upon receiving the notification that the communication with the built-in application Chas been opened, the server side communication framework notifies the BG application, which is the server side application, that the communication has been opened (ACT).
51 11 32 12 51 32 124 32 21 125 21 11 22 11 32 126 Upon receiving a notification that the communication with the built-in application Cof another image forming apparatushas been opened, the BG applicationof the image forming apparatusrecognizes that the communication with the built-in application Chas become possible. The BG applicationtransmits a response to the notification that the communication has been opened to the server side communication framework (ACT). The server side communication framework transmits the response from the BG applicationto the internal communication server(ACT). The internal communication serverof the image forming apparatusnotifies the external communication serverin the same image forming apparatusof the response from the BG application(ACT).
22 11 32 12 127 12 22 11 511 51 128 129 51 12 32 11 The external communication serverof the image forming apparatustransmits a response indicating that the communication with the BG applicationhas been opened to the communication framework of the image forming apparatuson the client side (ACT). The communication framework of the image forming apparatustransmits the response received from the external communication serverof the image forming apparatusvia the communication client APIto the built-in application C(ACT-). As a result, the built-in application Cof the image forming apparatusrecognizes that the communication with the BG applicationof the image forming apparatusis enabled.
51 32 130 141 32 12 51 11 511 130 Next, a flow of data communication between the built-in application Cas the client side application and the BG applicationas the server side application will be described (ACT-). In a case of transmitting data to the BG applicationof the image forming apparatus, the built-in application Cof the image forming apparatuscalls the “communication request API” of the communication client API(ACT).
51 511 32 11 511 32 131 22 11 32 132 Here, the built-in application Cnotifies the communication client APIof a communication request including communication data to be transmitted to the BG applicationof the image forming apparatus. The communication client APInotifies the client side communication framework of a communication request including communication data to the BG application(ACT). The client side communication framework transmits a communication request including the communication data to the external communication serverof the image forming apparatusin which the BG applicationexists (ACT).
51 11 22 12 21 133 32 22 21 32 134 32 51 22 21 135 Upon receiving the communication request from the built-in application Cof the image forming apparatus, the external communication serverof the image forming apparatusrelays the communication request to the internal communication server(ACT). Upon receiving the communication request to the BG applicationfrom the external communication server, the internal communication servernotifies the server side communication framework of the communication request including the communication data to the BG application(ACT). The server side communication framework notifies the BG applicationof the communication request from the built-in application Creceived by the external communication serverand relayed to the internal communication server(ACT).
32 11 51 12 51 32 136 21 32 137 21 22 32 138 The BG applicationof the image forming apparatusreceives a communication request including communication data from the built-in application Cof another image forming apparatusfrom the server side communication framework. Upon receiving the communication request including the communication data from the built-in application C, the BG applicationnotifies the server side communication framework of a response indicating that the communication request has been received (ACT). The server side communication framework notifies the internal communication serverof the response from the BG application(ACT). The internal communication servernotifies the external communication serverof the response from the BG applicationreceived via the server side communication framework (ACT).
22 11 32 12 139 32 12 11 32 51 511 140 141 51 12 32 11 The external communication serverof the image forming apparatustransmits the response from the BG applicationto the client side communication framework of the image forming apparatus(ACT). Upon receiving the response from the BG applicationof the image forming apparatus, the client side communication framework of the image forming apparatustransmits the response from the BG applicationto the built-in application C, which is the client side application, via the communication client API(ACT-). Through these processes, the built-in application Cof the image forming apparatusand the BG applicationof the image forming apparatusexecute data communication.
51 12 32 11 142 153 Next, a flow of processing in a case where the built-in application Cof the image forming apparatusand the BG applicationof the image forming apparatusclose communication will be described (ACT-).
32 51 12 511 142 511 32 143 32 22 11 144 In a case of ending the communication with the BG application, the built-in application Cof the image forming apparatuscalls the “API for closing communication” of the communication client API(ACT). The communication client APInotifies the client side communication framework of a request for closing the communication with the BG application(ACT). The client side communication framework transmits a request for closing the communication with the BG applicationto the external communication serverof the image forming apparatus(ACT).
22 11 12 22 12 21 145 22 21 11 51 32 12 The external communication serverof the image forming apparatusreceives a request for closing the communication from another image forming apparatus. The external communication serverrelays a request for closing the communication received from another image forming apparatusto the internal communication server(ACT). The external communication serverand the internal communication serverof the image forming apparatusclose the communication between the built-in application Cand the BG applicationof another image forming apparatusin response to the request for closing the communication.
51 21 51 146 51 32 51 147 Upon closing the communication with the built-in application C, the internal communication servernotifies the server side communication framework that the communication with the built-in application Chas been closed (ACT). Upon receiving the notification that the communication with the built-in application Cis closed, the server side communication framework notifies the BG application, which is the server side application, that the communication with the built-in application Cis closed (ACT).
51 32 51 51 32 148 32 21 149 Upon receiving the notification that the communication with the built-in application Cis closed, the BG applicationrecognizes that the communication with the built-in application Cis ended. Upon recognizing the end of the communication with the built-in application C, the BG applicationnotifies the server side communication framework of a response to the notification of closing the communication (ACT). The server side communication framework transmits the response from the BG applicationto the internal communication server(ACT).
21 22 32 150 22 32 12 151 The internal communication servernotifies the external communication serverof the response from the BG application(ACT). The external communication servertransmits a response indicating that the communication with the BG applicationis closed to the client side communication framework of the image forming apparatus(ACT).
22 32 51 511 152 153 32 11 51 12 Upon receiving the response from the external communication server, the client side communication framework transmits a response indicating that the communication with the BG applicationis closed to the built-in application C, which is the client side application, via the communication client API(ACT-). As a result, communication between the BG applicationof the image forming apparatusand the built-in application Cof the image forming apparatusends.
32 154 159 Next, a flow of processing in a case where the BG applicationas a server side application stops a communication service for an application (built-in application B) in another image forming apparatus will be described (ACT-).
21 22 32 321 154 321 155 In a case of stopping the communication service by the internal communication serverand the external communication server, the BG applicationcalls the “communication service stop API” of the communication server API(ACT). The communication server APInotifies the server side communication framework of the presentation of the communication service (ACT).
22 21 321 156 157 22 22 11 21 22 22 21 The server side communication framework ends the server process by the external communication serverand the internal communication serverin response to the communication service stop request from the communication server API(ACT,). For example, the server side communication framework first stops the external communication serverin response to the communication service stop request. In a case where the external communication serverends, the network port published to the outside by the image forming apparatusis closed. The server side communication framework stops the internal communication serverafter stopping the external communication server. As a result, not only the external communication serverbut also the internal communication serveris stopped.
22 21 321 158 321 32 159 32 Upon stopping the external communication serverand the internal communication server, the server side communication framework notifies the communication server APIof the end of the server process (ACT). In response to this, the “communication service stop API” of the communication server APIreturns a response indicating the end of the server process to the BG application (server side application)which is the API call source (ACT). As a result, the BG application, which is a server side application, confirms that the communication service has been presented.
321 32 Note that the server side communication framework may determine whether to stop the server process in response to the communication service stop request. For example, the server side communication framework may not stop the server process in a case where communication between client servers is established. In a case where the server process is not stopped in response to the communication service stop request, the “communication service stop API” of the communication server APImay return an error response to the BG application (server side application)that is the API call source.
130 141 142 153 321 32 Specifically, in a case where the process of ACT-or the process of ACT-is being executed in a case where the “communication service stop API” of the communication server APIis called, the server process may not be stopped. Accordingly, in a case where the server side application (BG application) performs inter-application communication with two or more built-in applications (client side applications) in different image forming apparatuses, the server side communication framework can stop the server process in a state where communication with all the client side applications is disconnected.
22 21 21 22 21 22 Furthermore, the server side communication framework may determine whether to stop the external communication serverand the internal communication server. For example, the server side communication framework may determine whether the internal communication serveris ready to be stopped in a case where the external communication serveris ready to be stopped. As a result, the server side communication framework can maintain only the internal communication serverafter stopping the external communication server.
As described above, according to the image forming apparatus according to the embodiment, it is possible to perform fine publishing control of an inter-application communication service according to an arrangement place of a built-in application that performs inter-application communication. In addition, the image forming apparatus enables network port publishing control by setting the internal communication server and the external communication server according to the communication type of inter-application communication. In addition, the image forming apparatus can minimize a state in which the network port is opened to the outside during service provision according to the use form. As a result, in the image forming apparatus, a possibility that communication or the like in the apparatus is attacked from the outside is reduced, and a security risk can be reduced.
The program executed by the processor of the image forming apparatus as the information processing apparatus according to the present embodiment may be transferred in a state of being stored in the electronic apparatus, or may be transferred in a state of not being stored in the electronic apparatus. In the latter case, the program may be transferred via a network or may be transferred in a state of being stored in a storage medium. The storage medium is a non-transitory tangible medium. The storage medium is a computer-readable medium. The storage medium may be any medium that can store a program such as a CD-ROM or a memory card and can be read by a computer, and its form is not limited.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of invention. Indeed, the novel apparatus and methods described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the apparatus and methods described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 17, 2025
October 8, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.