Image forming apparatus and its control method
Patent Information
- Application Number
- JP2022106862
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-01
- Publication Date
- 2026-10-01
- Estimated Expiration
- 2042-07-01
AI Technical Summary
【0008】 画像生成サーバを用いてWebページをブラウジングする構成においてProxyによる制限を適用できるシステムを提供することができる。
Smart Images

Figure 0007927480000001 
Figure 0007927480000002 
Figure 0007927480000003
Abstract
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 general-purpose information processing devices such as personal computers and mobile terminals, as well as image processing apparatuses including printers, scanners, facsimile machines, and multifunction devices combining these functions. [[Background Art]]
[0002] Conventionally, communication terminals such as image processing apparatuses (information processing apparatuses) equipped with a web browser (hereinafter referred to as a browser) and having a function of browsing web pages on the browser are known. A communication terminal that accesses a web page of an external service through a web browser can expand its functions by cooperating with the external service. Furthermore, when using such a web browser, in order to ensure security in specific environments, a method of imposing access restrictions and keeping access logs through a proxy is sometimes used.
[0003] Recently, a mechanism called a cloud browser that uses an image generation server that generates web page rendering results on a cloud server has been studied. Patent Document 1 discloses a system that renders a web page on a virtual machine located on a different network from the communication terminal, and displays the rendering result on the communication terminal. According to such a system, processing with high computational load such as web page analysis processing and execution processing is executed on the server, so the required specifications of the communication terminal can be reduced. [[Prior Art Documents]] [[Patent Documents]]
[0004] [[Patent Document 1]] Japanese Unexamined 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 a communication terminal is under proxy management, and there is room for improvement. This is because, by going through an image generation server located in the cloud, the communication terminal may be able to access web pages that should have been restricted by the proxy. The details are as follows: When a communication terminal under proxy management uses the cloud browser function, access permission settings are made to the image generation server. Then, if the communication terminal notifies the image generation server of the URL of a web page that should be restricted from access, this communication is permitted. Furthermore, the rendering result of the web page is sent from the image generation server to the communication terminal, and this communication is permitted. As a result, the communication terminal may be able to access web pages that should be restricted from access, which can lead to security risks.
[0006] This invention has been made in view of the above problems, and aims to provide a system that can apply restrictions by a proxy in a configuration in which a web page is browsed using an image generation server. [Means for solving the problem]
[0007] The present invention An image forming apparatus comprising a display unit, comprising means for obtaining a Uniform Resource Locator (URL) of an access destination, means for notifying a proxy server of the URL, means for sending a request including the URL to an image generation server based on the status code obtained from the proxy server in response to the notification being a predetermined status code, and means for displaying an image of a web page corresponding to the URL received in response from the image generation server on the display unit, wherein if the status code obtained from the proxy server in response to the notification is not a predetermined status code, the request including the URL is not sent to the image generation server. [Effects of the Invention]
[0008] This system can provide a configuration that allows for the application of proxy restrictions when browsing web pages using an image generation server. [Brief explanation of the drawing]
[0009] [Figure 1] This is a block diagram showing the overall configuration of the cloud browser system. [Figure 2] Figure 2(A) is a block diagram showing the hardware configuration of a virtual machine. Figure 2(B) is a block diagram showing the software configuration of a virtual machine. [Figure 3] Figure 3(A) is a block diagram showing the hardware configuration of the image forming apparatus. Figure 3(B) is a block diagram showing the software configuration of the image forming apparatus. [Figure 4] This is a diagram showing the settings screen of a cloud browser. [Figure 5] This figure shows an example of the home screen of an image forming apparatus. [Figure 6] Figure 6(A) shows an example of a screen generated by the image generation server. Figure 6(B) shows an example of a URL input screen. [Figure 7] This flowchart shows the procedure for processing performed by the image forming apparatus and virtual machine. [Figure 8] This flowchart shows the processing steps in the proxy subflow executed by the image forming apparatus. [Figure 9] This diagram shows the proxy detection table maintained by the cloud browser. [Figure 10] This diagram illustrates the usage sequence of a cloud browser system. [Modes for carrying out the invention]
[0010] The embodiments for carrying out the present invention will be described in detail below with reference to examples and drawings. However, the scope of the present invention is not limited to the configurations described in the examples. Modifications such as replacing or omitting parts of the configuration or processing with equivalents are permitted within the scope of achieving similar effects.
[0011] (Examples) Figure 1 shows the overall configuration of the cloud browser system. The cloud browser system 1-00 is a web browsing system that renders web content on the cloud. The cloud browser system 1-00 comprises 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. Figure 1 shows an example where there is one image generation server 1-30 and three image forming devices 1-01 to 1-03 are connected. However, the number of image forming devices connected to the image generation server 1-30 can be any number. Also, the image generation server 1-30 is configured to provide services to multiple image forming devices in parallel or time-sharing. Therefore, within the cloud browser system 1-00, the number of image generation servers 1-30 is relatively small compared to the number of image forming devices. In addition, multiple image generation servers may be placed within the cloud browser system 1-00 for purposes such as load balancing. In the following section, the relationship with the image generation server 1-30 will be explained using image forming apparatus 1-01 as an example, representing multiple image forming apparatuses.
[0012] Image generation server 1-30 is a cloud-based system that provides a service to replace the rendering of web content. Image generation server 1-30 includes gateway 1-06 and virtual machine 1-07. As will be described in detail later, a browser engine, which is a software module, runs on virtual machine 1-07 of image generation server 1-30. The browser engine receives URLs sent from image forming apparatus 1-01 via gateway 1-06. The browser engine then accesses the web page corresponding to the received URL via gateway 1-06 and receives web content such as HTML from the web page. Subsequently, a separately prepared rendering software module generates the rendering result (rendered image) of the received web content. This rendering result is sent to image forming apparatus 1-01 via gateway 1-06.
[0013] Image forming apparatus 1-01 is an image processing device (information processing device, communication terminal) that has the function of forming (printing) images on a sheet (paper), or the function of transmitting scanned and generated image data to an arbitrary destination. Image forming apparatus 1-01 may be either an MFP or an SFP type printer. Furthermore, the printing method of image forming apparatus 1-01 may be either electrophotographic or inkjet. Image forming apparatus 1-01 in this embodiment is characterized by its ability to view and display web content on the internet by utilizing image generation server 1-30. Details will be described later.
[0014] Furthermore, the image forming apparatus 1-01 resides within the intranet 1-20 and can communicate with other devices within the same intranet. For example, the image forming apparatus 1-01 can receive print data from the user terminal 1-08. Additionally, the image forming apparatus 1-01 can function as a web server, providing web pages to the user terminal 1-08.
[0015] Proxy server 1-04 is a server that monitors and restricts communication between the inside and outside of intranet 1-20. Proxy server 1-04 performs URL filtering (web filtering) to restrict access to websites. This access restriction is done using a list of websites to be prohibited or a list of websites to be allowed. Each device within intranet 1-20 connects to the internet via or without Proxy server 1-04, according to its own settings. For example, in Figure 1, suppose a user operates image forming apparatus 1-01 and inputs a request to view web page server 1-05. The image forming apparatus 1-01 then sends the address of web page server 1-05 (hereinafter referred to as URL) to image generation server 1-30 via Proxy server 1-04. Note that Proxy server 1-04 is configured within DMZ 1-10. DMZ (Demilitarized Zone) 1-10 is a segment isolated from intranet 1-20 for enhanced security.
[0016] <Virtual machine> FIG. 2(A) is a block diagram showing the hardware configuration of the 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. Accordingly, the CPU 2-01 controls the overall operation of the virtual machine 1-07, and executes or controls each process described as being performed by the virtual machine 1-07.
[0019] The storage 2-02 stores setting data of 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, and the like. 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. As described above, the RAM 2-03 can appropriately provide various areas (storage areas).
[0020] The interface 2-04 is an interface that includes: a display unit for displaying processing results obtained by the CPU 2-01 as images, characters, or the like; an operation unit operated by a user to input various operations; and the like. The display unit includes a liquid crystal screen and a touch panel screen. The operation unit includes user interfaces such as a keyboard, a mouse, and a touch panel screen.
[0021] Communication interface 2-05 is an interface for data communication with external devices.
[0022] The configuration shown in Figure 2(A) is merely one example of a configuration applicable to a virtual machine, and is not intended to limit the possibilities to the configuration shown in Figure 2(A). For example, in the configuration shown in Figure 2(A), a memory device may be further connected to bus 2-06. Memory devices include, for example, hard disk drives, USB memory, magnetic cards, optical cards, IC cards, memory cards, and drive devices (drive devices for storage media such as flexible disks (FD), compact disks (CDs), and other optical disks). Virtual machine 1-07 can be configured using so-called virtualization technology, which allows various resources constituting a computer system to be organized into logical units independently of the physical configuration. That is, it is possible to integrate multiple resources to configure virtual machine 1-07, or to divide a single resource and configure one of the parts as virtual machine 1-07. In other words, virtual machine 1-07 can be configured using at least some of the multiple resources (which may be composed of multiple devices) of an information processing system that constitutes a cloud.
[0023] Figure 2(B) shows the software configuration of a virtual machine operating in a 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 network control unit 2-53 is a module that receives external communications and sends data through the communication interface 2-05. The network control unit 2-53 receives a rendering request for web content specified by a URL and notifies the overall control unit 2-50 of it. Rendering refers to generating images and other content 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 network control unit 2-53 to retrieve the web content at the specified URL. The network control unit 2-53 accesses the URL via the instructed proxy and retrieves the web content. The browser engine 2-51 requests the rendering control unit 2-52 to render the retrieved web content information. The overall control unit 2-50 notifies an external communication device of the image data drawn by the drawing control unit 2-52 via the network control unit 2-53.
[0024] <Image forming apparatus> Figure 3(A) shows the hardware configuration of the image forming apparatus. The image forming apparatus 1-01 includes a controller unit 3-00, an operating unit 3-12, a USB storage device 3-14, a scanner 3-70, and a printer 3-95.
[0025] The control unit 3-12 is an operation unit that displays information to the user and accepts user input.
[0026] The control unit 3-12 is comprised of, for example, a display, a touch panel sensor, hard keys, and the like.
[0027] USB Storage 3-14 is an external storage device for storing data. USB Storage 3-14 is detachable from USB Host I / F 3-13.
[0028] Scanner 3-70 is an image reading unit (image reading device, image input device) that reads images from a document.
[0029] 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 equipped with a configuration for performing various controls in the image forming apparatus 1-01. For example, the controller unit 3-00 performs controls to realize a copy function that prints image data read by the scanner 37-0 using the printer 3-95.
[0031] The controller unit 3-00 comprises a CPU 3-01, RAM 3-02, ROM 3-03, storage 3-04, and image path I / F 3-05. These components are communicated together via the system bus 3-07.
[0032] Furthermore, the controller unit 3-00 includes an operation interface 3-06, a network interface 3-10, a USB host interface 3-13, an RTC 3-15, a device interface 3-20, a scanner image processing unit 3-80, and a printer image processing unit 3-90. These components are communicated via the image path interface 3-05 and the image path.
[0033] CPU3-01 starts the operating system (OS) using a boot program stored in ROM3-03. CPU3-01 then executes programs stored in storage3-04 on this OS, thereby performing various processes. RAM3-02 is used as the CPU3-01's workspace. RAM3-02 provides both workspace and image memory for temporary storage of image data. Storage3-04 is the storage unit for programs and image data. HDDs, SSDs, and eMMCs can be used as storage3-04.
[0034] The CPU 3-01 is connected to the ROM 3-03 and RAM 3-02, the control unit interface 3-06, the network interface 3-10, the USB host interface 3-13, and the image bus interface 3-05 via the system bus 3-07. The control unit interface 3-06 is the interface with the control unit 3-12 and outputs image data to be displayed on the control unit 3-12. The control unit interface 3-06 also sends information entered by the user on the control unit 3-12 to the CPU 3-01. The network interface 3-10 is the interface for connecting the image forming apparatus to a LAN.
[0035] The USB host interface 3-13 is an interface unit that communicates with the USB storage 3-14. The USB host interface 3-13 is an output unit that stores data stored in storage 3-04 onto the USB storage 3-14. The USB host interface 3-13 also receives data stored in the USB storage 3-14 and transmits it to the CPU 3-01. Multiple USB devices, including the USB storage 3-14, can be connected to the USB host interface 3-13.
[0036] The RTC3-15 controls the current time. The time information controlled by the RTC3-15 is used for recording job submission times, etc.
[0037] Image bus I / F3-05 is a bus bridge that connects system bus 3-07 and image bus 3-08, which transfers image data at high speed, and converts data formats. Device I / F3-20, scanner image processing unit 3-80, and printer image processing unit 3-90 are provided on image bus 3-08. Scanner 3-70 and printer 3-95 are connected to device I / F3-20, and device I / F3-20 performs synchronous / asynchronous conversion of image data. Scanner image processing unit 3-80 performs correction, processing, and editing of input image data. Printer image processing unit 3-90 performs correction, resolution conversion, etc., on print output image data according to printer 3-95.
[0038] Figure 3(B) shows the software configuration of the image forming apparatus.
[0039] In Figure 3(B), the parts shown by solid lines are software modules realized when the CPU 3-01 executes the main program loaded into RAM 3-02. The execution of each module described later is managed and controlled by the OS (Operating System) 3-51.
[0040] The UI control unit 3-52 displays the screen on the operation unit 3-12 and accepts user input through 3-06. It also has the function of notifying other modules and receiving drawing instructions from those modules to control screen updates.
[0041] The job execution control unit 3-53 is a module that receives job execution instructions 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 communication requests from other modules, controls the network IF 3-10, and controls communication with external devices. It also receives notifications from external devices and notifies other modules of the contents of those notifications.
[0043] The storage control unit 3-55 records and manages the configuration information and job information stored in the storage unit 3-04. Each module located in the OS hierarchy accesses the storage control unit 3-55 to refer to and configure settings.
[0044] The browser control unit 3-60 is a submodule included in OS3-51 and performs cloud browser-specific controls, which will be described later. The number of submodules included in the OS is arbitrary.
[0045] When the browser operation unit 3-62 receives notification of user operation from the UI control unit 3-52, it has the function of notifying the command IF unit 3-64 or the proxy processing unit 3-65 of the details of the user operation.
[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. Based on the obtained Proxy setting information, if the Proxy setting is valid, it requests communication to the Proxy Server 1-04 via the Network Control Unit 3-54. Furthermore, it has the function of receiving a response to the communication request from the Network Control Unit 3-54, processing the content of that response, and notifying the Browser Display Unit 3-63 or the Command IF Unit 3-64 of the result.
[0047] The command interface 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 via the network control unit 3-54. This communication request may include the notified information. Notified information includes user operations such as text input, link clicks, scrolling, and zooming. For example, text input includes a URL. When a link is clicked, it includes the click coordinates on the operation unit 3-12, and when scrolling and zooming, it includes the corresponding strings. The network control unit 3-54 also receives communication from the image generation server 1-30. It processes the received information 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 where the rendering results are stored from the command interface unit 3-64. It 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. It also receives notifications from the command interface unit 3-64 and the proxy processing unit 3-65 and instructs the display of a screen showing the message corresponding to the notification.
[0050] <System Usage Flow> The following describes the usage flow of the cloud browser system 1-00 with the configuration described above. Figure 10 is a diagram showing the usage sequence of the cloud browser system.
[0051] In S10-01, the user performs pre-configuration to use Proxy server 1-04. This pre-configuration is performed on a configuration web page provided by the image forming apparatus's web server function. The user can access this web page using a web browser on an information processing terminal such as user terminal 1-08. Details of the configuration web page will be described later using Figure 4.
[0052] In S10-02, the proxy settings configured by the user are notified to the NW control unit 3-54 via the network I / F 3-10.
[0053] In S10-03, the NW control unit 3-54 records the configuration information in the storage 304 via the storage control unit 3-55 in response to the notification.
[0054] In S10-04, the user selects the cloud browser function from the menu screen displayed on the operation unit 3-12 of the image forming apparatus 1-01. Figure 5 shows the menu screen displayed on the image forming apparatus 1-01. This screen is generated by the execution of the program constituting the UI control unit 3-52 described in Figure 3(B) by the CPU 3-01 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 invoked. Note that button 5-03 is only displayed on the menu screen if the settings for using the cloud browser have been completed.
[0055] In S10-05, the control interface 3-06 detects that button 5-03 has been pressed. Then, the CPU 3-01 loads the browser control unit 3-60, which is associated with the button corresponding to the cloud browser function, into RAM 3-02 and executes it.
[0056] In S10-06, the Proxy processing unit 3-65 requests the storage control unit 3-55 to retrieve the configuration information recorded in the storage 304.
[0057] In S10-07, the storage control unit 3-55 refers to the proxy configuration information of storage 304 and returns the requested configuration information.
[0058] If the proxy setting is enabled, in S10-08, the proxy processing unit 3-65 refers to the proxy configuration file for configuration information. If the proxy configuration file is found, in S10-09, the proxy processing unit 3-65 reflects the information from the proxy configuration file in the proxy determination table.
[0059] If no URL is specified at startup, in S10-10, the Proxy processing unit 3-65 instructs the browser operation unit 3-62 to draw screen 6-20 shown in Figure 6(B) in order to accept user input. The browser operation unit 3-62 receives the drawing instruction and draws screen 6-20 shown in Figure 6(B) through the UI control unit 3-52. Figure 6(B) is a diagram showing the URL input screen. Screen 6-20 is a screen generated by the browser control unit 3-60 and can be displayed regardless of the connection status with virtual machine 1-07. Screen 6-20 is displayed when the target web page is unspecified. For example, screen 6-20 is displayed when the cloud browser function is started without setting a URL at startup, or after a certain period of time has elapsed since a communication error caused by the PROXY server 1-04 etc. occurred and error information was displayed. Screen 6-20 has a text input area 6-21. The user can attempt to access the web page indicated by the URL by selecting area 6-21 and entering the URL. In S10-11, the user operates the screen displayed on the operation unit 3-12 and enters the URL of the web page they wish to view. In S10-12, the operation unit I / F 3-06 detects that a URL has been entered 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 URL input status.
[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, Proxy server 1-04 determines whether or not to restrict the received URL.
[0062] In S10-15, the proxy server 1-04 returns the response as a result of the determination to the network 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. Figure 9 shows 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 their corresponding processing content 9-02. The Proxy processing unit 3-65 uses the determination table to confirm the processing corresponding to the status code. Note that the Proxy determination table 9-00 is just an example, and the correspondence between status codes and processing may be changed as appropriate according to the design philosophy, 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 from the proxy processing unit 3-65 indicating "restriction". Based on the notification, the browser display unit 3-63 generates an access restriction message and displays it to 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 from the Proxy processing unit 3-65 indicating "Proxy settings". The browser display unit 3-63 generates a proxy settings 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 the proxy settings screen (not shown) on the operation unit 3-12 via the UI control unit 3-52. In S10-20, the user enters proxy authentication information via the proxy settings screen. The browser operation unit receives a notification of 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 settings via the storage control unit 3-55.
[0066] If the received status code is in the "300 series," in S10-21, the Proxy processing unit 3-65 retrieves the redirect destination URL from the response header. Examples of status codes in the 300 series 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 in the "status code 200 series", in S10-22, the Proxy processing unit 3-65 notifies the command IF unit 3-64 of the URL based on the processing result. Examples of status codes in the 200 series 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 interface unit 3-64, upon receiving the notification, notifies the image generation server 1-30 of the URL information and user input information via the network control unit 3-54 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 gateway 1-06. The image generation server 1-30 interprets the received URL information and user input information and notifies the browser engine 2-51. Based on the notified information, the browser engine 2-51 accesses the web page server 1-05 via gateway 1-06 and requests the acquisition of web content. In S10-24, the web page server 1-05 returns the web content that was requested. In S10-25, the rendering control unit 2-52 performs rendering using the web content acquired by the browser engine 2-51 and saves the generated image data, which is the rendering result, to storage 2-02 via the network control unit 2-53. Virtual machine 1-07 notifies the network transmission / reception unit 3-67 of the URL of storage 2-02 where the image data is stored. In S10-27, the network transmission / reception unit 3-67 receives the notification and notifies the command interface unit 3-64 of the URL via the network control unit 3-54. The command interface 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 virtual machine 1-07 via the network control unit 3-54 and requests the image from virtual machine 1-07. In S10-28, virtual machine 1-07, having received the image acquisition request, returns the image data as a response to the request. In S10-29, the image data acquisition unit 3-61 receives the response notification from the network control unit 3-54 and acquires the image data. It then passes the acquired image data to the browser display unit 3-63. The browser display unit 3-63 requests the UI control unit 3-52 to display the acquired image on the operation unit 3-12. As a result, the web content is displayed on the operation unit 3-1 of the image forming apparatus 1-01. For example, a web search service page is displayed as an example of web content.
[0069] Figure 6(A) shows how to view a web page using a cloud browser system. As shown in Figure 6(A), the browser display screen displayed by the browser display unit 3-63 includes a basic information area 6-05 and a page display area 6-06. The basic information area 6-05 includes buttons 6-01, 6-02, 6-03, and a text display area 6-04.
[0070] Menu button 6-01 is a browser function that allows you to access your favorites and history. Selecting menu button 6-01 will display a pop-up window, allowing you to view your favorited web pages and your web page history.
[0071] Button 6-02 resets the display state of page display area 6-06 to the previous state. When button 6-02 is pressed, the rendering result of the previously displayed web page is displayed in page display area 6-06.
[0072] Button 6-03 advances the display state of page display area 6-06 to the next state. When button 6-03 is pressed, the rendering result of the next web page is displayed in page display area 6-06. Text display area 6-04 is the area that displays the URL and title of the currently displayed web page.
[0073] The page display area 6-06 displays the screen rendered by the virtual machine or a message generated internally by the browser display unit 3-63. Here, we show how the image 6-10, the result of a web search service page rendered by the virtual machine 1-07, is displayed in the page display area 6-06. 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 draw the acquired image, thereby rendering the browsing screen in the page display area 6-06. If the user selects a link in the rendered image 6-10, the proxy processing unit 3-65 requests the image generation server 1-30 to render the linked web page. Subsequently, the rendering result is acquired as described above, and the screen of the linked page is displayed in the page display area 6-06.
[0074] <Proxy Settings> Figure 4 shows the system settings screen of the cloud browser. This settings screen can be viewed from external devices 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 on the same network line can display the settings screen 4-00 by entering a specific URL into its web browser. Processing S10-01 is performed using this settings screen. Alternatively, the settings screen 4-00 may be displayed directly on the operation unit 3-12 without being converted into web page information.
[0075] Settings 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 cloud browser function ON or OFF. Checking the checkbox for item 4-01 turns the cloud browser function ON, and the cloud browser button 5-03 will appear on screen 5-00. Unchecking the checkbox for item 4-01 turns the cloud browser function OFF, and the cloud browser button 5-03 will be removed from screen 5-00. Also, item 4-01 is the first item that is operated on the settings screen 4-00, and checking the checkbox for item 4-01 makes it possible to operate on other items.
[0077] Item 4-02 is a setting item for determining whether or not to use a proxy. In environments where a proxy is used for internet access, check the checkbox for setting item 4-02 and configure the proxy host and port information.
[0078] Item 4-03 is a setting item for configuring proxy authentication information. In environments where authentication is required to use the proxy, check the checkbox for item 4-03 and specify the proxy authentication information (ID, Password).
[0079] Item 4-04 is a setting item for configuring the startup URL. Checking the checkbox for item 4-04 and entering a URL in the input field will cause the cloud browser application to automatically access the specified URL when launched. The information configured here is notified via network interface 3-10 and recorded in storage 3-04.
[0080] Item 4-05 is a setting item for instructing the system to load a proxy configuration file. By checking the checkbox for item 4-05 and specifying a text file in the file specification field, you can change the settings of the Proxy determination table 9-00. This text file contains status codes and corresponding processes, similar to the Proxy determination table 9-00.
[0081] <Control> Figure 7 is a flowchart showing the processing procedures performed by the image forming apparatus and the virtual machine. Of the processes shown in Figure 7, the processing on the image forming apparatus 1-01 side is implemented by the controller unit 3-00. Specifically, this is achieved by loading the program stored in ROM 3-03 or storage 3-04 into RAM 302, and then executing it on CPU 3-01. Of the processes shown in Figure 7, the processing on the virtual machine 1-07 side is achieved by loading the program stored in storage 2-02 into RAM 2-03, and then executing it on CPU 2-01.
[0082] In S7-01, the Proxy processing unit 3-65 refers to the storage control unit 3-55 to obtain the URL of the access destination. This URL is either the URL specified in 4-04 or the URL specified by the user.
[0083] In S7-02, the Proxy processing unit 3-65 is executed by the Proxy subflow. Details of the Proxy subflow will be described later.
[0084] In S7-11, the Proxy processing unit 3-65 determines whether the result of the Proxy subflow has completed successfully or not. If the Proxy subflow has completed successfully (YES), the Proxy processing unit 3-65 proceeds to S703. If the Proxy subflow has completed abnormally (NO), the Proxy processing unit 3-65 terminates the flow.
[0085] In S7-03, the Proxy processing unit 3-65 notifies the command interface unit 3-64 of the URL obtained in S7-01. Based on this notification, the command interface unit 3-64 requests rendering from the virtual machine 1-07.
[0086] In S7-04, the image generation server 1-30 within the virtual machine 1-07 receives a rendering request via 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 retrieves web content via gateway 1-06 based on the notified information.
[0088] In S7-06, the rendering control unit 2-52 renders the web content acquired by the browser engine 2-51.
[0089] In S7-07, the rendering result image data generated in S7-06 is saved to storage 2-02 via NW control unit 2-53.
[0090] In S7-08, the NW control unit 2-53 notifies the NW transceiver unit 3-67 of the image forming apparatus 1-01 of the URL of the storage 2-02 where the rendering results are stored. The command IF unit 3-64 then receives the notification from the NW transceiver 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 sends a communication request to the network control unit 3-54 to the notified URL and acquires the rendering result image data.
[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 the screen including the image data.
[0093] As described above, the series of processes of the cloud browser system 1-00 are executed.
[0094] Next, we will explain the details of the proxy subflow. Figure 8 is a flowchart showing the processing steps 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 to determine whether the Proxy is enabled or disabled. If it is enabled (YES), the process proceeds to S8-02; if it is disabled (NO), the process proceeds to the normal completion 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 to determine whether a Proxy configuration file is set. If it is not set (NO), the process proceeds to S8-04. If it is set (YES), the process proceeds to S8-03, and the contents of the Proxy configuration file are reflected in the Proxy determination table 9-00.
[0097] In S8-04, the Proxy Processing Unit 3-65 requests the Network 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 via the Network Control Unit 3-54.
[0098] In S8-05, the Proxy processing unit 3-65 makes a determination based on the status code in the response header obtained from the Proxy server and the Proxy determination table 9-00. If the received status code is in the "status code 200s", the Proxy processing unit 3-65 proceeds to the normal completion in S8-11 and terminates the subflow.
[0099] If the received status code is "Status Code 503", the Proxy Processing Unit 3-65 proceeds to S8-06. In S8-06, the Proxy Processing Unit 3-65 generates a message indicating that it is restricted, draws it to the Operation Unit 3-12 via the UI Control Unit 3-52, and proceeds to abnormal termination in S8-07, ending the subflow.
[0100] If the received status code is in the "status code 300s," the Proxy processing unit 3-65 proceeds to S8-08. In S8-08, the Proxy processing unit 3-65 obtains the redirect destination URL from the response header and returns processing to S8-04.
[0101] If the received status code is "Status Code 407", the Proxy Processing Unit 3-65 proceeds to S8-09. In S8-09, the Proxy Processing Unit 3-65 generates a message prompting the user to configure proxy authentication and displays it 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 authentication information (NO), and once it receives authentication information (YES), it returns to S8-04.
[0102] <Remarks> As explained above, in this embodiment, a rendering request is sent to the image generation server 1-30 using a URL that has been queried from the proxy server. With this configuration, the target of web content viewed by the cloud browser system 1-00 can be restricted based on the restriction rules of the PROXY server 1-04. Therefore, the security of the image forming apparatus 1-01 on the intranet 1-20 can be improved.
[0103] (Other examples) The present invention is not limited to the above embodiments, and various modifications (including organic combinations of each embodiment) are possible based on the spirit of the invention, and these are not excluded from the scope of the invention.
[0104] The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
[0105] The present invention may be applied to a system consisting of multiple devices or to a device consisting of a single device. For example, the functionality may be realized by configuring a part of the software module to run on an external server and obtaining the results processed 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 the 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 apparatus 1-04 Proxy Server 1-30 Image generation server
Claims
1. An image forming apparatus comprising a display unit, A method for obtaining the Uniform Resource Locator (URL) of the destination to access, Means for notifying the proxy server of the aforementioned URL, A means for sending a request including the URL to the image generation server based on the status code obtained from the proxy server in response to the notification being a predetermined status code, The system includes means for displaying an image of a web page corresponding to the URL received from the image generation server on the display unit, An image forming apparatus characterized in that, if the status code obtained from the proxy server in response to the notification is not a predetermined status code, the request including the URL is not sent to the image generation server.
2. The image forming apparatus according to claim 1, characterized in that the predetermined status code is an HTTP status code in the 200s.
3. The image forming apparatus according to claim 1, further comprising means for displaying a screen on the display unit indicating that the web page cannot be displayed when the status code obtained from the proxy server in response to the notification is not the predetermined status code.
4. The image forming apparatus according to claim 3, characterized in that when the acquired status code is the HTTP status code 503, a screen notifying that the web page cannot be displayed is displayed on the display unit.
5. The image forming apparatus according to claim 1, further comprising means for performing a process for setting up proxy authentication based on the acquired status code being an HTTP status code of 407.
6. The image forming apparatus according to claim 1, characterized by 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 performed by an image forming apparatus equipped with a display unit, The process involves obtaining the Uniform Resource Locator (URL) of the destination to access, The process of notifying the proxy server of the aforementioned URL, The process of sending a request including the URL to the image generation server based on the status code obtained from the proxy server in response to the notification being a predetermined status code, The process includes the step of displaying an image of a web page corresponding to the URL received in response from the image generation server on the display unit. A control method characterized in that, if the status code obtained from the proxy server in response to the notification is not a predetermined status code, the request including the URL is not sent to the image generation server.
Citation Information
Patent Citations
URL filtering device
JP2013191958A
Web relay server device and web page browsing system
JP2015162225A
Information processing system and control method
JP2021128601A
Information processing system and control method thereof
JP2022041717A