CN113542425B - Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium - Google Patents

Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium Download PDF

Info

Publication number
CN113542425B
CN113542425B CN202110824885.7A CN202110824885A CN113542425B CN 113542425 B CN113542425 B CN 113542425B CN 202110824885 A CN202110824885 A CN 202110824885A CN 113542425 B CN113542425 B CN 113542425B
Authority
CN
China
Prior art keywords
server
information
server application
processing apparatus
multifunction peripheral
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110824885.7A
Other languages
Chinese (zh)
Other versions
CN113542425A (en
Inventor
中村峻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to CN202110824885.7A priority Critical patent/CN113542425B/en
Publication of CN113542425A publication Critical patent/CN113542425A/en
Application granted granted Critical
Publication of CN113542425B publication Critical patent/CN113542425B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention provides an information processing apparatus and a control method of the information processing apparatus. The information processing apparatus has a client application installed therein, the information processing apparatus including: a communication control unit configured to establish a communication connection via which the client application communicates with a server application; and a determining unit configured to determine whether the server application is installed in the information processing apparatus; wherein the communication control unit controls, in accordance with the determination unit determining that the server application is installed in the information processing apparatus, such that the information processing apparatus notifies the server application of information for causing the server application to release the communication connection established by the communication control unit.

Description

Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium
The present application is a divisional application of an invention patent application having a filing date of 2017, 3, 30, and a filing number of 201710200008.6, and having a name of "information processing apparatus and control method of the information processing apparatus".
Technical Field
The present invention relates to a technique for sharing specific information between a server and a client.
Background
Conventionally, a synchronization system is known that shares specific information between a server and a client. WO 2013/024353 discusses a client (mobile phone) for periodically sending keep-alive packets to a server providing a synchronization service with respect to e-mail, calendar or phone numbers and addresses and for synchronizing communication with the server. If the display state of the client's display changes from displayed to hidden, the client discussed in WO 2013/024353 stops periodically sending packets to the server. In addition, if the display state of the operation screen changes from hidden to displayed, the client discussed in WO 2013/024353 resumes sending keep-alive packets to the server.
In addition, japanese patent application laid-open No. 2010-283618 discusses a synchronization system for sharing setting data of an image forming apparatus between a server and a client. Patent document 2 discusses a configuration in which a single image forming apparatus has both a web server control unit for realizing the function of a server and a web client control unit for realizing the function of a client.
In a system for periodically transmitting a predetermined packet to maintain a communication connection between a server and a client as described in WO 2013/024353, if a single device has both a server function and a client function as described in japanese patent laid-open publication No. 2010-283618, the following problem arises. That is, a device having both the server function and the client function cannot disconnect the communication connection between the server and the client.
For example, if the server does not receive the keep-alive packet at a time when a predetermined time elapses after the server receives the last keep-alive packet from the client, the server disconnects the connection with the client. The server can shift to the power saving state on condition that the connections with all clients as management targets are disconnected.
In addition, if the device satisfies the condition for transition to the power saving state, the server stops sending keep-alive packets to the server and disconnects the connection with the server.
In this case, if the server unit for realizing the server function and the client unit for realizing the client function are constructed as an integrated device, this device operates as follows.
That is, the client unit remains in the standby state until the device including the client unit becomes capable of transitioning to the power saving state. While in the standby state, the client unit continues to periodically send keep-alive packets to the server unit of the device that includes the client unit.
On the other hand, since keep-alive packets are periodically transmitted from the client unit, the server unit cannot disconnect from the client unit and cannot shift the device including the server unit to the power saving state. Since the device including the server unit cannot transition to the power saving state, the client unit continuously transmits the keep-alive packet to the server unit of the device including the client unit.
As described above, the server unit and the client unit continue to remain connected and cannot transition to the power saving state.
Disclosure of Invention
According to an aspect of the present invention, an information processing apparatus includes: a memory storing a set of instructions; and at least one processor executing instructions to determine whether the information processing apparatus is an apparatus that requires, as a transition condition of the apparatus to a power saving state, a server to become capable of transitioning to the power saving state, the server being for communication with the information processing apparatus, and, regarding maintenance of a communication connection between the information processing apparatus and the server, performing different types of control between: one is to determine that the image processing apparatus is an apparatus that requires the server to become capable of transitioning to a power saving state as a transition condition to the power saving state, and the other is to determine that the image processing apparatus is not an apparatus that requires the server to become capable of transitioning to a power saving state as a transition condition to the power saving state.
Other features of the present invention will become apparent from the following description of exemplary embodiments with reference to the accompanying drawings.
Drawings
Fig. 1 is a diagram showing an example of the configuration of an information processing system according to the first exemplary embodiment.
Fig. 2 is a diagram showing an example of the configuration of the multifunction peripheral.
Fig. 3 is a diagram showing a module configuration of the client application.
Fig. 4 is a diagram showing a module configuration of a server application.
Fig. 5 is a flowchart showing a process performed by the client application according to the first exemplary embodiment.
Fig. 6 is a flowchart of a process performed by the server application according to the first exemplary embodiment.
Fig. 7 is a flowchart of a process performed by the client application according to the second exemplary embodiment.
Fig. 8 is a flowchart showing a process performed by the client application according to the third exemplary embodiment.
Fig. 9 is a flowchart showing a process performed by the server application according to the third exemplary embodiment.
Fig. 10 is a flowchart showing a process performed by the server application according to the fourth exemplary embodiment.
Fig. 11 is a diagram showing a module configuration of a client application according to the fifth exemplary embodiment.
Fig. 12 is a flowchart of a process performed by the client application according to the fifth exemplary embodiment.
Detailed Description
Exemplary embodiments for carrying out the present invention will be described below with reference to the accompanying drawings.
Fig. 1 is a diagram showing the construction of a setting value synchronization system according to the first exemplary embodiment. In the example of fig. 1, multifunction peripheral devices 120a, 120b, and 120c are connected to the network 100 as information processing devices. The server 110 exists in the multifunction peripheral 120 a. Hereinafter, each of the multifunction peripherals 120a, 120b, and 120c will be collectively referred to as "multifunction peripheral 120".
In the present exemplary embodiment, "synchronization" refers to a process of, in the case where one of the main data 401 managed by the server 110 and the setting data 311 managed by the multifunction peripheral 120 is updated, causing the updated content of one to be reflected on the other so that the content is updated to a common value. In the present exemplary embodiment, the setting information is transmitted bi-directionally between the server 110 and the multifunction peripheral 120. However, the present invention is also applicable to a system in which setting information is transmitted in only one such direction.
The server 110 manages the main data 401 to manage the setting values of the multifunction peripheral 120. The main data 401 is setting information managed by the server 110. If the main data 401 is updated, the server 110 notifies the multifunction peripheral 120 of the update information via the network 100. This update information is information indicating the updated content of the main data 401. In addition, if update information of the set value is received from the multifunction peripheral 120, the server 110 updates the value of the main data 401 using the received update information. In the present exemplary embodiment, the server 110 functions as a general hypertext transfer protocol (Hypertext Transfer Protocol, HTTP) server, and a keep-alive function (HTTP/1.1) may be used.
The multifunction peripheral 120 is an image forming apparatus for realizing various types of functions such as a copy function and a facsimile function and stores in itself setting data 311 for executing these functions. In addition to the multifunction peripheral 120, an image forming apparatus having only a single function such as a copy function, a facsimile function, or a scanner function may be used.
If the setting data 311 (setting information managed by the multifunction peripheral 120 as a client) is updated, the multifunction peripheral 120 notifies the server 110 of update information (first update information) via the network 100. This update information is information indicating the updated content of the setting data 311. In addition, if the update information (second update information) of the main data 401 is acquired from the server 110, the client multifunction peripheral 120 updates the content of the setting data 311 managed by the multifunction peripheral 120 using the acquired update information.
With the above configuration, the server 110 and the multifunction peripheral 120 perform the setting data synchronization process. In order to perform a notification process for notifying the server 110 of the first update information or an acquisition process for acquiring the second update information, the multifunction peripheral 120 performs the following process to establish a connection with the server 110. Then, using the established connection, the multifunction peripheral 120 notifies the server 110 of the first update information or acquires the second update information from the server 110.
Fig. 2 is a block diagram showing the configuration of the multifunction peripheral 120 according to the present exemplary embodiment. The multifunction peripheral 120 includes a controller unit 200, an operation unit 220, a scanner 230, and a printer 240. The controller unit 200 is connected to the operation unit 220. In addition, the controller unit 200 is connected to a scanner 230 as an image input device and a printer 240 as an image output device.
The controller unit 200 includes a Central Processing Unit (CPU) 202. The CPU 202 executes a boot program stored in a Read Only Memory (ROM) 206 to activate an Operating System (OS). The CPU 202 executes an application program stored in a Hard Disk Drive (HDD) 205 on the OS to execute various types of processing. A Random Access Memory (RAM) 203 is used as a work area of the CPU 202. In addition, the RAM 203 provides a work area, and also provides an image storage area for temporarily storing image data. The HDD 205 stores application programs, image data, and various setting values.
The CPU 202 is connected to an operation unit interface (I/F) 201, a device I/F204, a network I/F207, and an image processing unit 208 via a system bus 210, along with a ROM 206 and a RAM 203. The operation unit I/F201 is an interface with the operation unit 220 including a touch panel. The operation unit I/F201 outputs image data to be displayed on the operation unit 220 to the operation unit 220. In addition, the operation unit I/F201 transmits information input by the user to the CPU 202 through the operation unit 220. The device I/F204 is connected to a scanner 230 and a printer 240. The network I/F207 is connected to the network 100, and inputs information from devices on the network 100 and outputs information to devices on the network 100 via the network 100. The image processing unit 208 performs processing of an image input from the scanner 230, processing of an image to be output to the printer 240, and various processing such as image rotation, image compression, resolution conversion, color space conversion, and gradation conversion.
The ROM 206 or HDD 205 stores the client application 300 and the server application 400. The CPU 202 of the multifunction peripheral 120 executes the client application 300 to realize a function as a client of the server 110. In addition, the CPU 202 of the multifunction peripheral 120 makes the server application 400 effective, and executes the server application 400 to also function as the server 110. The user may make a change as to whether the server application 400 is to be validated.
In the present exemplary embodiment, the server application 400 is made available on the multifunction peripheral 120 a. In addition, the multifunction peripheral 120a also executes the client application 300. The multifunction peripheral 120a may operate as either a server 110 or a client to the server 110.
In the present exemplary embodiment, the multifunction peripherals 120b and 120c execute only the client application 300, and the server application 400 is invalidated on the multifunction peripherals 120b and 120 c. Multifunction peripherals 120b and 120c operate as clients to server 110.
Next, with reference to fig. 3, a description is given of the configuration of a client application 300 for realizing the function of the multifunction peripheral 120 as a client. The client application 300 is held in a storage unit such as the ROM 206 or the HDD 205, and is read and executed by the CPU 202.
Referring to fig. 3, a description is given of the construction of a client application 300 executed by the multifunction peripheral 120.
The setting data management unit 310 manages setting data 311 of the multifunction peripheral 120. The setting data 311 includes various setting values to be used when the multifunction peripheral 120 operates as a client. The setting data 311 includes, for example, address book information and setting values customized for respective users. The setting values of the multifunction peripheral 120 customized for the respective users include, for example, setting values regarding button arrangement on the operation screen and setting values of the display language. The setting data 311 is stored in a storage unit such as the HDD 205, the RAM 203, or the ROM 206.
If the communication control unit 320 acquires the update information of the main data 401 from the server 110, the setting data management unit 310 performs control to reflect the acquired update information on the setting data 311. In addition, if the setting data 311 is updated in the multifunction peripheral 120, the setting data management unit 310 causes the communication control unit 320 to execute processing of reflecting update information representing the update content of the setting data 311 on the main data 401 of the server 110.
The communication control unit 320 controls the network I/F207 and communicates with another device. The communication control unit 320 includes a control unit 321 and a communication processing unit 322. The control unit 321 controls the setting value synchronization process with the server 110. The communication processing unit 322 controls communication processing via the network I/F207. The communication processing unit 322 cooperates with the communication processing unit 422 to perform a process of establishing a communication connection (hereinafter simply referred to as "connection") between the server 110 and the information processing apparatus. For example, the communication control unit 320 may establish or release a connection according to a Transmission Control Protocol (TCP) procedure. However, the present invention is not limited thereto. Hereinafter, the process of establishing a connection will sometimes be referred to as "connecting a connection". The process of disconnecting is sometimes referred to as "disconnecting". In addition, in the present exemplary embodiment, "connection" refers to a virtual communication channel established between the multifunction peripheral 120 and the server 110. Once a connection is established between the multifunction peripheral 120 and the server 110 by performing a predetermined communication procedure, the multifunction peripheral 120 and the server 110 can transmit and receive data to and from each other in subsequent communications by a simple procedure.
The communication control unit 320 controls the setting value synchronization process with the server 110. In addition, the control unit 321 receives update information of the main data 401 acquired from the server 110 through the communication processing unit 322. The control unit 321 requests the setting data management unit 310 to reflect the received update information of the main data 401 on the setting data 311. In addition, the communication control unit 320 performs a process of determining whether the server 110 is in the multifunction peripheral 120 operated by the communication control unit 320. That is, the communication control unit 320 determines whether the multifunction peripheral 120 operated by the communication control unit 320 is a device configured in an integrated manner with the server 110. In the present exemplary embodiment, if the multifunction peripheral 120 is a device configured in an integrated manner with the server 110, the multifunction peripheral 120 determines that the multifunction peripheral 120 is a device that requires the server 110 to become capable of transitioning to the power saving state as a transition condition to the power saving state (first determination). In addition, in the present exemplary embodiment, if the server 110 and the multifunction peripheral 120 are different devices, the multifunction peripheral 120 determines that the multifunction peripheral 120 is not a device that requires the server 110 to become capable of transitioning to the power saving state as a transition condition to the power saving state (second determination). Regarding maintenance of the communication connection between the information processing apparatus and the server 110, the multifunction peripheral 120 performs different types of control between the case where the first determination is made and the case where the second determination is made. An example of the determination processing will be described below with reference to fig. 5.
Next, with reference to fig. 4, a description is given of the construction of a server application 400 for realizing the functions of the server 110. The server application 400 is stored in a storage unit such as the RAM 203, the HDD 205, or the ROM 206, and is executed by the CPU 202. The main data management unit 410 manages main data 401. According to an instruction from the communication control unit 420, the main data management unit 410 reads update information of the main data 401 or updates the main data 401.
The main data management unit 410 performs processing of reflecting the update information received from the client application 300 by the communication control unit 420 on the main data 401. In addition, if the communication control unit 420 receives a request to acquire update information of the main data 401 from the client application 300, the main data management unit 410 performs processing of creating update information of the main data 401 and notifying the update information to the communication control unit 420. The main data 401 managed by the main data management unit 410 is stored in a storage unit such as the HDD 205, RAM 203, or ROM 206.
The communication control unit 420 controls communication via the network I/F207. The communication control unit 420 includes a control unit 421 and a communication processing unit 422. The control unit 421 controls the setting value synchronization process with the client application 300. The communication processing unit 422 controls communication processing via the network I/F207.
If the communication processing unit 422 receives the update information of the setting data 311 from the client application 300, the control unit 421 notifies the main data management unit 410 of the received update information. In addition, if the communication processing unit 422 receives a request to acquire update information of the main data 401 from the client application 300, the control unit 421 acquires the update information of the main data 401 from the main data management unit 410. Then, the control unit 421 instructs the communication processing unit 422 to transmit the acquired update information to the client application 300.
The communication processing unit 422 performs communication processing with the client application 300. The communication processing unit 422 cooperates with the communication processing unit 322 to perform processing of establishing a communication connection between the server 110 and the information processing apparatus. For example, the communication processing unit 422 establishes or releases a connection with the multifunction peripheral 120 according to a predetermined procedure specified by TCP.
According to the present exemplary embodiment, a description is given of a relationship between maintenance of the communication connection between the server 110 and the multifunction peripheral 120, and transition processing of the server 110 and the multifunction peripheral 120 to transition to the power saving state.
If the server 110 does not receive a notification from the multifunction peripheral 120 as a client requesting the server 110 to maintain (maintain) the connection, the server 110 disconnects the connection with the multifunction peripheral 120. The notification that the request server 110 remains connected is a notification that requests the server 110 to perform keep-alive communications described below. In the case where the multifunction peripheral 120 operates as the server 110, the multifunction peripheral 120 determines that the multifunction peripheral 120 can shift to the power saving state under the condition that the connection with all the multifunction peripherals 120 as management targets is disconnected.
In addition, if the condition for the device to shift to the power saving state is satisfied, the multifunction peripheral 120 as the client stops sending the notification requesting the server 110 to remain connected, and releases the connection with the server 110. Examples of the condition of the device transition to the power saving state include a condition that a predetermined process is not performed for a predetermined time in the multifunction peripheral 120. Examples of the predetermined process include a printing process, a scanning process, and a facsimile process. In addition, in the present exemplary embodiment, if the server 110 configured in an integrated manner with the multifunction peripheral 120 maintains the connection with at least one multifunction peripheral 120, it is determined to perform the predetermined process. The at least one multifunction peripheral 120 further includes the multifunction peripheral 120 as a client configured as a device integral with the server 110.
For example, in the case where the server function is not made valid on the multifunction peripheral 120, if a predetermined time elapses without a job being executed or standing by and no operation is received, the multifunction peripheral 120 shifts to the power saving state regardless of whether the connection with the server 110 is always maintained.
In addition, for example, in a case where the multifunction peripheral 120 also operates as the server 110, the multifunction peripheral 120 shifts to the power saving state under the following conditions. That is, if a predetermined time elapses and no operation is received in a state where no job is being executed or is on standby, or if the server 110 does not always remain connected to another multifunction peripheral 120, the multifunction peripheral 120 transitions to the power saving state.
Next, with reference to fig. 5, the operation of the multifunction peripheral 120 as a client is described. The processing shown in fig. 5 is realized by the CPU 202 executing the client application 300 read from the HDD 205 or the ROM 206.
In the case where a predetermined synchronization start condition is satisfied in the multifunction peripheral 120, the flowchart in fig. 5 is started. For example, in the case where the client application 300 requests the server application 400 to acquire the setting information (e.g., update information) of the main data 401, the synchronization start condition is satisfied. In addition, for example, in the case where the setting data 311 is updated in the multifunction peripheral 120, the synchronization start condition is satisfied. The flowchart may be started at any other time for synchronizing the setting values between the multifunction peripheral 120 and the server 110, and the content of the condition is not important.
First, in step S500, the control unit 321 determines whether or not connection with the server 110 is always maintained. In the case where it is determined that the connection with the server 110 is always maintained (yes in step S500), the process proceeds to step S550. On the other hand, in the case where it is determined that the connection with the server 110 is not maintained (no in step S500), the process proceeds to step S510. Although the determination in step S500 may be made according to a connection management method using, for example, a keep-alive mechanism in HTTP, the determination method is not particularly limited.
In step S510, the control unit 321 reads address information of the server 110. This address information is a communication address to be used by the client application 300 to communicate with the server application 400. Address information of the server 110 to which the multifunction peripheral 120 is to be connected is registered in advance in the multifunction peripheral 120 by, for example, an administrator. In the present exemplary embodiment, address information of the server 110 to which the multifunction peripheral 120 is to be connected is managed by the client application 300 as part of the setting data 311.
Next, in step S520, using the address information acquired in step S510, the control unit 321 controls to establish a connection with the server application 400 of the server 110. The control unit 321 controls the communication processing unit 322 to perform processing of establishing a connection with the server application 400.
Next, in step S530, the control unit 321 determines whether the server application 400 is made valid on the same device as the multifunction peripheral 120 that executes the client application 300. Based on the address information of the server 110 acquired in step S510, the control unit 321 performs the determination processing in step S530.
For example, if a predetermined value "local host" is set as address information of the server 110, the control unit 321 determines to validate the server application 400 on the same device as the multifunction peripheral 120. In addition, for example, if a predetermined value such as a local loop address or the like is set as the address information of the server 110, the control unit 321 determines to validate the server application 400 on the same device as the multifunction peripheral 120. For example, "127.0.0.1", ":1" or "OnThisdevice" may be used as the local loop address. On the other hand, if the address information of the server 110 is not a predetermined value, the control unit 321 determines that the server 110 is configured as a device different from the multifunction peripheral 120.
Alternatively, the determination in step S530 may be made by comparing, for example, the Internet Protocol (IP) address of the multifunction peripheral 120 managed by the client application 300 of the multifunction peripheral 120 with the IP address of the server 110 acquired in step S510. If these IP addresses match each other, the control unit 321 determines that the server application 400 is valid on the same device as the multifunction peripheral 120. On the other hand, if the IP addresses do not match each other, the control unit 321 determines that the server application 400 is executed by a device different from the multifunction peripheral 120.
Alternatively, for example, when the multifunction peripheral 120 validates the server function of the server application 400 of the multifunction peripheral 120 itself, the multifunction peripheral 120 may store information indicating that the server function is valid (e.g., the server function valid flag is on) in a predetermined storage area. The control unit 321 may make the determination in step S530 by determining whether information indicating that the server function of the multifunction peripheral 120 operated by the control unit 321 is valid is stored in a predetermined storage area.
In the case where it is determined in step S530 that the server 110 is configured as the same device as the multifunction peripheral 120 (yes in step S530), the process proceeds to step S540. That is, the process proceeds to step S540 according to the fact that the determination result indicates that the server application 400 is valid on the same device as the multifunction peripheral 120. In addition, according to the fact that the determination result in step S530 indicates that the server 110 is configured as a device different from the multifunction peripheral 120 (no in step S530), the process proceeds to step S550.
In the present exemplary embodiment, in the case where the flow in fig. 5 is performed as the processing of the multifunction peripheral 120a in which the function of the server 110 is valid, it is determined in step S530 that the server 110 is configured as the same device as the multifunction peripheral 120. On the other hand, in the case where the flow in fig. 5 is performed as the processing of the multifunction peripheral 120b or 120c in which the function of the server 110 is invalid, it is determined in step S530 that the server 110 is configured as a device different from the multifunction peripheral 120. The same applies to the case where the multifunction peripheral 120b or 120c does not have the function of the server 110 (server application 400).
In step S540, the control unit 321 controls the communication processing unit 322 to transmit a synchronization request to the server application 400. The synchronization request transmitted in step S540 includes information indicating that the connection with the server application 400 will be released after the synchronization communication is ended.
This synchronized communication includes the following communication processes: a request to acquire update information representing the update contents of the main data 401 is transmitted to the server application 400, and in response to the request, the update information is acquired from the server application 400. In addition, this synchronous communication includes the following communication processing: update information representing the update contents of the setting data 311 managed by the client application 300 is transmitted to the server application 400.
The information indicating that the Connection to the server application 400 is to be released after the end of the synchronization communication is, for example, "close", which is a value in a "Connection" field in a request header of a packet for performing HTTP communication. Accordingly, the server 110 may be notified of the information to disconnect the server 110 together with the synchronization request. Hereinafter, the communication of connection release with the server application 400 after the synchronization communication is ended is referred to as "non-keep-alive communication".
As described above, in accordance with a determination that the multifunction peripheral 120 is a device configured in an integrated manner with the server 110, then in step S540, the control unit 321 notifies the server 110 of information that causes the server 110 to be disconnected. The process of step S540 is performed so that the server 110 can be caused to release the connection established between the server 110 and the multifunction peripheral 120. If the connection with all the multifunction peripherals 120 is released, the server 110 becomes able to transition to the power saving state. As described above, at least one or more conditions required to become able to transition to the power saving state are satisfied.
Also in step S550, the control unit 321 controls the communication processing unit 322 to transmit a synchronization request to the server application 400. However, the synchronization request transmitted in step S550 does not include information indicating that the connection with the server application 400 will be released after the synchronization communication is ended. The synchronization request transmitted in step S550 may include information indicating that the communication connection between the client application 300 and the server application 400 is to be maintained for a predetermined time. For example, the control unit 321 may designate "keep-alive" as a value in a "Connection" column in a request header for HTTP communication, and notify the server 110 of the synchronization request. Thus, information for keeping the server 110 connected may be sent to the server 110 along with the synchronization request. Hereinafter, communication that maintains a connection with the server application 400 even if the synchronization communication ends will be referred to as "keep-alive communication".
As described above, according to determining that the multifunction peripheral 120 is a device different from the server 110, then in step S550, the control unit 321 controls the multifunction peripheral 120 to notify the server 110 of information for causing the server 110 to maintain the established connection.
In the processing of steps S540 and S550, the server application 400 may only need to determine whether to maintain the connection with the server application 400 after the end of the synchronization communication. For example, in step S550, information indicating that the communication connection with the server application 400 is to be maintained for a predetermined time may be included, and in step S540, information for disconnecting the server 110 from the server application 400 may not be transmitted.
In step S560, the control unit 321 receives a response to the synchronization request via the communication processing unit 322. The received information is, for example, a response indicating update information transmitted from the client application 300 to the server application 400 is appropriately received by the server application 400. Alternatively, the received information is update information of the main data 401 as a response to a request for acquiring update information transmitted from the client application 300.
Next, with reference to fig. 6, the operation of the multifunction peripheral 120 as the server 110 is described. The processing described in fig. 6 is realized by the CPU 202 executing the server application 400 read from the HDD 205 or the ROM 206. The process in fig. 6 starts when the server application 400 receives a synchronization request from the client application 300.
In step S610, the control unit 421 performs processing according to the synchronization request received via the communication processing unit 422. The processing according to the synchronization request is, for example, processing of reflecting the update information received from the client application 300 on the main data 401. Alternatively, the processing according to the synchronization request is, for example, processing of generating update information of the main data 401 in response to an acquisition request received from the client application 300. The control unit 421 controls the main data management unit 410 to perform these processes.
In step S620, the control unit 421 transmits a response to the synchronization request to the client application 300 via the communication processing unit 422. This response is, for example, information indicating that the update information received from the client application 300 is reflected on the main data 401. Alternatively, this response is, for example, transmission of update information of the main data 401 generated in step S610.
In step S630, the control unit 421 determines whether the synchronization request received from the client application 300 is a request for non-keep-alive communication. For example, the control unit 421 acquires a value in a "Connection" field in the HTTP header of the synchronization request, and based on this value, determines whether the set-value synchronization request is a request for non-keep-alive communication. In the case where the value in the "Connection" column is "close", it is determined that the set value synchronization request is a request for non-keep-alive communication (yes in step S630), and the process proceeds to step S640. In the case where the value in the "Connection" column is a value other than "close" or the "Connection" column does not exist, it is determined that the set value synchronization request is not a request for non-keep-alive communication (no in step S630), and the process proceeds to step S650.
In step S640, the control unit 421 instructs the communication processing unit 422 to perform a process of releasing the connection established between the client application 300 and the server application 400. Upon receiving this instruction, the communication processing unit 422 executes the process of releasing the corresponding connection, and the flow shown in fig. 6 ends.
In step S650, the control unit 421 maintains the connection established between the client application 300 and the server application 400, and the flow shown in fig. 6 ends.
According to such a configuration, even in the case where the information processing apparatus has both the server function and the client function, the communication connection between the server and the client can be released. In addition, even in the case where the information processing apparatus has both the server function and the client function, it is possible to release the communication connection and shift to the power saving state.
That is, the multifunction peripheral 120a as a client structured in an integrated manner with the server 110 is disconnected from the server 110 every time the synchronization communication ends. In addition, in the case where the condition for transition to the power saving state is satisfied in each of the multifunction peripherals 120b and 120c, the multifunction peripheral 120b or 120c releases the connection with the server 110. Accordingly, a state in which the server 110 does not establish a connection with any of the multifunction peripheral 120a, 120b, and 120c as a client managed by the server 110 can be realized.
In the case where the server 110 does not establish a connection with any one of the multifunction peripheral 120a, 120b, and 120c, then, as described above, the multifunction peripheral 120a configured as a device integrated with the server 110 may transition to the power saving state.
Accordingly, the following problems of the conventional technology can be solved, the connection with the client of the device configured as an integrated device cannot be disconnected, and the server and the client of the device configured as an integrated device cannot be transitioned to the power saving state. Thus, a synchronization system that can operate with less power can be constructed.
In addition, according to the above-described exemplary embodiments, the multifunction peripheral 120b and 120c, which are not configured as devices integrated with the server 110, can perform keep-alive communication with the server 110. Therefore, from the second transmission of the synchronization request, it is not necessary to establish a connection with the server 110 each time the synchronization request is made. Therefore, the synchronization process can be performed quickly.
In the first exemplary embodiment, the client application 300 requests non-keep-alive synchronization communication in the case where the server application 400 is made available on the same device as the multifunction peripheral 120 that executes the client application 300. In the second exemplary embodiment, an example is described in which whether to request non-keep-alive or keep-alive synchronization communication is switched according to the operation type as a trigger action for transmitting a synchronization request even if the server application 400 is made available on the same device as the multifunction peripheral 120. Examples of the type of operation as a trigger action for transmitting the synchronization request include a polling process or a predetermined process performed by the user to change the setting of the multifunction peripheral 120. The description given is based on the following assumptions: the above-described synchronization start condition is satisfied if an operation as a trigger action for transmitting a synchronization request is performed.
In the configuration according to the present exemplary embodiment, portions similar to those of the first exemplary embodiment are not described, and only portions different from those of the first exemplary embodiment are described here.
In the present exemplary embodiment, the communication processing unit 322 of the client application 300 makes a synchronization request to the server application 400 at predetermined time intervals. This synchronization request is a request for acquiring update information of the main data 401. The update information of the main data 401 is information representing the content of the update of the main data 401 performed after the time when the client application 300 last received the setting information (e.g., update information) of the main data 401. The communication processing unit 322 transmits a synchronization request including identification information of the client application 300 and time information indicating the time when the setting information of the main data 401 was last acquired to the server application 400. In the following description, a process of sequentially transmitting requests for acquiring update information of the main data 401 is referred to as "polling process", specifically, a process of transmitting acquisition requests at predetermined time intervals is referred to as "regular polling process". In the present exemplary embodiment, an example in which the client application 300 performs the regular polling process is described. Alternatively, the client application 300 may perform the polling process at regular intervals.
In addition, in the present exemplary embodiment, the communication processing unit 322 transmits a request to acquire update information of the main data 401 according to execution of login processing of the user in the multifunction peripheral 120. In addition, if the user operates the operation unit 220 to update the settings (setting data 311) of the multifunction peripheral 120, the communication processing unit 322 transmits update information representing the update contents to the server application 400. This transmission of update information corresponds to a synchronization request requesting the server application 400 to update the main data 401 using the update information.
Referring to fig. 7, the operation of the client application 300 according to the present exemplary embodiment is described. The process shown in fig. 7 is implemented by the CPU 202 executing the client application 300 read from the HDD 205 or the ROM 206. The process described with reference to fig. 5 in the first exemplary embodiment is denoted by the same step number as in fig. 5, and thus is not described here.
Similar to fig. 5, in the case where the predetermined synchronization start condition is satisfied, the flowchart shown in fig. 7 is started. For example, in the case where the client application 300 requests the server application 400 to acquire the setting information (e.g., update information) of the main data 401, the synchronization start condition is satisfied. In addition, for example, in the case where the setting data 311 is updated in the multifunction peripheral 120, the synchronization start condition is satisfied. The flow chart may be started at any other time for synchronizing the settings between the multifunction peripheral 120 and the server 110, the content of the condition is not important.
If it is determined in step S530 that there is the server 110 as the connection destination in the multifunction peripheral 120 operated by the control unit 321 (yes in step S530), the process proceeds to step S701.
In step S701, the control unit 321 determines whether the operation type as a trigger action for starting the processing shown in fig. 7 is a polling processing. As a result of the determination, in the case where the operation type is the polling processing (yes in step S701), the processing proceeds to step S540. On the other hand, in the case where the operation type is not the polling process (no in step S701), the process proceeds to step S550. The content of the other processing is similar to the corresponding content described with reference to fig. 5.
In the above-described procedure, in the case where it is determined that the process performed by the multifunction peripheral 120 is the notification process for notifying the server 110 of the update information and in the case where it is determined that the multifunction peripheral 120 is a device configured in an integrated manner with the server 110, the multifunction peripheral 120 notifies the server 110 of the information for causing the server 110 to remain connected. In addition, in the case where it is determined that the process performed by the multifunction peripheral 120 is the acquisition process for acquiring the update information and in the case where it is determined that the multifunction peripheral 120 is a device configured in an integrated manner with the server 110, the multifunction peripheral 120 notifies the server 110 of information for causing the server 110 to release the connection.
The processing is performed by a procedure such that, in a case where only communication processing (e.g., polling processing or the like) to be performed is performed in the context of the multifunction peripheral 120, the connection with the server application 400 is released. Accordingly, the multifunction peripheral 120 can transition to the power saving state for a reason similar to that described in the first exemplary embodiment.
In addition, in the present exemplary embodiment, even in the case where the multifunction peripheral 120 and the server 110 as clients are configured as an integrated device, if the synchronization process is started by the user operation trigger to the multifunction peripheral 120, the connection is maintained. The maintenance of this connection eliminates the need to establish a connection with the server 110 each time a single synchronization process is performed. Therefore, the synchronization process can be performed quickly.
According to the present exemplary embodiment, even in the case where the multifunction peripheral 120 and the server 110 as clients are configured as an integrated device, in the case where the synchronization process is started according to the user operation to the multifunction peripheral 120, the synchronization process can be quickly performed. Therefore, the user can quickly perform the operation. This may improve user convenience.
In the third exemplary embodiment, even if the server 110 receives a request for keep-alive communication from the client application 300, if the request comes from the client application 300 operating on the multifunction peripheral 120 operated by the server 110, the server 110 releases the connection. In addition, by such a configuration similar to the first exemplary embodiment, the multifunction peripheral 120a configured as a device integrated with the server 110 can be shifted to the power saving state.
In the configuration according to the present exemplary embodiment, portions similar to those of the first exemplary embodiment are not described, and only portions different from those of the first exemplary embodiment are described here.
The control unit 421 of the server application 400 described with reference to fig. 4 performs processing of determining whether the client application 300 making the synchronization request is the client application 300 operating on the multifunction peripheral 120 operated by the control unit 421.
With reference to fig. 8, a description is given of a procedure of communication processing performed by the client application 300 of the multifunction peripheral 120 according to the present exemplary embodiment. The processing shown in fig. 8 is realized by the CPU 202 executing the client application 300 read from the HDD 205 or the ROM 206. In the following description, the similar processing as described with reference to fig. 5 in the first exemplary embodiment is denoted by a step number similar to that in fig. 5.
The process according to the present exemplary embodiment is different from the process described with reference to fig. 5 in the first exemplary embodiment in that the processes of steps S530 and S540 are not performed in the first exemplary embodiment. After executing the process of step S520, the control unit 321 next executes the process of step S550. As described above, in the case where an operation satisfying the synchronization condition occurs in the multifunction peripheral 120 according to the present exemplary embodiment, the multifunction peripheral 120 always transmits a synchronization request requesting keep-alive communication to the server 110.
Next, with reference to fig. 9, a description is given of a procedure of communication processing by the server application 400 of the server 110 according to the present exemplary embodiment. The processing shown in fig. 9 is realized by the CPU 202 executing the server application 400 read from the HDD 205 or the ROM 206. The process in fig. 9 starts when the server application 400 receives a synchronization request from the client application 300. In the following description, a process similar to that described with reference to fig. 6 in the first exemplary embodiment is denoted by the same step number as in fig. 6.
After the server application 400 transmits a response to the synchronization request acquired from the client application 300 in step S620, the server application 400 performs the process of step S910.
In step S910, the control unit 421 determines whether the client application 300 that is the request source of the synchronization request is the client application 300 operating on the multifunction peripheral 120 operated by the control unit 421. That is, in step S910, the control unit 421 determines whether the control unit 421 receives the synchronization request from the multifunction peripheral 120, which is a client configured as a device integrated with the server 110.
This determination may be made by, for example, comparing the value of the "Host" header column included in the synchronization request with IP address information of the multifunction peripheral 120 set in advance. If the value of the "Host" header field and the IP address information match each other, the control unit 421 determines that the client application 300 that is the request source of the synchronization request is the client application 300 operating on the multifunction peripheral 120 operated by the control unit 421. On the other hand, if the value of the "Host" header and the IP address information are different from each other, the control unit 421 determines that the client application 300 that is the request source of the synchronization request is the client application 300 operating on another device. The determination method is not limited thereto, and is not particularly limited.
As a result of the determination, if the client application 300 as the request source of the synchronization request is executed by the multifunction peripheral 120 operated by the control unit 421 (yes in step S910), the process proceeds to step S640. On the other hand, if the client application 300 as the request source of the synchronization request is executed by another device (no in step S910), the process proceeds to step S630.
For example, if the synchronization request is received from the client application 300 of the multifunction peripheral 120a operated by the server 110, the determination is yes in step S910, and the control unit 421 performs the processing of step S640. On the other hand, if the synchronization request is received from the client application 300 of the multifunction peripheral 120b or 120c, which is a device different from the server 110, the determination is no in step S910, and the control unit 421 performs the processing of step S630. The other processes are similar to those in the first exemplary embodiment, and thus are not described here.
As described above, if it is determined that the multifunction peripheral 120 is a device integrally constructed with the server 110, the server 110 releases the connection established with the multifunction peripheral 120.
In the present exemplary embodiment, even if a request for keep-alive communication is received from the client application 300, the server 110 releases the connection in the case where the request comes from the client application 300 operated on the multifunction peripheral 120 operated by the server 110. According to the present exemplary embodiment, the server 110 may disconnect from all the multifunction peripheral 120 managed by the server 110. Accordingly, the server 110 becomes capable of transitioning to the power saving state. Accordingly, the multifunction peripheral 120a configured as a device integrated with the server 110 can shift to the power saving state.
In the fourth exemplary embodiment, an example is described in which even if the server 110 remains connected to the multifunction peripheral 120, the server 110 is enabled to shift to the power saving state under predetermined conditions. That is, if the application that remains connected at all times is only a client application that operates on the multifunction peripheral 120 that operates the server 110, the server 110 is enabled to transition to the power saving state.
In the configuration according to the present exemplary embodiment, portions similar to those of the first exemplary embodiment are not described, and only portions different from those of the first exemplary embodiment are described here.
In the present exemplary embodiment, the control unit 421 of the server application 400 determines whether the multifunction peripheral 120 can transition to the power saving state according to the management state of the connection established by the communication processing unit 422.
In addition, in the present exemplary embodiment, in the case where a predetermined condition is satisfied in the multifunction peripheral 120, the control unit 321 of the client application 300 performs processing of querying the server application 400 as to whether the multifunction peripheral 120 is capable of transitioning to the power saving state.
With reference to fig. 10, a description is given of processing performed by the server application 400 according to the present exemplary embodiment. The process in fig. 10 is started in the case where the server application 400 receives a query from the client application 300 as to whether the multifunction peripheral 120 can shift to the power saving state. The processing shown in fig. 10 is realized by the CPU 202 executing the server application 400 read from the HDD 205 or the ROM 206.
First, in step S1010, the control unit 421 acquires information of a connection currently managed by the control unit 421. The information of the connection is, for example, information including at least socket information (which is a combination of an IP address and a port number) and status information indicating maintenance or release. When a connection with the client application 300 is established, information of the communication connection is held in the RAM 203 or the HDD 205.
In step S1020, based on the information of the held connection, the control unit 421 determines whether there is only a connection representing the client application 300 operating on the same device.
As a result of the determination, in the case where there is only a connection indicating that the client application 300 is operating on the same device (yes in step S1020), the process proceeds to step S1030. In step S1030, the control unit 421 holds information indicating that the multifunction peripheral 120 can shift to the power saving state. Then, the flow ends.
On the other hand, in the case where there is a device indicating that the client application 300 is not operating on the same device (no in step S1020), the process proceeds to S1040. In step S1040, the control unit 421 holds information indicating that the multifunction peripheral 120 cannot shift to the power saving state. Then, the flow ends.
The multifunction peripheral 120 transitions to the power saving state if the control unit 421 holds information indicating that the multifunction peripheral 120 is able to transition to the power saving state or if any other transition condition is satisfied. As described above, if it is determined that the multifunction peripheral 120 is a device integrally constructed with the server 110, and if the server 110 establishes a communication connection only with the multifunction peripheral 120 as a client, the determination processing is as follows. That is, it is determined that the server 110 and the multifunction peripheral 120 configured as the same device can transition to the power saving state.
According to the present exemplary embodiment, even in the case where there is a connection that is always held by the server 110, transition of the multifunction peripheral 120 to the power saving state can be controlled only in the case where the connection is a connection with only the client application 300 executed by the multifunction peripheral 120 operated by the server 110.
In the first exemplary embodiment, the client application 300 requests non-keep-alive synchronization communication in the case where the server application 400 is made available on the same device as the multifunction peripheral 120 that executes the client application 300.
In contrast, in the fifth exemplary embodiment, even if the server application 400 is made available on the same device as the multifunction peripheral 120, keep-alive synchronous communication is requested during the execution of a plurality of synchronous requests only in a case where the plurality of synchronous requests need to be continuously executed. Therefore, the synchronization process can be performed quickly. In the present exemplary embodiment, a set of a plurality of synchronization requests to be continuously executed is referred to as a "synchronization job".
In the configuration according to the present exemplary embodiment, portions similar to those of the first exemplary embodiment are not described, and only portions different from those of the first exemplary embodiment are described here.
With reference to fig. 11, a software configuration of the client application 300 according to the present exemplary embodiment is described. In the present exemplary embodiment, the communication control unit 320 has a forced keep-alive flag 1101. The forced keep-alive flag 1101 is set by the control unit 321 according to the content of a synchronization request to be transmitted from the control unit 321 to the server application 400 via the communication processing unit 322, and is referred to by the communication processing unit 322 when communication is performed. Depending on the value of the forced keep-alive flag 1101, the communication processing unit 322 switches whether to send a keep-alive or non-keep-alive synchronization request to the server application 400. The forced keep-alive flag 1101 is stored in any one of the HDD 205, the ROM 206, and the RAM 203.
With reference to fig. 12, the operation of the client application 300 according to the present exemplary embodiment is described. The processing shown in fig. 12 is realized by the CPU 202 executing a client application read from the HDD 205 or the ROM 206. The processing described with reference to fig. 5 in the first exemplary embodiment is denoted by the same step numbers as in fig. 5, and is not described here.
In the case where the predetermined synchronization job start condition is satisfied, the flowchart in fig. 12 is started. Examples of the predetermined synchronization job start condition include a case where the multifunction peripheral 120 synchronizes the main data 401 and the setting data 311 held in the server 110 for the first time and a case where the multifunction peripheral 120 forcibly synchronizes the setting data 311 and the main data 401 according to an instruction from a user. In these cases, in order to synchronize the setting data 311 with the main data 401, a synchronization request for a plurality of data included in the main data 401 is continuously performed. Therefore, in these cases, the control unit 321 performs synchronization communication with the server application 400 via the communication processing unit 322 by collectively processing a plurality of synchronization requests as a single synchronization job. However, the predetermined synchronization job start condition need not be any of these examples, and the content of the condition is not important.
In step S1210, the control unit 321 determines whether or not the synchronization communication to be performed is a synchronization job started based on the above synchronization job start condition. As a result of the determination, in the case where the synchronization communication to be executed is the synchronization job started based on the synchronization job start condition (yes in step S1210), the processing proceeds to step S1220. If not (no in step S1210), the process proceeds to step S1230. In step S1220, the control unit 321 sets the forced keep-alive flag 1101 to on, and the process proceeds to step S1230. In step S1230, the control unit 321 reads a single synchronization request that is included in the synchronization job and has not been executed yet, and the process proceeds to step S500. If it is determined as "no" in step S500, then in step S1240, the communication processing unit 322 acquires the value of the forced keep-alive flag 1101 and determines whether the flag is on. If the flag is on (yes in step S1240), the process proceeds to step S550. In step S550, the communication processing unit 322 transmits a synchronization request including a keep-alive communication request to the server application 400 and notifies the control unit 321 of the transmission. Then, the process proceeds to step S1250. In step S1250, the control unit 321 determines whether the synchronization job includes a synchronization request that has not been executed yet. As a result of the determination, in the case where the synchronization request that has not been executed is included (yes in step S1250), the process proceeds to step S1230. In the case where the synchronization request that has not been executed is not included (no in step S1260), the process proceeds to step S1260. In step S1260, the control unit 321 determines that the synchronization job is completed. Then, the control disconnect 321 sets the forced keep-alive flag 1101 to off (off), and the flow ends.
According to the present exemplary embodiment, even in the case where the multifunction peripheral 120 as a client is configured as an integrated device with the server 110 and synchronization processing involving a plurality of continuous communications is performed, the processing can be performed quickly.
Other embodiments
In addition, the embodiments of the present invention may be implemented by a computer of a system or apparatus that reads out and executes computer-executable instructions (e.g., one or more programs) recorded on a storage medium (may also be more fully referred to as a "non-transitory computer-readable storage medium") to perform functions of one or more of the above-described embodiments, and/or includes one or more circuits (e.g., application Specific Integrated Circuits (ASICs)) for performing functions of one or more of the above-described embodiments, and may be implemented with a method of performing functions of one or more of the above-described embodiments by, for example, reading out and executing the computer-executable instructions from the storage medium by the computer of the system or apparatus. The computer may include one or more processors (e.g., a Central Processing Unit (CPU), micro-processing unit (MPU)), and may include a separate computer or a network of separate processors to read out and execute the computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, a hard disk, random Access Memory (RAM), read Only Memory (ROM), memory of a distributed computing system, an optical disk such as a Compact Disc (CD), digital Versatile Disc (DVD), or Blu-ray disc (BD) TM ) One or more of a flash memory device, a memory card, and the like.
The embodiments of the present invention can also be realized by a method in which software (program) that performs the functions of the above embodiments is supplied to a system or apparatus, a computer of the system or apparatus or a method in which a Central Processing Unit (CPU), a Micro Processing Unit (MPU), or the like reads out and executes the program, through a network or various storage mediums.
While the invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.

Claims (7)

1. An information processing apparatus in which a client application is installed, comprising:
a communication control unit configured to establish a communication connection via which the client application communicates with a server application; and
a determination unit configured to determine whether the server application is installed in the information processing apparatus,
wherein the communication control unit controls, in accordance with the determination unit determining that the server application is not installed in the information processing apparatus, to cause the information processing apparatus to notify the server application of first information for causing the server application to maintain the communication connection established by the communication control unit, and
Wherein the communication control unit controls, based on the determination unit determining that the server application is installed in the information processing apparatus, to cause the information processing apparatus to notify the server application of second information for causing the server application to release the communication connection established by the communication control unit without notifying the first information.
2. The information processing apparatus according to claim 1, the information processing apparatus further comprising:
a management unit configured to manage setting information of the information processing apparatus;
wherein the communication control unit establishes the communication connection to perform at least any one of the following processes: a notification process for notifying the server application of first update information representing update contents of the setting information managed by the management unit, and an acquisition process for acquiring, from the server application, second update information representing update contents of the setting information managed by the server application.
3. The information processing apparatus according to claim 2,
wherein the communication control unit notifies the server application of the second information together with a request to acquire the second update information or together with the first update information.
4. The information processing apparatus according to claim 2,
wherein the communication control unit notifies the server application of the first information together with a request to acquire the second update information or together with the first update information.
5. A control method of an information processing apparatus in which a client application is installed, the control method comprising:
performing communication control to establish a communication connection via which the client application communicates with a server application; and
a determination is made to determine whether the server application is installed in the information processing apparatus,
wherein, in accordance with the determination in the determination that the server application is not installed in the information processing apparatus, control is performed in the communication control such that the information processing apparatus notifies the server application of first information for causing the server application to maintain the established communication connection, and
wherein, in accordance with the determination in the determination that the server application is installed in the information processing apparatus, control is performed in the communication control without notifying the first information so that the information processing apparatus notifies the server application of second information for causing the server application to release the established communication connection.
6. The control method according to claim 5, the control method further comprising:
the setting information of the information processing apparatus is managed,
wherein in the communication control, a communication connection is established to perform at least any one of the following processes: a notification process for notifying the server application of first update information representing update contents of the setting information managed in the management, and an acquisition process for acquiring, from the server application, second update information representing update contents of the setting information managed by the server application.
7. The control method according to claim 6,
wherein in the communication control, the second information is notified to the server application together with a request to acquire the second update information or together with the first update information.
CN202110824885.7A 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium Active CN113542425B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110824885.7A CN113542425B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2016072593 2016-03-31
JP2016-072593 2016-03-31
JP2017010751A JP6794281B2 (en) 2016-03-31 2017-01-24 Information processing device, control method of information processing device, and program
JP2017-010751 2017-01-24
CN202110824885.7A CN113542425B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium
CN201710200008.6A CN107277099B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710200008.6A Division CN107277099B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and storage medium

Publications (2)

Publication Number Publication Date
CN113542425A CN113542425A (en) 2021-10-22
CN113542425B true CN113542425B (en) 2024-04-02

Family

ID=60044074

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110824885.7A Active CN113542425B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium
CN201710200008.6A Active CN107277099B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and storage medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710200008.6A Active CN107277099B (en) 2016-03-31 2017-03-30 Information processing apparatus, control method for information processing apparatus, and storage medium

Country Status (3)

Country Link
JP (1) JP6794281B2 (en)
KR (2) KR102115488B1 (en)
CN (2) CN113542425B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7024602B2 (en) * 2018-05-23 2022-02-24 コニカミノルタ株式会社 Image processing equipment, network connection method and network connection program
JP7309422B2 (en) * 2019-04-08 2023-07-18 キヤノン株式会社 Communication device, its control method, and its program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572186A (en) * 2010-12-15 2012-07-11 佳能株式会社 Image processing apparatus, server apparatus and control method thereof
CN103945081A (en) * 2013-01-18 2014-07-23 佳能株式会社 Image forming apparatus, image forming system, and method of controlling the same
CN104822007A (en) * 2014-02-04 2015-08-05 富士施乐株式会社 Data storage system, image processing device, portable terminal, and control method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4368637B2 (en) * 2003-08-05 2009-11-18 株式会社リコー Multi-function MFP, server, environmental load reduction method, and program
US8319989B2 (en) * 2006-02-21 2012-11-27 Ricoh Company, Ltd. Image processing apparatus for processing and communicating with an information processing apparatus which does not have an image processing apparatus driver software
US8965954B2 (en) * 2008-10-21 2015-02-24 Google Inc. Always ready client/server data synchronization
JP5274294B2 (en) * 2009-02-18 2013-08-28 キヤノン株式会社 Information processing apparatus and control method thereof, and image processing apparatus and control method thereof
JP2010244464A (en) * 2009-04-09 2010-10-28 Canon Inc Information processing apparatus, network interface device, control method thereof, and program
JP5521511B2 (en) * 2009-11-27 2014-06-18 村田機械株式会社 Network equipment
US9143550B2 (en) * 2012-12-01 2015-09-22 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent HTTP-based communications
JP6243654B2 (en) * 2013-08-05 2017-12-06 キヤノン株式会社 COMMUNICATION SYSTEM, INFORMATION PROCESSING DEVICE, ITS CONTROL METHOD, AND PROGRAM
JP6364866B2 (en) * 2014-03-27 2018-08-01 富士通株式会社 Terminal device, communication control system, and communication control method
JP6318959B2 (en) * 2014-08-01 2018-05-09 京セラドキュメントソリューションズ株式会社 Information processing system and information processing program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572186A (en) * 2010-12-15 2012-07-11 佳能株式会社 Image processing apparatus, server apparatus and control method thereof
CN103945081A (en) * 2013-01-18 2014-07-23 佳能株式会社 Image forming apparatus, image forming system, and method of controlling the same
CN104822007A (en) * 2014-02-04 2015-08-05 富士施乐株式会社 Data storage system, image processing device, portable terminal, and control method

Also Published As

Publication number Publication date
KR102138041B1 (en) 2020-07-27
KR20200059205A (en) 2020-05-28
JP6794281B2 (en) 2020-12-02
CN107277099A (en) 2017-10-20
CN113542425A (en) 2021-10-22
KR102115488B1 (en) 2020-05-26
KR20170113382A (en) 2017-10-12
CN107277099B (en) 2021-07-23
JP2017188076A (en) 2017-10-12

Similar Documents

Publication Publication Date Title
US8937730B2 (en) System, image forming apparatus, server, and control method thereof
US9083721B2 (en) Information processing system, client device, and control method
US10148852B2 (en) Image processing system, control apparatus, image processing apparatus, and methods of controlling these
US20150249724A1 (en) Information processing apparatus, information processing system, and recording medium
EP2447825B1 (en) Information processing apparatus, print data processing method therein and storage medium storing program thereof
JP6204786B2 (en) Printing system, image forming apparatus, control method therefor, and program
KR102138041B1 (en) Information processing apparatus, method for controlling information processing apparatus, and program
US9086833B2 (en) System that outputs status information representing a status of a device
JP6204821B2 (en) Image forming apparatus, control method thereof, and program
CN110716700B (en) Print server, control method, and storage medium
EP3226104B1 (en) Efficient transition to power saving mode respecting connection state with server
US10397439B2 (en) Server system transmitting job to processing apparatus, information processing system, and control method for server system
JP2016020034A (en) Information processing device, control method of the same, and program
CN111756867B (en) Communication apparatus and control method thereof
JP2016016579A (en) Information processing apparatus, control method thereof, and information processing system
JP2014170424A (en) Information processing system, job management device, and program
US20230418532A1 (en) Image forming device and non-transitory computer-readable recording medium storing computer-readable instructions for image forming device
US11842097B2 (en) Image processing device and non-transitory computer-readable recording medium storing computer-readable instructions for image processing device
JP2018116524A (en) Image forming apparatus, access support method, and computer program
JP2024036076A (en) Information processing equipment and programs
JP2000311095A (en) System and method for processing information, information managing device and storage medium
JP6436208B2 (en) Apparatus, information processing terminal, information processing system, information processing method, and program
US10645236B2 (en) Information processing apparatus and control method for synchronizing setting information
JP2023165196A (en) Information processing system, information processing apparatus, information processing method, and program
JP2019133438A (en) Information processing device, control method therefor, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant