Image forming apparatus and control method thereof

JP2024006191A5Pending Publication Date: 2025-06-27CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2022106862
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-07-01
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

Existing communication terminals under proxy management can inadvertently access restricted web pages through cloud browsers, posing a security risk due to insufficient proxy restrictions when using image generation servers.

Method used

A web browsing system that includes an image generation server, a proxy server, and a communication terminal, which utilizes a proxy server to monitor and filter URLs, generating web pages only if the proxy server allows access, thereby enforcing proxy restrictions.

Benefits of technology

The system effectively enforces proxy restrictions, preventing unauthorized access to web pages, enhancing the security of communication terminals within an intranet by ensuring compliance with proxy settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a system that browses a web page by using an image creation server, and can apply restriction by proxy.SOLUTION: A cloud browser system (1-00) has: an image creation server (1-30); a proxy server (1-04); and an image forming apparatus (1-01) that acquires the URL of an access destination, notifies the proxy server of the URL, acquires a status code corresponding to the URL from the proxy server, and requests the image creation server to render a web page corresponding to the URL based on the fact that the status code is a predetermined status code.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication terminal used in a Web browsing system. This communication terminal can be applied to image processing devices such as printers, scanners, FAX machines, and multifunction devices thereof, as well as general-purpose information processing devices such as personal computers and mobile terminals. [Background technology]

[0002] Conventionally, communication terminals such as image processing devices (information processing devices) equipped with a web browser (hereinafter referred to as a browser) and having a function for browsing web pages on the browser are known. A communication terminal that accesses a web page of an external service through the web browser can expand its functions by linking with the external service. In addition, when using such a web browser, in certain environments, methods such as restricting access or leaving an access history through a proxy are sometimes used to ensure security.

[0003] Recently, a mechanism called a cloud browser that uses an image generation server that generates rendering results of a web page on a cloud server is being considered. Patent Document 1 discloses a system that renders a web page on a virtual machine on a network different from that of a communication terminal and displays the rendering results on the communication terminal. With such a system, processes with high computational loads, such as analysis and execution of a web page, are executed on the server, so that the required specifications of the communication terminal can be reduced. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2022-41717 Summary of the Invention [Problem to be solved by the invention]

[0005] Patent Document 1 does not consider the configuration when the communication terminal is under Proxy management, and there is room for improvement. This is because there is a possibility that the communication terminal may access a Web page that is supposed to be restricted by the Proxy by going through an image generation server existing on the cloud. The details are as follows. When a communication terminal under Proxy management uses a cloud browser function, access permission to the server of the image generation server is set. Then, when the communication terminal notifies the image generation server of the URL of a Web page that is supposed to be access-restricted, this communication is permitted. Furthermore, the image generation server transmits a rendering result of the Web page to the communication terminal, but this communication is permitted. Therefore, the communication terminal may be able to access a Web page that is supposed to be access-restricted, which may lead to a security risk.

[0006] The present invention has been made in consideration of the above problems, and has an object to provide a system that can apply proxy restrictions in a configuration in which an image generation server is used to browse Web pages. [Means for solving the problem]

[0007] The present invention is characterized in that, in a Web browsing system, it comprises an image generation server that renders Web pages, a proxy server that monitors communications, and a communications terminal that has: means for acquiring a URL to be accessed, means for notifying the proxy server of the URL, means for acquiring a status code corresponding to the URL from the proxy server, and means for requesting the image generation server to render a Web page corresponding to the URL based on the status code being a predetermined status code. Effect of the Invention

[0008] It is possible to provide a system that can apply proxy restrictions in a configuration in which an image generation server is used to browse Web pages. [Brief description of the drawings]

[0009] [Figure 1] 1 is a block diagram showing an overall configuration of a cloud browser system. [Diagram 2] 2A and 2B are block diagrams showing the hardware and software configurations of a virtual machine. [Diagram 3] Fig. 3A is a block diagram showing a hardware configuration of the image forming apparatus, and Fig. 3B is a block diagram showing a software configuration of the image forming apparatus. [Figure 4] FIG. 13 is a diagram showing a setting screen of a cloud browser. [Diagram 5] FIG. 4 illustrates an example of a home screen of the image forming apparatus. [Figure 6] Fig. 6(A) is a diagram showing an example of a screen generated in an image generation server, and Fig. 6(B) is a diagram showing an example of a URL input screen. [Figure 7] 11 is a flowchart showing a procedure of a process performed by the image forming apparatus and a virtual machine. [Figure 8] 11 is a flowchart showing a procedure of a process in a proxy subflow executed by the image forming apparatus. [Figure 9] FIG. 13 is a diagram illustrating a proxy determination table held by the cloud browser. [Figure 10] FIG. 2 is a diagram showing a usage sequence of the cloud browser system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, the embodiment of the present invention will be described in detail with reference to the drawings. Note that the scope of the present invention is not limited to the configurations described in the embodiments. As long as the same effect is obtained, modifications such as replacing part of the configuration or part of the processing with an equivalent or omitting it may be made.

[0011] (Example) FIG. 1 is a diagram showing the overall configuration of a cloud browser system. The cloud browser system 1-00 is a web browsing system that renders web content on a cloud. The cloud browser system 1-00 includes multiple image forming devices 1-01 to 1-03, an image generation server 1-30 to which these image forming devices are connected, a web page server 1-05 that provides web pages, and a proxy server 1-04. FIG. 1 shows an example in which there is one image generating server 1-30 and three image forming devices 1-01 to 1-03 are connected. However, any number of image forming devices may be connected to the image generating server 1-30. The image generating server 1-30 is configured to provide services to multiple image forming devices in parallel or in a time-sharing manner. Therefore, the number of image generating servers 1-30 in the cloud browser system 1-00 is relatively small compared to the number of image forming devices. In addition, multiple image generating servers may be arranged in the cloud browser system 1-00 for the purpose of distributing the load, etc. In the following, the relationship with the image generation server 1-30 will be described using the image forming apparatus 1-01 as an example representing the multiple image forming apparatuses.

[0012] The image generation server 1-30 is a system on the cloud that provides a service that substitutes for the rendering of web content. The image generation server 1-30 includes a gateway 1-06 and a virtual machine 1-07. Although details will be described later, a browser engine, which is a software module, runs on the virtual machine 1-07 of the image generation server 1-30. The browser engine receives a URL transmitted from the image forming device 1-01 via the gateway 1-06. The browser engine then accesses a web page corresponding to the received URL via the gateway 1-06 and receives web content such as HTML from the web page. After that, a rendering result (rendered image) of the received web content is generated by a software module that performs rendering, which is separately prepared. The rendering result is transmitted to the image forming device 1-01 via the gateway 1-06.

[0013] The image forming apparatus 1-01 is an image processing apparatus (information processing apparatus, communication terminal) having a function of forming (printing) an image on a sheet (paper) or a function of sending image data generated by scanning to an arbitrary destination. The image forming apparatus 1-01 may be a printer of either MFP or SFP type. The printing method of the image forming apparatus 1-01 may be either electrophotographic method or inkjet method. The image forming apparatus 1-01 of this embodiment is characterized in that it browses and displays web content on the Internet by using an image generation server 1-30. Details will be described later.

[0014] The image forming device 1-01 is also present in an intranet 1-20 and can communicate with other devices in the same intranet. For example, the image forming device 1-01 can receive print data from a user terminal 1-08. The image forming device 1-01 can also provide a web page to the user terminal 1-08 by functioning as a web server.

[0015] The proxy server 1-04 is a server that monitors and restricts communication going inside and outside the intranet 1-20. The proxy server 1-04 performs URL filtering (web filtering) to restrict access to websites. This access restriction is performed using a list of websites that are prohibited from being accessed or a list of websites that are permitted to be accessed. Each device in the intranet 1-20 connects to the Internet via or without the proxy server 1-04 according to the settings that each device holds. For example, in FIG. 1, assume that a user operates the image forming device 1-01 to input a request to view a web page server 1-05 that the user wants to view. Then, the image forming device 1-01 transmits the address (hereinafter referred to as URL) of the web page server 1-05 to the image generation server 1-30 via the proxy server 1-04. The proxy server 1-04 is set in the DMZ 1-10. The DMZ (Demilitarized Zone) 1-10 is a segment isolated from the intranet 1-20 for security enhancement.

[0016] <Virtual Machine> FIG. 2A is a block diagram showing the hardware configuration of a virtual machine.

[0017] The virtual machine 1-07 includes a CPU 2-01, a storage 2-02, a RAM 2-03, an interface 2-04, and a communication interface 2-05. Each component is communicatively connected via a bus 2-06.

[0018] A CPU (Central Processing Unit) 2-01 executes various processes using computer programs and data stored in the storage, thereby controlling the overall operation of the virtual machine 1-07 and executing or controlling each process that will be described as being performed by the virtual machine 1-07.

[0019] The storage 2-02 stores setting data for the virtual machine 1-07, computer programs and data related to the startup of the virtual machine 1-07, computer programs and data related to the basic operation of the virtual machine 1-07, etc. The RAM 2-03 has an area for storing computer programs and data loaded from the storage 2-02, and data received from an external device via the communication interface 2-05. The RAM 2-03 also has a work area used when the CPU 2-01 executes various processes. In this way, the RAM 2-03 can provide various areas (storage regions) as appropriate.

[0020] The interface 2-04 is an interface including a display unit for displaying the processing results by the CPU 2-01 as images and characters, an operation unit operated by the user to perform various operation inputs, etc. The display unit includes a liquid crystal screen and a touch panel screen, and the operation unit includes a user interface such as a keyboard, a mouse, and a touch panel screen.

[0021] The communication interface 2-05 is an interface for performing data communication with an external device.

[0022] The configuration shown in FIG. 2(A) is merely an example of a configuration applicable to a virtual machine, and is not intended to be limited to the configuration shown in FIG. 2(A). For example, in the configuration shown in FIG. 2(A), a memory device may be further connected to the bus 2-06. The memory device includes, for example, a hard disk drive, a USB memory, a magnetic card, an optical card, an IC card, a memory card, and a drive device (a drive device for a storage medium such as an optical disk such as a flexible disk (FD) or a compact disk (CD)). The virtual machine 1-07 can be configured by a so-called virtualization technology, and various resources constituting a computer system can be organized into logical units independent of the physical configuration. That is, it is possible to integrate multiple resources to configure the virtual machine 1-07, or to divide one resource and configure one of the resources as the virtual machine 1-07. That is, the virtual machine 1-07 can be configured using at least a part of multiple resources (which can be configured by multiple devices) of an information processing system constituting a cloud.

[0023] FIG. 2B is a diagram showing the software configuration of a virtual machine that operates in the cloud browser system. The overall control unit 2-50 is a module that controls the entire virtual machine of the cloud browser system 1-00. The NW control unit 2-53 is a module that receives communication from the outside and transmits data through the communication interface 2-05. The NW control unit 2-53 receives a rendering request for Web content specified by a URL and notifies the overall control unit 2-50 of the request. Rendering refers to generating images and the like from abstract, high-level information described in a data description language or data structure. The overall control unit 2-50 receives the rendering request notification and notifies the browser engine 2-51 of the specified URL. The browser engine 2-51 requests the NW control unit 2-53 to acquire Web content of the specified URL. The NW control unit 2-53 accesses the URL via the specified proxy and acquires the Web content. The browser engine 2-51 requests the drawing control unit 2-52 to draw the acquired Web content information. The overall control unit 2-50 notifies the image data drawn by the drawing control unit 2-52 to an external communication device via the NW control unit 2-53.

[0024] <Image forming device> 3A is a diagram showing the hardware configuration of an image forming apparatus 1-01, which includes a controller unit 3-00, an operation unit 3-12, a USB storage 3-14, a scanner 3-70, and a printer 3-95.

[0025] The operation unit 3-12 is an operation unit that displays information to the user and accepts input from the user.

[0026] The operation unit 3-12 is composed of, for example, a display, a touch panel sensor, and hard keys.

[0027] The USB storage 3-14 is an external storage device that stores data and is detachable from the USB host I / F 3-13.

[0028] The scanner 3-70 is an image reading unit (image reading device, image input device) that reads an image from a document.

[0029] The printer 3-95 is an image forming unit (image forming device, image output device) that forms an image on a sheet (paper).

[0030] The controller unit 3-00 is a control unit having a configuration for performing various controls in the image forming apparatus 1-01. For example, the controller unit 3-00 performs control for implementing a copy function in which image data read by the scanner 37-0 is printed out by the printer 3-95.

[0031] The controller unit 3-00 includes a CPU 3-01, a RAM 3-02, a ROM 3-03, a storage 3-04, and an image path I / F 3-05. These components are connected to each other so as to be able to communicate with each other via a system bus 3-07.

[0032] The controller unit 3-00 also includes an operation unit I / F 3-06, a network I / F 3-10, a USB host I / F 3-13, an RTC 3-15, a device I / F 3-20, a scanner image processing unit 3-80, and a printer image processing unit 3-90. These components are communicatively connected via an image path I / F 3-05 and an image path.

[0033] The CPU 3-01 starts up an operating system (OS) using a boot program stored in the ROM 3-03. The CPU 3-01 executes programs stored in the storage 3-04 on this OS, thereby executing various processes. The RAM 3-02 is used as the working area for the CPU 3-01. The RAM 3-02 provides a working area as well as an image memory area for temporarily storing image data. The storage 3-04 is a storage unit that stores programs and image data. The storage 3-04 can be an HDD, SSD, or eMMC.

[0034] To the CPU 3-01, ROM 3-03, RAM 3-02, operation unit I / F (operation unit interface) 3-06, network I / F 3-10, USB host I / F 3-13, and image bus I / F (image bus interface) 3-05 are connected via a system bus 3-07. The operation unit I / F 3-06 is an interface with the operation unit 3-12, and outputs image data to be displayed on the operation unit 3-12 to the operation unit 3-12. The operation unit I / F 3-06 also sends information input by a user on the operation unit 3-12 to the CPU 3-01. The network I / F 3-10 is an interface for connecting the image forming apparatus to a LAN.

[0035] The USB host I / F 3-13 is an interface unit that communicates with the USB storage 3-14. The USB host I / F 3-13 is an output unit for storing data stored in the storage 3-04 in the USB storage 3-14. The USB host I / F 3-13 also inputs data stored in the USB storage 3-14 and transmits it to the CPU 3-01. A plurality of USB devices including the USB storage 3-14 can be connected to the USB host I / F 3-13.

[0036] The RTC3-15 controls the current time. The time information controlled by the RTC3-15 is used to record the time when a job is submitted, etc.

[0037] The image bus I / F 3-05 is a bus bridge that connects the system bus 3-07 and an image bus 3-08 that transfers image data at high speed and converts the data format. On the image bus 3-08, a device I / F 3-20, a scanner image processing unit 3-80, and a printer image processing unit 3-90 are provided. The device I / F 3-20 is connected to a scanner 3-70 and a printer 3-95, and performs synchronous / asynchronous conversion of image data. The scanner image processing unit 3-80 corrects, processes, and edits input image data. The printer image processing unit 3-90 performs correction, resolution conversion, etc. on print output image data according to the printer 3-95.

[0038] FIG. 3B is a diagram showing the software configuration of the image forming apparatus.

[0039] Each part indicated by a solid line in Fig. 3(B) is a software module realized by the CPU 3-01 executing a main program loaded into the RAM 3-02. The execution of each module of the main program, which will be described later, is managed and controlled by an OS (Operating System) 3-51.

[0040] The UI control unit 3-52 displays a screen on the operation unit 3-12 and accepts operations from the user via the operation unit 3-06. It also has a function of notifying other modules, receiving drawing instructions from other modules, and controlling screen updating.

[0041] The job execution control unit 3-53 is a module that receives a job execution instruction from the UI control unit 3-52 and controls job processing such as copying, scanning, and printing.

[0042] The NW control unit 3-54 receives a communication request from another module, controls the network IF 3-10, and controls communication with an external device. Also, upon receiving a notification from an external device, it notifies the other modules of the content of the notification.

[0043] The storage control unit 3-55 records and manages the setting information and job information recorded in the storage 3-04. Each module located in the OS hierarchy accesses the storage control unit 3-55 to refer to and set the setting values.

[0044] The browser control unit 3-60 is a submodule included in the OS 3-51, and performs control specific to the cloud browser, which will be described later. The number of submodules included in the OS is arbitrary.

[0045] The browser operation unit 3-62 has a function of notifying the command IF unit 3-64 or the proxy processing unit 3-65 of the contents of the user operation when the browser operation unit 3-62 receives a notification of the user operation from the UI control unit 3-52.

[0046] The proxy processing unit 3-65 receives a notification from the browser operation unit 3-62 and requests the storage control unit 3-55 to obtain proxy setting information. If the proxy setting is valid based on the obtained proxy setting information, it requests communication to the proxy server 1-04 via the NW control unit 3-54. It also has a function of receiving a response to the communication request from the NW control unit 3-54 and notifying the browser display unit 3-63 or command IF unit 3-64 of the result of processing the contents of the response.

[0047] The command IF unit 3-64 receives notifications from the browser operation unit 3-62 and the proxy processing unit 3-65, and requests communication with the image generation server 1-30 through the NW control unit 3-54. The communication request at this time may include the notified information. The notified information includes user operations such as text input, link press, scrolling, and zooming. For example, text input includes a URL. When a link is pressed, the pressed coordinates on the operation unit 3-12 are included, and when scrolling and zooming, character strings associated with each are included. In addition, the command IF unit 3-64 accepts communication from the image generation server 1-30 through the NW control unit 3-54. It processes the accepted content and notifies the image data acquisition unit 3-61 or the browser display unit 3-63.

[0048] The image data acquisition unit 3-61 receives the URL of the storage 2-02 in which the rendering result is stored from the command IF unit 3-64, receives the image from the URL, and passes it to the browser display unit 3-63.

[0049] The browser display unit 3-63 receives an image from the image data acquisition unit 3-61 and instructs the UI control unit 3-52 to draw the image. Also, upon receiving a notification from the command IF unit 3-64 and the proxy processing unit 3-65, it instructs the UI control unit 3-52 to draw a screen that displays a message corresponding to the notification.

[0050] <System usage flow> The flow of using the cloud browser system 1-00 having the above-mentioned configuration will be described below. Fig. 10 is a diagram showing the usage sequence of the cloud browser system.

[0051] In S10-01, the user performs pre-settings for using the proxy server 1-04. This pre-settings is performed on a setting WEB page provided by the WEB server function of the image forming apparatus. The user can access this WEB page by using a web browser of an information processing terminal such as the user terminal 1-08. The setting WEB page will be described in detail later with reference to FIG. 4.

[0052] In S10-02, the proxy setting information set by the user is notified to the NW control unit 3-54 via the network I / F 3-10.

[0053] In S10-03, in response to receiving the notification, the NW control unit 3-54 records the setting information in the storage 304 via the storage control unit 3-55.

[0054] In S10-04, the user selects the cloud browser function on the menu screen displayed on the operation unit 3-12 of the image forming apparatus 1-01. FIG. 5 is a diagram showing the menu screen displayed on the image forming apparatus 1-01. The screen is generated by the CPU 3-01 executing a program constituting the UI control unit 3-52 shown in FIG. 3(B), and is displayed on the operation unit 3-12. Button 5-01 is a button related to the copy function. Button 5-02 is a button related to the print function. Button 5-03 is a button related to the cloud browser. Button 5-04 is a button related to the scan function. When each button is selected, the corresponding function is called up. Note that button 5-03 is displayed on the menu screen only when the settings for using the cloud browser have been completed.

[0055] In S10-05, the operation unit I / F 3-06 detects that the button 5-03 has been pressed. Then, the CPU 3-01 loads the browser control unit 3-60 associated with the button corresponding to the cloud browser function into the RAM 3-02 and executes it.

[0056] In S10-06, the Proxy processing unit 3-65 sends an acquisition request to the storage control unit 3-55 to acquire the setting information recorded in the storage 304.

[0057] In S10-07, the storage control unit 3-55 refers to the proxy setting information of the storage 304 and returns the requested setting information.

[0058] If the PROXY setting is valid, in S10-08, the Proxy processing unit 3-65 refers to the Proxy setting file for setting information. If the Proxy setting file is found, in S10-09, the Proxy processing unit 3-65 reflects the information in the Proxy setting file in the Proxy determination table.

[0059] If no start-up URL is specified, in S10-10, the proxy processing unit 3-65 instructs the browser operation unit 3-62 to draw the screen 6-20 of FIG. 6(B) in order to accept user input. The browser operation unit 3-62 receives the drawing instruction and draws the screen 6-20 of FIG. 6(B) through the UI control unit 3-52. FIG. 6(B) is a diagram showing a URL input screen. The screen 6-20 is a screen generated by the browser control unit 3-60 and can be displayed regardless of the connection state with the virtual machine 1-07. The screen 6-20 is displayed when the WEB page to be displayed is in an unspecified state. For example, the screen 6-20 is displayed when the cloud browser function is started without setting the start-up URL, or after a certain time has passed since a communication error caused by the PROXY server 1-04 or the like occurs and error information is displayed. The screen 6-20 has an area 6-21 in which text can be input. The user can select the area 6-21 and input the URL to try to access the WEB page indicated by the URL. In S10-11, the user operates the screen displayed on the operation unit 3-12 to input the URL of the web page he or she wishes to view. In S10-12, the operation unit I / F 3-06 detects that the URL has been input and notifies the UI control unit 3-52. The UI control unit 3-52 notifies the proxy processing unit 3-65 of the URL. The proxy processing unit 3-65 holds the notified URL and updates the input state of the URL.

[0060] In S10-13, the Proxy processing unit 3-65 requests communication with the Proxy server 1-04 via the NW control unit 3-54.

[0061] In S10-14, the Proxy server 1-04 determines whether or not to impose a restriction on the received URL.

[0062] In S10-15, the Proxy server 1-04 returns a response as a result of the determination to the NW control unit 3-54.

[0063] In S10-16, the NW control unit 3-54 receives the notification and returns a response to the communication request to the proxy processing unit 3-65. The proxy processing unit 3-65 compares the status code (HTTP status code) in the response header from the proxy server with the proxy determination table. FIG. 9 is a diagram showing the proxy determination table held by the cloud browser. The proxy determination table 9-00 is a table that associates response codes 9-01 with corresponding processing contents 9-02. The proxy processing unit 3-65 uses the determination table to check the processing corresponding to the status code. Note that the proxy determination table 9-00 is only an example, and the correspondence between the status codes and the processing may be changed as appropriate according to the design concept, etc.

[0064] If the received status code is a predetermined status code, for example, "status code 503," in S10-17, the browser display unit 3-63 receives a notification indicating "restriction" from the proxy processing unit 3-65. The browser display unit 3-63 generates a message of access restriction based on the notification, and displays it on the operation unit 3-12 via the UI control unit 3-52.

[0065] If the received status code is "status code 407", in S10-18, the browser display unit 3-63 receives a notification indicating "proxy setting" from the proxy processing unit 3-65. The browser display unit 3-63 generates a proxy setting message and displays it on the operation unit 3-12 via the UI control unit 3-52. In S10-19, the browser display unit 3-63 displays a proxy setting screen (not shown) on the operation unit 3-12 via the UI control unit 3-52. In S10-20, the user inputs proxy authentication information via the proxy setting screen. The browser operation unit receives a notification of the user input from the UI control unit 3-52 and notifies the proxy processing unit 3-65. The proxy processing unit 3-65 updates the setting via the storage control unit 3-55.

[0066] If the received status code is a "status code in the 300s," in S10-21, the proxy processing unit 3-65 obtains the redirect URL in the response header. Status codes in the 300s include "300 Multiple Choices," "301 Moved Permanently," "302 Found," "303 See Other," "304 Not Modified," "305 Use Proxy," "307 Temporary Redirect," and "308 Permanent Redirect."

[0067] If the received status code is a "status code in the 200s," in S10-22, the proxy processing unit 3-65 notifies the command IF unit 3-64 of the URL based on the processing result. Status codes in the 200s include "200 OK," "201 Created," "202 Accepted," "203 Non-Authoritative Information," "204 No Content," "205 Reset Content," "206 Partial Content," "207 Multi-Status," and "226 IM Used."

[0068] In S10-23, the command IF unit 3-64 notifies the image generation server 1-30 of the URL information and the user input information via the NW control unit 3-54 in order to request rendering of the Web page. The image generation server 1-30 in the corresponding virtual machine 1-07 receives the rendering request via the gateway 1-06. The image generation server 1-30 interprets the received URL information and the user input information and notifies the browser engine 2-51. The browser engine 2-51 accesses the Web page server 1-05 via the gateway 1-06 based on the notified information and requests to acquire Web content. In S10-24, the Web page server 1-05 returns the Web content requested. In S10-25, the drawing control unit 2-52 performs rendering using the Web content acquired by the browser engine 2-51, and stores the generated image data, which is the rendering result, in the storage 2-02 via the NW control unit 2-53. The virtual machine 1-07 notifies the NW transmission / reception unit 3-67 of the URL of the storage 2-02 storing the image data. In S10-27, the NW transmission / reception unit 3-67 receives the notification and notifies the command IF unit 3-64 of the URL via the NW control unit 3-54. The command IF unit 3-64 receives the notification and notifies the image data acquisition unit 3-61 of the URL. The image data acquisition unit 3-61 uses the notified URL to access the virtual machine 1-07 via the NW control unit 3-54. Then, it requests an image from the virtual machine 1-07. In S10-28, the virtual machine 1-07 that has received the image acquisition request returns image data as a response to the request. In S10-29, the image data acquisition unit 3-61 receives the response notification from the NW control unit 3-54 and acquires the image data. Then, it transfers the acquired image data to the browser display unit 3-63. The browser display unit 3-63 issues a drawing request to the UI control unit 3-52 to display the acquired image on the operation unit 3-12. As a result, web content is displayed on the operation unit 3-1 of the image forming apparatus 1-01. For example, a page of a web search service is displayed as an example of the web content.

[0069] Fig. 6(A) is a diagram showing how a web page is viewed using a cloud browser system. As shown in Fig. 6(A), the browser display screen displayed by the browser display unit 3-63 has a basic information area 6-05 and a page display area 6-06. The basic information area 6-05 has buttons 6-01, 6-02, 6-03, and a character string display area 6-04.

[0070] The menu button 6-01 is a button for referring to favorites and history, which are one of the browser functions. When the menu button 6-01 is selected, for example, a pop-up screen is displayed, allowing the user to view Web pages registered in favorites and the history of visited Web pages.

[0071] The button 6-02 is a button for returning the display state of the page display area 6-06 to the previous state. When the button 6-02 is pressed, the rendering result of the previously displayed Web page is displayed in the page display area 6-06.

[0072] The button 6-03 advances the display state of the page display area 6-06 to the next state. When the button 6-03 is pressed, the rendering result of the next web page is displayed in the page display area 6-06. The character string display area 6-04 shows the URL and title of the displayed web page.

[0073] The page display area 6-06 displays a screen rendered by the virtual machine or a message generated internally by the browser display unit 3-63. Here, the page display area 6-06 displays an image 6-10 resulting from rendering a page of a WEB search service by the virtual machine 1-07. The image data acquisition unit 3-61 acquires image data from the virtual machine, and the browser display unit 3-63 instructs the UI control unit 3-52 to render the acquired image, thereby rendering a browsing screen in the page display area 6-06. When a user selects a link in the image 6-10 resulting from the rendering, the proxy processing unit 3-65 requests the image generation server 1-30 to render the linked Web page. Thereafter, the rendering result is acquired in the same manner as described above, and the screen of the linked page is displayed in the page display area 6-06.

[0074] <Proxy settings> 4 is a diagram showing a setting screen of the cloud browser system. This setting screen can be viewed from an external device by providing it as a web page using the server function of the image forming apparatus 1-01. For example, a user terminal 1-08 connected to the same network line can display a setting screen 4-00 by inputting a specific URL into a web browser. The process of S10-01 is performed using this setting screen. Note that the setting screen 4-00 may be made directly displayable on the operation unit 3-12 without being converted into web page information.

[0075] The setting screen 4-00 includes items 4-01, 4-02, 4-03, 4-04, and 4-05.

[0076] Item 4-01 is a setting item for turning the use of the cloud browser function ON / OFF. Checking the checkbox for item 4-01 turns the use of the cloud browser function ON, and the cloud browser button 5-03 appears on screen 5-00. Unchecking the checkbox for item 4-01 turns the use of the cloud browser function OFF, and the cloud browser button 5-03 is removed from screen 5-00. Also, item 4-01 is the first item operated on the settings screen 4-00, and checking the checkbox for item 4-01 makes it possible to operate the other items.

[0077] Item 4-02 is a setting item for setting whether or not to use a proxy. In an environment where a proxy is used for Internet access, check the check box of setting item 4-02 and set the proxy host and port information.

[0078] Item 4-03 is a setting item for setting authentication information for proxy authentication. In an environment where authentication is required to use a proxy, check the check box for item 4-03 and specify the proxy authentication information (ID, Password).

[0079] Item 4-04 is a setting item for setting the startup URL. Checking the checkbox for item 4-04 and entering a URL in the input field will automatically access the specified URL when the cloud browser app is started. The information set here is notified via the network I / F 3-10 and recorded in the storage 3-04.

[0080] Item 4-05 is a setting item for instructing the loading of a proxy setting file. Checking the check box for item 4-05 and loading a text file specified in the file specification field will change the settings of the proxy determination table 9-00. This text file contains the status codes and the corresponding processes, just like the proxy determination table 9-00.

[0081] <Control> Fig. 7 is a flowchart showing the procedure of the process performed by the image forming apparatus and the virtual machine. Of the processes shown in Fig. 7, the process on the image forming apparatus 1-01 side is realized by the controller unit 3-00. In detail, the process is realized by loading a program stored in the ROM 3-03 or the storage 3-04 into the RAM 302 and executing it by the CPU 3-01. Of the processes shown in Fig. 7, the process on the virtual machine 1-07 side is realized by loading a program stored in the storage 2-02 into the RAM 2-03 and executing it by the CPU 2-01.

[0082] In S7-01, the proxy processing unit 3-65 refers to the storage control unit 3-55 and acquires the URL of the access destination. This URL is the URL designated in 4-04 or the URL designated by the user.

[0083] In S7-02, the Proxy processing unit 3-65 executes a Proxy subflow, the details of which will be described later.

[0084] In S7-11, the proxy processor 3-65 determines whether the proxy subflow has ended normally. If the proxy subflow has ended normally (YES), the proxy processor 3-65 proceeds to S703. If the proxy subflow has ended abnormally (NO), the proxy processor 3-65 ends the flow.

[0085] In S7-03, the proxy processing unit 3-65 notifies the command IF unit 3-64 of the URL acquired in S7-01. Based on the notification, the command IF unit 3-64 requests the virtual machine 1-07 to perform rendering.

[0086] In S7-04, the image generation server 1-30 in the virtual machine 1-07 receives the rendering request via the gateway 1-06. The image generation server 1-30 interprets the received user input information and notifies the browser engine 2-51.

[0087] In S7-05, the browser engine 2-51 acquires the Web content via the gateway 1-06 based on the notified information.

[0088] In S7-06, the drawing control unit 2-52 performs rendering from the Web content acquired by the browser engine 2-51.

[0089] In S7-07, the image data of the rendering result generated in S7-06 is stored in the storage 2-02 via the NW control unit 2-53.

[0090] In S7-08, the NW control unit 2-53 notifies the NW transmission / reception unit 3-67 of the image forming apparatus 1-01 of the URL of the storage 2-02 in which the rendering result is stored. Then, the command IF unit 3-64 receives the notification from the NW transmission / reception unit 3-67 and notifies the image data acquisition unit 3-61 of the URL.

[0091] In S7-09, the image data acquisition unit 3-61 makes a communication request to the NW control unit 3-54 via the notified URL and acquires image data of the rendering result.

[0092] In S7-10, the image data acquisition unit 3-61 transfers the acquired image data to the browser display unit 3-63. The browser display unit 3-63 instructs the UI control unit 3-52 to draw a screen including the image data.

[0093] In this manner, a series of processes in the cloud browser system 1-00 is executed.

[0094] Next, the Proxy subflow will be described in detail with reference to a flowchart of FIG 8, which shows the procedure of processing in the Proxy subflow executed by the image forming apparatus.

[0095] In S8-01, the Proxy processing unit 3-65 refers to the storage control unit 3-55 and judges whether the Proxy is valid or not. If it is valid (YES), the process proceeds to S8-02, and if it is invalid (NO), the process proceeds to normal termination of S8-11, and the subflow ends.

[0096] In S8-02, the proxy processing unit 3-65 refers to the storage control unit 3-55 and judges whether or not a proxy setting file has been set. If not (NO), the process proceeds to S8-04. If set (YES), the process proceeds to S8-03, where the contents of the proxy setting file are reflected in the proxy judgment table 9-00.

[0097] In S8-04, the proxy processing unit 3-65 requests the NW control unit 3-54 to communicate the URL to the proxy server 1-04. The proxy processing unit 3-65 receives a response to the request from the proxy server 1-04 from the NW control unit 3-54.

[0098] In S8-05, the proxy processing unit 3-65 makes a decision based on the status code in the response header obtained from the proxy server and the proxy decision table 9-00. If the received status code is a "status code in the 200s," the proxy processing unit 3-65 advances the process to normal termination in S8-11 and ends the subflow.

[0099] If the received status code is "status code 503," the proxy processor 3-65 advances the process to S8-06. In S8-06, the proxy processor 3-65 generates a message indicating that the restriction has been imposed, displays the message on the operation unit 3-12 via the UI controller 3-52, and advances the process to abnormal termination in S8-07, thereby terminating the subflow.

[0100] If the received status code is a "status code in the 300s," the proxy processor 3-65 advances the process to S8-08. In S8-08, the proxy processor 3-65 obtains the redirect destination URL in the response header, and returns the process to S8-04.

[0101] If the received status code is "status code 407," the proxy processing unit 3-65 advances the process to S8-09. In S8-09, the proxy processing unit 3-65 generates a message prompting the user to set up proxy authentication, and displays the message on the operation unit 3-12 via the UI control unit 3-52. In S8-10, the proxy processing unit 3-65 waits until it receives input of authentication information (NO), and when it receives input of authentication information (YES), it returns the process to S8-04.

[0102] <Notes> As described above, according to this embodiment, a rendering request is made to the image generation server 1-30 using the URL once queried to the proxy server. With this configuration, the target of the web content to be viewed on the cloud browser system 1-00 can be restricted based on the restriction rules of the PROXY server 1-04. This improves the security of the image forming device 1-01 on the intranet 1-20.

[0103] (Other Examples) The present invention is not limited to the above-described embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and these are not excluded from the scope of the present invention.

[0104] The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

[0105] The present invention may be applied to a system consisting of multiple devices, or to an apparatus consisting of a single device. For example, a part of a software module may be configured to be executed on an external server, and the function may be realized by obtaining the results of processing on the external server.

[0106] ASIC stands for Application Specific Integrated Circuit.

[0107] CPU stands for Central Processing Unit.

[0108] EMMC stands for embedded MultiMediaCard.

[0109] FAX stands for Facsimile.

[0110] HDD stands for Hard Disk Drive.

[0111] HTTP stands for HyperText Transfer Protocol.

[0112] IEEE stands for Institute of Electrical and Electronics Engineers.

[0113] LAN stands for Local Area Network.

[0114] MFP stands for Multi Function Peripheral.

[0115] OS stands for Operating System.

[0116] PC stands for Personal Computer.

[0117] RAM stands for Random-Access Memory.

[0118] ROM stands for Read Only Memory.

[0119] SFP stands for Single Function Peripheral.

[0120] SSD stands for Solid State Drive.

[0121] UI stands for User Interface.

[0122] URL stands for Uniform Resource Locator.

[0123] USB stands for Universal Serial Bus. [Explanation of symbols]

[0124] 1-00 Cloud Browser System 1-01 Image forming device 1-04 Proxy Server 1-30 Image generation server

Claims

1. An image forming apparatus including a display unit, comprising: means for obtaining a Uniform Resource Locator (URL) of an access destination; means for notifying the proxy server of the URL; means for transmitting a request including the URL to an image generation server based on the status code obtained from the proxy server for the notification being a predetermined status code; means for displaying, on the display unit, an image of a web page corresponding to the URL in response from the image generation server; and wherein, when the status code obtained from the proxy server for the notification is not a predetermined status code, a request including the URL is not transmitted to the image generation server. The image forming apparatus is characterized by this.

2. The image forming apparatus according to claim 1, wherein the predetermined status code is an HTTP status code in the 200 series.

3. The image forming apparatus further comprising means for displaying a screen notifying that a web page is not displayed on the display unit when the status code obtained from the proxy server for the notification is not a predetermined status code.

4. The image forming apparatus according to claim 3, wherein when the obtained status code is the HTTP status code 503, a screen notifying that a web page is not displayed is displayed on the display unit.

5. The image forming apparatus according to claim 1, further comprising means for performing a process for proxy authentication setting based on the obtained status code being the HTTP status code 407.

6. The image forming apparatus according to claim 1, further comprising an image forming unit for forming an image on a sheet.

7. The image forming apparatus according to claim 1, further comprising an image reading unit for reading an image from a document.

8. A control method in an image forming apparatus including a display unit, comprising: a step of obtaining a Uniform Resource Locator (URL) of an access destination; a step of notifying the proxy server of the URL; a step of transmitting a request including the URL to an image generation server based on the status code obtained from the proxy server for the notification being a predetermined status code; A step of displaying, on the display unit, an image of a web page corresponding to the URL responded from the image generation server, and having; A control method characterized in that when the status code acquired from the proxy server with respect to the notification is not a predetermined status code, a request including the URL is not transmitted to the image generation server.