INFORMATION PROCESSING SYSTEM, CONTROL METHOD, AND STORAGE MEDIUM
An information processing system allows an operation status of a web application cooperating with a multifunction peripheral (MFP) and being operated on a mobile terminal to be handed over to the MFP by simply causing the mobile terminal and the MFP to cooperate.
The present application is a continuation of U.S. patent application Ser. No. 16/884,625 filed on May 27, 2020, which claims priority from Japanese Patent Application No. 2019-102883, filed May 31, 2019, all of which are hereby incorporated by reference herein in their entirety.
BACKGROUND OF THE INVENTION Field of the InventionThe present invention relates to a technique for cooperation between a plurality of information processing apparatuses.
Description of the Related ArtIn recent years, an increasing number of image processing apparatuses (such as multifunction peripherals (MFPs)) installed in offices have a function of exchanging data with a mobile terminal. For example, there have been known a technique for transmitting print data from a mobile terminal to an MFP and executing print processing by the MFP and a technique for loading image data read by a scanner of an MFP into a mobile terminal. A technique for, when an MFP performs mail transmission processing, receiving transmission setting information indicating transmission settings from a mobile terminal, reflecting the received transmission setting information, and performing the mail transmission processing has been discussed (for example, Japanese Patent Application Laid-Open No. 2017-108338). A technique that allows, if the remaining battery level of a mobile terminal becomes low in making MFP setting operations from a screen of the mobile terminal, the mobile terminal to transmit handover information to the MFP, and the MFP to display a setting screen having been opened on the mobile terminal thereon has also been discussed (for example, Japanese Patent Application Laid-Open NO. 2015-207247). In such a manner, the setting operation can be handed over between an MFP and a mobile terminal.
However, according to Japanese Patent Application Laid-Open No. 2017-108338, the timing at which the setting operation can be handed over between the mobile terminal and the MFP is limited. According to Japanese Patent Application Laid-Open No. 2015-207247, the setting operation can be handed over between the mobile terminal and the MFP even if there is a large distance between the mobile terminal and the MFP. In other words, handover can be performed against the intention of the user. The conventional techniques therefore do not always improve the convenience of the user. The present invention is directed to providing a technique for performing handover of the setting operation by the user bringing the mobile terminal close to the MFP without limiting the timing at which the setting operation can be handed over.
SUMMARY OF THE INVENTIONAccording to an aspect of the present invention, an information processing system includes a web server configured to provide a sequence of operation screens, an image processing apparatus configured to access the web server, and an information processing apparatus configured to access the web server. The web server includes a first memory, and a first processor in communication with the first memory. The first processor performs registering first information indicating an operation screen operated on the information processing apparatus and a status of operation, and providing a second operation screen to the image processing apparatus. The image processing apparatus includes a second memory, and a second processor in communication with the second memory. The second processor performs receiving second information corresponding to the registered first information, and displaying the second operation screen provided by the web server. In a case where the image processing apparatus and the information processing apparatus are close to each other, the second information corresponding to the registered first information is transmitted from the information processing apparatus to the image processing apparatus. The receiving includes receiving the transmitted second information, and the displaying includes displaying the second operation screen, provided by the web server, on which the status of operation is reflected, based on the registered first information corresponding to the transmitted second information.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Exemplary embodiments of the present invention will be described below with reference to the drawings.
The following exemplary embodiments are not intended to limit the inventions set forth in the claims. Not all combinations of features described in the exemplary embodiments are indispensable to the solving means of the present invention.
A first exemplary embodiment will be described below.
The MFP 101 is an image processing apparatus including a scanner and a printer. While the present exemplary embodiment is described by using the MFP 101 as an example of the image processing apparatus, this is not restrictive. The image processing apparatus may be a single-function apparatus. The MFP 101 includes a web browser as an application program. While the information processing system illustrated in
An operation unit I/F 216 connects an operation unit 221 with the control unit 210. The operation unit 221 includes a liquid crystal display unit having a touch panel function and a keyboard. A printer I/F 217 connects a printer 222 with the control unit 210. Image data to be printed by the printer 222 is transferred from the control unit 210 to the printer 222 via the printer I/F 217, and printed on a recording medium by the printer 222. A scanner I/F 218 connects a scanner 223 with the control unit 210. The scanner 223 reads an image on a document to generate image data, and inputs the image data to the control unit 210 via the scanner I/F 218. A sensor I/F 219 connects a contact detection sensor 224 with the control unit 210. The contact detection sensor 224 is a sensor for detecting whether the mobile terminal 102 is in contact at a predetermined position on the MFP 101. In the present exemplary embodiment, the MFP 101 includes a mobile terminal placing spot (not illustrated) for the mobile terminal 102 to be placed on. The contact detection sensor 224 detects whether the mobile terminal 102 is placed on the mobile terminal placing spot. A network I/F 220 connects the control unit 210 (MFP 101) to the LAN 110. The network I/F 220 transmits and receives various types of information to/from other apparatuses on the LAN 110 or the WAN 120. The network I/F 220 serves as a receiving unit, configured to receive second information corresponding to the first information registered by a registering unit from the information processing apparatus. The operation unit I/F 216 serves as a displaying unit configured to display the second operation screen provided by a providing unit. The detection sensor 224 serves as a detecting unit configured to detect whether the information processing apparatus is placed at a predetermined position.
An operation unit I/F 315 connects an operation unit 318 with the control unit 310. The operation unit 318 includes a liquid crystal display unit having a touch panel function. A short-range wireless communication I/F 316 is an I/F for short-range wireless communication such as NFC and Bluetooth (registered trademark) communication. The short-range wireless communication I/F 316 communicates with and exchanges data with the MFP 101. A network I/F 317 connects the control unit 310 to the LAN 110 via the wireless access point 130. The network I/F 317 is capable of wireless communication. The network I/F 317 transmits and receives various types of information to/from other apparatuses on the WAN 120 or the LAN 110 by wireless communication.
A display unit I/F 415 connects a display unit 418 with the control unit 410. A keyboard I/F 416 connects a keyboard 419 with the control unit 410. The CPU 411 recognizes instructions given by the user via the keyboard 419, and makes a screen displayed on the display unit 418 transition based on the recognized instructions. A network I/F 417 connects the control unit 410 to the WAN 120. The network I/F 417 transmits and receives various types of information to/from other apparatuses on the WAN 120 or the LAN 110. The network IF 417 of the application server 104 serves as a providing unit configured to provide a second operation screen.
A mobile terminal cooperation unit 501 performs processing for cooperating with the mobile terminal 102. For example, the mobile terminal cooperation unit 501 detects that the mobile terminal 102 is placed on the mobile terminal placing spot by using the contact detection sensor 224, and communicates with the mobile terminal 102 by using the short-range wireless communication I/F 215. Here, the term “cooperation” refers to a state where the MFP 101 and the mobile terminal 102 can communicate with and exchange data with each other. The term will hereinafter be used for the same meaning.
A menu display unit 502 displays buttons (hereinafter, application buttons) for calling applications on a menu screen. The application buttons are buttons for calling various functions such as an application installed on the MFP 101 and a web application.
A web browser 503 accesses a web server to obtain web content. The MFP 101 may include other functions that are not illustrated in the drawings.
A web application 601 is a program running on the application server 104. The web application 601 provides a screen (operation screen) for operating the web application 601 to the MFP 101 and the mobile terminal 102, and the MFP 101 and the mobile terminal 102 display the operation screen on a web browser. The MFP 101 and the mobile terminal 102 display the operation screen of the web application 601 by accessing the application server 104, accept the user's operations on the operation screen, and return the content of the accepted operations to the application server 104. For example, in a case where the web application 601 instructs the MFP 101 to execute a scan, the user accesses the application server 104 via a web browser and makes settings on an operation screen for scan setting, provided by the web application 601 (in the present exemplary embodiment, the user accesses the application server 104 a plurality of times and makes settings on a plurality of operation screens). The user can then give a scan execution instruction on an operation screen for scan execution, provided by the web application 601. Thus, application server (web server) 104 is configured to provide a sequence of operation screens.
A sequence management table 602 is a table for managing situations (operation history) in a series of processes (hereinafter, sequence) where the user operates the web application 601 via a web browser. The sequence refers to a procedure involving screen transition from a start to end of processing defined for each web application. For example, a sequence for a scan application ranges from an instruction for making scan settings to an instruction for executing the scan. The application server 104 may include other functions that are not illustrated in
A SequenceID column 1401 is a column containing identification information (hereinafter, “sequence identifier (ID)”) for uniquely identifying a piece of sequence information. Sequence information is information including information defined in the columns 1401 to 1403. The values in the SequenceID column 1401 also serve as IDs for uniquely specifying the rows of the sequence management table 602. In the following description, the values in the SequenceID column 1401 are used to designate the rows of the sequence management table 602. For example, the row where the value of the SequenceID column 1401 is “s001” will be referred to as “row s001”.
A SequenceData column 1402 is a column describing the operation status at a point in time indicated by the SequenceID column 1401 in the sequence. The SequenceData column 1402 stores information (hereinafter, “sequence operation status data”) to be used to identify and restore an operation status of the sequence. Examples of the information to be used include an ID of an operation screen, a setting value set before the operation screen, and an operation history.
A HandoverID column 1403 contains an ID (hereinafter, “handover ID”) for uniquely identifying a row of a handover management table 702 to be described below. The HandoverID column 1403 links the sequence management table 602 to the handover management table 702.
A handover management unit 701 manages information (hereinafter, “handover information”) for handing over the sequence of the web application 601 from the mobile terminal 102 to the MFP 101. The handover management table 702 is a table where the handover information is recorded. The handover management unit 701 and the handover management table 702 do not need to be included in the management server 103. For example, the handover management unit 701 and the handover management table 702 may be included in the application server 104. The management server 103 may include other functions that are not illustrated in
A HandoverID column 1501 is a column for defining an ID for uniquely identifying a piece of handover information, and corresponds to the HandoverID column 1403 of the sequence management table 602. The values in the HandoverID column 1501 also serve as IDs for uniquely specifying the rows of the handover management table 702. In the following description, the values in the HandoverID column 1501 are used to designate the rows of the handover management table 702. For example, the row where the value of the HandoverID column 1501 is “h001” will be referred to as “row h001”.
A Uniform Resource Locator (URL) column 1502 contains a URL (hereinafter, “handover URL”) for the web browser 503 of the MFP 101 to access in handing over the sequence of the web application 601 to the MFP 101. The values in the URL column 1502 are the URLs of web applications, which vary from one web application to another. For example, in the present exemplary embodiment, the URL of a web application to which the value in the SequenceID column 1401 is attached as a query string is used as a handover URL. Since the value in the SequenceID column 1401 indicates the operation status of the sequence, the handover URL enables identification and restoration of the operation status of the sequence of the target web application.
A HandedoverFlag column 1503 lists flags indicating whether the target sequences have been handed over to the MFP 101. A value “TRUE” in the HandedoverFlag column 1503 indicates that the target sequence has been handed over. Other values than “TRUE” indicate that the target sequence has not been handed over.
An MFP cooperation application 800 is an application for handing over operations to the MFP 101, and includes a web content display unit 801 and an MFP cooperation unit 802. The web content display unit 801 accesses the application server 104 and displays web content. The MFP cooperation unit 802 performs processing for exchanging data with the MFP 101 by using the short-range wireless communication I/F 215.
Before describing the sequence diagram of
The application server 104 is a server that provides the web application 601. The web application 601 is called by the MFP 101 or the mobile terminal 102. The management server 103 is a server used to manage information for handing over the operation status of the web application 601 from the mobile terminal 102 to the MFP 101.
In step S901, the mobile terminal 102 receives the user's instruction to access the web application 601 and accesses the application server 104. Here, the MFP cooperation application 800 sends a request by using a start URL with which the sequence is started. The request here refers to processing for requesting the operation screen (setting screen) of
In step S902, the application server 104 registers new sequence information in the sequence management table 602. The sequence information here includes status data on a sequence operation and a sequence ID. In step S903, the application server 104 transmits the URL of the web application 601 being accessed by the mobile terminal 102 and the sequence ID to the management server 103, and instructs the management server 103 to register handover information. In step S904, the management server 103 registers new handover information in the handover management table 702. In step S905, the management server 103 returns a response indicating a registration result of the handover information to the application server 104. The response includes a handover ID from which the new handover information issued in step S904 can be uniquely identified. In the present exemplary embodiment, the handover ID is issued by the management server 103. However, this is not restrictive. For example, the handover ID may be issued by the mobile terminal 102. In such a case, the mobile terminal 102 includes information unique to the mobile terminal 102 (such as a Media Access Control (MAC) address) into the query string in accessing the web application 601, and notifies the application server 104 and the management server 103 of the information.
In step S906, the application server 104 performs processing corresponding to the request made in step S901. The application server 104 identifies the situation in the sequence from the sequence information, and performs processing appropriate to the request, i.e., generates the setting screen of
In step S909, the mobile terminal 102 receives the user's instructions (the user makes settings on the setting screen 1 of
In step S910, the application server 104 transmits access information including a request URL to the management server 103. In step S911, upon receiving the access information, the management server 103 checks that the request made in step S909 is not one for a handed-over sequence.
In step S912, the application server 104 performs processing corresponding to the request made in step S909. The application server 104 identifies the situation in the sequence based on the sequence information included in the request, and performs processing appropriate to the request, i.e., records settings such as “one-sided documents” and “full color” made on the setting screen of
The processing from step S909 to step S914 is performed each time the mobile terminal 102 accepts the user's operations on the MFP cooperation application 800 and accesses the application server 104 to make a request (in the following description, setting screen 2 of
The following description will be given on the assumption that the user has placed the mobile terminal 102 on the mobile terminal placing spot of the MFP 101.
In step S915, the MFP 101 detects that the mobile terminal 102 is placed on the mobile terminal placing spot by using the contact detection sensor 224. In step S916, the MFP 101 and the mobile terminal 102 establish a connection by short-range wireless communication. In step S917, the mobile terminal 102 notifies the MFP 101 of the handover ID of the MFP cooperation application 800 that is being operated.
In step S918, the MFP 101 obtains handover information corresponding to the handover ID notified in step S917 from the handover management table 702 in the management server 103. In step S919, the MFP 101 determines whether there is handover information. If there is handover information (YES in step S919), the processing proceeds to step S920. If there is no handover information (NO in step S919), the processing is ended.
In step S920, the MFP 101 accesses a handover URL included in the handover information obtained in step S918 by using the web browser 503 (makes an acquisition request for the setting screen of
In step S921, the application server 104 transmits access information to the management server 103. In step S922, the management server 103 updates the handover information in the handover management table 702. Specifically, the management server 103 updates the value in the HandedoverFlag column 1503 with “TRUE”.
In step S923, the application server 104 performs processing corresponding to the request made in step S920. The application server 104 refers to the sequence management table 602 based on the sequence information included in the handover information, identifies the situation in the sequence (operation screen and operation history), and performs processing appropriate to the request, i.e., in response to the acquisition request for the setting screen of
In step S925, the application server 104 determines whether the sequence is completed. If the sequence is completed (YES in step S925), the processing proceeds to step S926. If the sequence is not completed (NO in step S925), the processing proceeds to step S929.
In step S929, the application server 104 returns a response to the request made in step S920 to the MFP 101, i.e., displays the setting screen of
In step S928, the application server 104 deletes the sequence information from the sequence management table 602. Here, the handover ID corresponding to the deleted handover information may be deleted from the mobile terminal 102.
While the web browser 503 is described to be automatically activated if there is handover information obtained by the MFP 101 in step S919, this is not restrictive. A button for calling handover information may be displayed as one of the application buttons on the menu screen, and the web browser 503 may be configured to be activated by the user pressing the button. In the sequence diagram, the detection of the mobile terminal 102 by the contact detection sensor 224 and the establishment of the short-range wireless communication trigger the subsequent processing. For example, if the contact detection sensor 224 detects that the mobile terminal 102 is placed on the mobile terminal placing spot, the MFP 101 issues a Bluetooth (registered trademark) beacon. If the mobile terminal 102 receives the beacon and the radio field intensity of the beacon is higher than or equal to a predetermined value, the mobile terminal 102 establishes a Bluetooth (registered trademark) communication and then the processing proceeds to the next step. This provides the effect that the operation can be handed over only when the mobile terminal 102 is on the mobile terminal placing spot of the MFP 101. The mobile terminal placing spot is used as a unit for determining that the mobile terminal 102 is located near the MFP 101. However, the mobile terminal placing spot is may not be provided in the MFP 101, and any configuration may be used as long as the mobile terminal 102 and the MFP 101 can be found to be close to each other. For example, if the MFP 101 issues a Bluetooth (registered trademark) beacon, the mobile terminal 102 may receive the beacon and determines that the MFP 101 is at a close distance based on the radio field intensity of the beacon. If the MFP 101 is determined to be at a close distance, the mobile terminal 102 may establish a Bluetooth (registered trademark) communication and transmit the handover ID to the MFP 101. The mobile terminal 102 may receive wireless LAN connection information from the MFP 101 by using Bluetooth (registered trademark) packets, establish a wireless LAN communication with the MFP 101 by using the wireless LAN connection information, and then transmit the handover ID to the MFP 101 by the established wireless LAN communication. Taking advantage of the characteristic that NFC communication can only be performed between apparatuses communicating at a sufficiently close distance, the mobile terminal 102 may determine that the MFP 101 is at a close distance based on successful establishment of NFC communication. The mobile terminal 102 may receive the wireless LAN connection information from the MFP 101 by using NFC communication, establish a wireless LAN communication with the MFP 101 based on the wireless LAN connection information, and then transmit the handover ID to the MFP 101 by the established wireless LAN communication. Moreover, if the MFP 101 includes an NFC tag reader, the handover ID may be notified by writing the handover ID to an NFC tag of the mobile terminal 102, facing the mobile terminal 102 toward the MFP 101, and the NFC tag reader of the MFP 101 reading the handover ID. The MFP 101 thus receives the handover ID if the mobile terminal 102 is located near the MFP 101.
The effect of the sequence diagram will be described. If the mobile terminal 102 approaches the MFP 101, the operation status of the web application 601 executed halfway on the mobile terminal 102 can be handed over to the MFP 101.
In step S1001, the web application 601 receives a Hypertext Transfer Protocol (HTTP) request from the web browser of the MFP 101 or the mobile terminal 102. In the following description of the flowchart, the term “request” refers to the HTTP request received in step S1001.
In step S1002, the web application 601 identifies the type of the requesting terminal (MFP 101 or mobile terminal 102) that has transmitted the request.
In step S1003, the web application 601 determines whether the request includes information for identifying a sequence of the web application 601. In the present exemplary embodiment, an example is described in which the determination is made by determining whether a sequence ID is attached to the request URL (URL for accessing the application server 104) as a query string, whereas other methods may be used. For example, information from which the sequence can be identified may be included in a cookie or an HTTP header. If the request includes the information for identifying the sequence (YES in step S1003), the processing proceeds to step S1004. If the request does not include the information for identifying the sequence (NO in step S1003), the processing proceeds to step S1020.
In step S1004, the web application 601 extracts sequence information including the sequence ID included in the query string of the request URL from the sequence management table 602. Specifically, the web application 601 extracts a record having the value of the SequenceID column 1401 that coincides with the sequence ID included in the query string of the request URL. In step S1005, the web application 601 determines whether the sequence information is successfully extracted in step S1004. If the sequence information is successfully extracted (YES in step S1005), the processing proceeds to step S1006. If not (NO in step S1005), the processing proceeds to step S1020.
In step S1006, the web application 601 transmits access information to the handover management unit 701 of the management server 103. The access information includes the type of the requesting terminal identified in step S1002 and the handover ID (the value in the HandoverID column 1403) included in the sequence information extracted in step S1004. In step S1007, the web application 601 receives a response to the access information transmitted in step S1006 from the handover management unit 701 of the management server 103. In step S1008, the web application 601 determines whether the response received in step S1007 is an error. If the response is an error (YES in step S1008), the processing proceeds to step S1030. If the response is not an error (NO in step S1008), the processing proceeds to step S1009.
In step S1009, the web application 601 identifies the operation status in the sequence from the sequence operation status data (the value in the SequenceData column 1402) included in the sequence information extracted in step S1004, and performs processing appropriate to the request. In step S1010, the web application 601 updates the sequence management table 602 with the status in the sequence on which the processing performed in step S1009 is reflected as the sequence operation status data.
In step S1011, the web application 601 determines whether the target sequence is completed based on the sequence operation status data. If the sequence is completed (YES in step S1011), the processing proceeds to step S1012. If the sequence is not completed (NO in step S1011), the processing proceeds to step S1015.
In step S1012, the web application 601 transmits a delete instruction for the handover information to the handover management unit 701 of the management server 103. Here, the web application 601 includes the handover ID (the value in the HandoverID column 1403) included in the sequence information extracted in step S1004 in the delete instruction as information for identifying the handover information to be deleted. In step S1013, the web application 601 receives a response to the delete instruction transmitted in step S1012 from the handover management unit 701 of the management server 103. In step S1014, the web application 601 deletes sequence information from the sequence management table 602. The sequence information to be deleted is the sequence information where the SequenceID column 1401 contains the sequence ID included in the query string of the request URL.
In step S1015, the web application 601 returns the result of the processing in step S1009 to the requesting terminal as a response to the request received in step S1001, and the processing is ended. The handover ID (the value in the HandoverID column 1403) is included in the response here. In the present exemplary embodiment, the handover ID is included in the custom header of the HTTP response, whereas other methods may be used.
In step S1020, the web application 601 issues a new sequence ID. In step S1021, the web application 601 registers new sequence information including the sequence ID issued in step S1020 in the sequence management table 602. The web application 601 registers the issued sequence ID in the SequenceID column 1401, and the current sequence operation status data in the SequenceData column 1402. The HandoverID column 1403 is blank at this point in time.
10198105US02
In step S1022, the web application 601 transmits a registration instruction for handover information to the handover management unit 701 of the management server 103. Here, the web application 601 includes a handover URL (the URL of the web application 601 to which the sequence ID is attached as a query string) and the type of the requesting terminal identified in step S1002 in the registration instruction as the handover information. In step S1023, the web application 601 receives a response to the registration instruction transmitted in step S1022 from the handover management unit 701 of the management server 103. The response includes a handover ID for identifying the registered handover information. In step S1024, the web application 601 registers the handover ID received in step S1023 in the HandoverID column 1403 of the sequence management table 602. The processing proceeds to step S1009, and the web application 601 performs the subsequent processing.
In step S1030, the web application 601 returns error information prohibiting subsequent operations to the requesting terminal as a response to the request received in step S1001. The processing is ended.
The effects of the flowchart of
In step S1101, the handover management unit 701 receives a registration instruction for handover information from the application server 104. The registration instruction includes a handover URL and the type of requesting terminal identified in step S1002.
In step S1102, the handover management unit 701 issues a new handover ID. In step S1103, the handover management unit 701 registers new handover information including the handover ID issued in step S1102 in the handover management table 702. Here, the handover management unit 701 registers the handover ID in the HandoverID column 1501, and the handover URL in the URL column 1502. If the requesting terminal is an MFP, the handover management unit 701 registers “TRUE” in the HandedoverFlag column 1503. If the requesting terminal is not an MFP, the handover management unit 701 registers “FALSE” in the HandedoverFlag column 1503.
In step S1104, the handover management unit 701 returns a response indicating the completion of the registration to the application server 104 as a response to the registration instruction received in step S1101. The processing is then ended. The response here includes the handover ID issued in step S1102.
In step S1110, the handover management unit 701 receives access information from the application server 104. The access information includes a handover ID and the 10198105US02 type of requesting terminal identified in step S1002. In step S1111, the handover management unit 701 extracts handover information including the received handover ID in the HandoverID column 1501 from the handover management table 702.
In step S1112, the handover management unit 701 determines whether the handover information is successfully extracted in step S1111. If the handover information is successfully extracted (YES in step S1112), the processing proceeds to step S1113. If not (NO in step S1112), the processing proceeds to step S1130. In step S1130, the handover management unit 701 returns a response indicating an error that the handover information is not found to the application server 104. The processing is then ended.
In step S1113, the handover management unit 701 determines whether the type of the requesting terminal received from the application server 104 in step S1110 is an MFP. If the type of the requesting terminal is an MFP (YES in step S1113), the processing proceeds to step S1114. If the type of the requesting terminal is not an MFP (NO in step S1113), the processing proceeds to step S1115.
In step S1114, the handover management unit 701 updates the handover management table 702 by setting “TRUE” in the HandedoverFlag column 1503 of the handover information extracted in step S1111. The processing proceeds to step S1116.
In step S1115, the handover management unit 701 determines whether the value in the HandedoverFlag column 1503 of the handover information extracted in step S1111 is “TRUE”. If the value in the HandedoverFlag column 1503 is “TRUE” (YES in step S1115), the processing proceeds to step S1120. If the value is not “TRUE” (NO in step S1115), the processing proceeds to step S1116.
In step S1116, the handover management unit 701 returns a response indicating that the access information received in step S1110 is normally accepted to the application server 104. The processing is then ended.
In step S1120, the handover management unit 701 returns a response indicating an error that operations are prohibited to the application server 104. The processing is 10198105US02 then ended.
In step S1140, the handover management unit 701 receives a delete instruction for handover information from the application server 104. The delete instruction includes a handover ID. In step S1141, the handover management unit 701 determines whether there is handover information for which the delete instruction is received in the handover management table 702. Specifically, the handover management unit 701 determines whether there is a record having the value in column HandoverID 1501 that coincides with the value of the handover ID received in step S1140. If there is such handover information (YES in step S1141), the processing proceeds to step S1142. If not (NO in step S1141), the processing proceeds to step S1150. In step S1150, the handover management unit 701 returns a response indicating that there is no handover information to be deleted to the application server 104. The processing is then ended.
In step S1142, the handover management unit 701 deletes the record where the HandoverID column 1501 contains the value of handover ID received in step S1140 from the handover management table 702.
In step S1143, the handover management unit 701 notifies the application server 104 that the handover information is deleted as a response to the delete instruction received in step S1140. The processing is then ended.
In step S1160, the handover management unit 701 receives an acquisition request for handover information from the MFP 101. The acquisition request includes a handover ID.
In step S1161, the handover management unit 701 refers to the handover management table 702 and extracts handover information corresponding to the handover ID included in the acquisition request.
In step S1162, the handover management unit 701 determines whether the handover information is successfully extracted in step S1161. If the handover information is successfully extracted (YES in step S1162), the processing proceeds to step S1163. If not (NO in step S1162), the processing proceeds to step S1164.
In step S1163, the handover management unit 701 transmits the extracted handover information to the MFP 101 as a response to the acquisition request received in step S1160. The processing is then ended.
In step S1164, the handover management unit 701 transmits a response indicating that there is no handover information to the MFP 101 as a response to the acquisition request received in step S1160. The processing is then ended.
The effects of the flowcharts of
In step S1201, the web content display unit 801 receives a start instruction for the web application 601 from the user, and accesses a start URL with which a sequence is started in the application server 104 (issues an acquisition request for web contents). In step S1202, the web content display unit 801 receives a response to the foregoing request from the application server 104. In step S1203, the web content display unit 801 determines whether the response includes a handover ID. Specifically, the web content display unit 801 determines whether the HTTP custom header includes a handover ID. While in the present exemplary embodiment the HTTP custom header is used to deliver a handover ID, other methods may be used. If the response includes a handover ID (YES in step S1203), the processing proceeds to step S1204. If the response does not include a handover ID (NO in step S1203), the processing proceeds to step S1205.
In step S1204, the web content display unit 801 stores the handover ID received in step S1202. In the present exemplary embodiment, the Web Storage API defined by Hypertext Markup Language version 5 (HTMLS) is used to store the handover ID in Session Storage. However, other methods may be used.
In step S1205, the web content display unit 801 displays the response (web content) received in step S1202 on the operation unit 318. In step S1206, the web content display unit 801 waits for the user's operation. If the web content display unit 801 accepts the user's operation, the processing proceeds to step S1207. In step S1207, the web content display unit 801 determines whether the accepted user operation is an operation on the web application 601. If the accepted user operation is an operation on the web application 601 (YES in step S1207), the processing proceeds to step S1208. If not (NO in step S1207), the processing is ended.
In step S1208, the web content display unit 801 transmits a request corresponding to the user operation to the application server 104.
In step S1211, upon receipt of a connection request from the MFP 101, the MFP cooperation unit 802 establishes a connection with the MFP 101 by short-range wireless communication. In step S1212, the MFP cooperation unit 802 obtains a handover ID from Session Storage. In step S1213, the MFP cooperation unit 802 determines whether a handover ID is successfully obtained in step S1212. If a handover ID is successfully obtained (YES in step S1213), the processing proceeds to step S1214. If not (NO in step S1213), the processing is ended.
In step S1214, the MFP cooperation unit 802 notifies the MFP 101 of the handover ID. In step S1215, the MFP cooperation unit 802 initializes the screen of the operation unit 318. The processing is ended.
The establishment of the connection in step S1211 may be initiated by either the mobile terminal 102 or the MFP 101. For example, in a configuration where the mobile terminal 102 determines the distance from the MFP 101 based on the radio field intensity of a Bluetooth (registered trademark) beacon issued from the MFP 101, the mobile terminal 102 initiates the connection to the MFP 101.
The effect of the flowchart of
In step S1301, the mobile terminal cooperation unit 501 detects that the mobile terminal 102 is placed on the mobile terminal placing spot by using the contact detection sensor 224. The mobile terminal cooperation unit 501 may be configured to issue a Bluetooth (registered trademark) beacon if the mobile terminal 102 is detected to be placed. In step S1302, the mobile terminal cooperation unit 501 establishes a connection with the mobile terminal 102 by short-range wireless communication.
In step S1303, the mobile terminal cooperation unit 501 waits for the reception of a handover ID from the mobile terminal 102 for a certain time. If a handover ID is received (YES in step S1303), the processing proceeds to step S1304. If the certain time has elapsed without receiving a handover ID (NO in step S1303), the processing is ended.
In step S1304, the menu display unit 502 transmits an acquisition request for handover information corresponding to the handover ID received in step S1303 to the handover management unit 701 of the management server 103.
In step S1305, the menu display unit 502 receives a response to the acquisition request for handover information from the handover management unit 701 of the management server 103.
In step S1306, the menu display unit 502 determines whether the response received in step S1305 includes handover information. If handover information is included (YES in step S1306), the processing proceeds to step S1307. If handover information is not included (NO in step S1306), the processing is ended.
In step S1307, the menu display unit 502 calls the web browser 503 to access a handover URL included in the handover information. In step S1308, the web browser 503 accesses the handover URL (web application 601). The web browser 503 then accepts the user's operations as appropriate, interacts with the web application 601, and executes the web application 601.
The effect of the flowchart of
In the procedure described in the present exemplary embodiment, the operation status of a web application cooperating with an MFP and being operated on a mobile terminal can be handed over to the MFP by simply moving the mobile terminal to a position at a predetermined distance from the MFP. This improves the convenience of the user.
Other EmbodimentsEmbodiment(s) of the present invention can also be realized 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 (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or 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, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present 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
1. (canceled)
2. An information processing system comprising:
- a first device; and
- a second device;
- wherein the first device includes
- at least one processor and at least a memory coupled to the at least one processor and having instructions stored thereon, and when executed by the at least one processor, acting as: a first execution unit configured to execute an application; and a transmitting unit configured to transmit, to the second device, first information for handing over a first screen which is a screen of the application and to which a transition occurred by performing an operation on the first device;
- wherein second device includes
- at least one processor and at least a memory coupled to the at least one processor and having instructions stored thereon, and when executed by the at least one processor, acting as: a receiving unit configured to receive the first information; and a second execution unit configured to execute the application;
- wherein, based on execution of communication between the first device and the second device, the transmitting unit transmits the first information to the second device, and the second execution unit executes the application, with the first screen opened, by using the transmitted first information.
3. The information processing system according to claim 2, wherein the application is a web application.
4. The information processing system according to claim 2, wherein the second device is an image processing device that has at least one of a print function or a scan function.
5. The information processing system according to claim 2, wherein the communication is near field communication (NFC) or Bluetooth communication.
6. The information processing system according to claim 2, wherein the transmitting unit transmits the first information to the second device on condition that reception signal intensity of a Bluetooth signal transmitted from the second device is a predetermined level of intensity or higher.
7. The information processing system according to claim 6, wherein
- the at least one processor of the second device further comprises a detecting unit configured to detect that the first device is placed on a predetermined position, and
- in a case where the first device is detected to be placed on the predetermined position, a Bluetooth (registered trademark) packet is transmitted.
8. The information processing system according to claim 2, wherein the transmitting unit transmits the first information to the second device via wireless local area network (LAN) communication whose connection is established based on connection information acquired from the second device via NFC communication.
9. The information processing system according to claim 2, wherein
- the first information is information for handing over the screen of the application to which the transition occurred by performing an operation on the first device and handing over an operation state caused by the operation, and
- upon transmission of the first information to the second device, the second execution unit opens the first screen, with the operation state held.
10. The information processing system according to claim 2, wherein the first information is information for calling up an identifier of the operation screen and a setting value that was set on a previous screen before the operation screen.
11. The information processing system according to claim 2, further comprising a web server that provides the application;
- wherein the web server includes at least one processor and at least a memory coupled to the at least one processor and having instructions stored thereon, and when executed by the at least one processor, acting as; a providing unit configured to provide the screen of the application; and a registering unit configured to register second information in association with the first information, the second information including information indicating the screen of the application to which the transition occurred by performing the operation on the first device; wherein, upon transmission of the first information to the second device, the second execution unit accesses the web server by using the first information, and the providing unit provides the first screen to the first device based on the second information associated with the first information.
12. The information processing system according to claim 11, wherein the registering unit registers, in association with the first information, an identifier of an operation screen and a setting value that was set on a previous screen before the operation screen.
13. The information processing system according to claim 11, wherein the web server transmits the first information to the first device.
14. The information processing system according to claim 11, further comprising a management server configured to manage the first information;
- wherein the at least one processor and the at least memory further act as;
- a storing unit configured to store the first information in association with a uniform resource locator (URL) for accessing the web server;
- wherein, upon the transmission of the first information to the second device, the second execution unit acquires the URL associated with the first information and accesses the web server based on the URL.
15. The information processing system according to claim 2, wherein
- the application is an application for causing the second device to perform processing, and
- the application provides a plurality of screens including a setting screen for making settings for causing the second device to perform the processing.
16. The information processing system according to claim 2, wherein, based on execution of short-range wireless communication between the first device and the second device, the transmitting unit transmits the first information to the second device.
17. A method for an first device and an second device, the method comprising;
- transmitting, to the second device, first information for handing over a first screen which is a screen of the application and to which a transition occurred by performing an operation on the first device;
- receiving the first information by the second device; and
- executing the application by the second device;
- wherein, based on execution of communication between the first device and the second device, the first information is transmitted from the first device to the second device, and, in the executing, the application is executed, with the first screen opened, by using the transmitted first information.
18. A first device comprising:
- at least one processor and at least a memory coupled to the at least one processor and having instructions stored thereon, and when executed by the at least one processor, acting as;
- a first execution unit configured to execute an application; and
- a transmitting unit configured to transmit, to the second device, first information for handing over a first screen which is a screen of the application and to which a transition occurred by performing an operation on the first device; wherein, based on execution of communication between the first device and the second device, the transmitting unit transmits the first information to the second device.
19. A method for a first device comprising;
- executing an application; and
- transmitting, to a second device, first information for handing over a first screen which is a screen of the application and to which a transition occurred by performing an operation on the first device;
- wherein, based on execution of communication between the first device and the second device, the first information is transmitted to the second device.
Type: Application
Filed: Jul 16, 2021
Publication Date: Nov 4, 2021
Inventor: Satoki Watariuchi (Tokyo)
Application Number: 17/378,127