Information processing system, method for controlling information processing system, and storage medium
The information processing system addresses the issue of unauthorized use of location data by requiring user consent through a dialog on the client device, ensuring secure handling of personal information.
Patent Information
- Application Number
- JP2024109750
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-08
- Publication Date
- 2026-01-21
AI Technical Summary
Existing systems do not adequately confirm user consent for providing location information to a server, potentially leading to unauthorized use of personal information.
An information processing system that generates a screen on the client device to confirm whether to provide location information to the cloud server, allowing users to approve or deny the transmission of their location data through a dialog box.
Ensures appropriate protection of personal information by ensuring user consent is obtained before sharing location data with the cloud server.
Smart Images

Figure 2026009696000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to controlling the use of location information on web pages. [Background technology]
[0002] Traditionally, users have used web browsers to browse web pages. Web browsers are now installed not only on personal computers but also on mobile devices such as smartphones and tablets, making it common to browse web pages while on the go.
[0003] A web browser retrieves web content specified by a URL (HTML documents, JavaScript, CSS, etc.), analyzes the web content, and generates rendering results through rendering processes, displaying the web content specified by the user. When a user operates the rendering results using a mouse, touch panel, keyboard, etc., the browser displays the rendering results in response to that operation. The program that takes web content as input and processes the rendering results of the web content is called the browser engine here. The browser engine, the user input processing, and the output processing of the rendering results generated by the browser engine are generally all performed within a single device, and this type of web browser is called an embedded browser.
[0004] On the other hand, there is a form called a cloud browser, in which the rendering results are generated on the cloud server side and displayed on the client device side. The client device mainly handles input and output, such as specifying the URL, displaying the rendering results, and user operations. The cloud server acquires web content, analyzes it, and generates the rendering results through rendering processing. By distributing processing in this way, web content can be displayed and operated even on resource-saving devices.
[0005] Incidentally, the Geolocation API, a JavaScript API (application program interface) for handling user location information in web content, has been defined by a web standards organization. This API can be used to obtain user location information and create web content that displays information about stores near the user's location or displays map information. Note that location information is personal information that identifies the user's own location. In web browsers, content that uses the Geolocation API displays a dialog box asking whether the user agrees to provide location information to the web content server. Only if the user agrees is the location information obtained by the JavaScript processing unit sent to the web content server. In embedded browsers, the device's location information is processed using JavaScript. On the other hand, in cloud browsers, JavaScript processing is performed on the cloud side, so the cloud server's location information is used. If a site searches for stores based on location information, the search area will be near the cloud server's location, not the user's.
[0006] In response to this, Patent Document 1 proposes a technology in which, when a Geolocation API is called, the server requests location information from the client, and the location information received from the client is handled by the Geolocation API. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-118730 Summary of the Invention [Problem to be solved by the invention]
[0008] However, Patent Document 1 does not confirm whether the user has consented to providing the location information, which is personal information of the user, to the server, and therefore has the problem that the location information may be used without the user's consent.
[0009] The present invention has been made in view of the above-mentioned problems, and has an object to provide a technique for appropriately protecting personal information of users. [Means for solving the problem]
[0010] An information processing system according to the present invention that achieves the above object comprises: An information processing system in which a first information processing device processes web content and transmits a rendering result obtained to a second information processing device for display, The method is characterized by comprising a generation means for generating a screen for confirming whether or not to approve the provision of the location information of the second information processing device to the first information processing device when an API for obtaining location information is used in the web content. [Effects of the Invention]
[0011] According to the present invention, it is possible to appropriately protect the personal information of users. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing a hardware configuration of an information processing device (cloud server) according to an embodiment. [Figure 3] FIG. 1 is a block diagram showing a hardware configuration of an information processing device (client device) according to an embodiment. [Figure 4] FIG. 2 is a functional block diagram of an information processing apparatus (client device) according to an embodiment. [Figure 5] FIG. 2 is a functional block diagram of an information processing apparatus (cloud server) according to an embodiment. [Figure 6]4 is a flowchart showing the flow of processing in the information processing device (cloud server) according to the first embodiment. [Figure 7] 5 is a flowchart showing the flow of processing in the information processing device (client device) according to the first embodiment. [Figure 8] 10 is a flowchart showing the flow of processing in an information processing device (cloud server) according to the second embodiment. [Figure 9] 10 is a flowchart showing the flow of processing in an information processing device (cloud server) according to the second embodiment. [Figure 10] 10 is a flowchart showing the flow of processing in an information processing device (client device) according to the second embodiment. [Figure 11] FIG. 10 is a diagram showing an example of a dialog according to an embodiment. [Figure 12] FIG. 11 is a diagram illustrating the configuration of a cloud environment according to a third embodiment. [Figure 13] 11 is a flowchart showing the flow of processing in an information processing device (client device) according to the third embodiment. [Figure 14] 11 is a flowchart showing the flow of processing in an information processing device (cloud server) according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the claimed invention. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.
[0014] (Embodiment 1) In the first embodiment, an example will be described in which a screen is generated on the client device side to confirm whether or not to approve the provision of the location information of the client device to the cloud server.
[0015] <System configuration> FIG. 1 is a diagram showing the configuration of an information processing system according to this embodiment, and is a diagram showing the configuration of a cloud browser. Reference numeral 100 denotes an information processing system including a cloud server 101 and a client device 102. Reference numeral 101 denotes an information processing device that functions as a cloud server. The cloud server 101 includes a browser engine 103 and an imaging program 104. The cloud server 101 runs on a virtual machine in a cloud environment. Various device resources required for a PC are virtually allocated to the virtual machine. Therefore, the browser engine running on the virtual machine can operate in the same way as when running on a PC.
[0016] An information processing device 102 functions as a client device on the user side who browses a web page. The client device 102 transmits user input to the cloud server 101, receives images of web pages generated by the cloud server 101, and displays the received images.
[0017] Reference numeral 103 denotes a browser engine. The browser engine 103 analyzes web content obtained from a web content server 105, performs drawing processing, etc., and creates the drawing results of a web page. The browser engine 103 analyzes the syntax of an HTML document and CSS, and generates a DOM tree and a CSSOM (CSS Object Model) that represent each element as a tree structure. The browser engine 103 further generates a render tree that represents the drawing structure based on these trees. The browser engine 103 also analyzes and compiles JavaScript to convert it into machine language and executes the script.
[0018] An imaging program 104 converts the rendering results generated by the browser engine 103 into image data in an image format such as PNG or JPEG. A web content server 105 provides web content such as HTML, JavaScript, and CSS based on requests.
[0019] <Cloud server hardware configuration> 2 is a block diagram showing the hardware configuration of the cloud server 101 according to this embodiment. The cloud server 101 includes, as its main components, a controller unit 201 that controls the entire cloud server 101, a storage device 205, and a communication device 206.
[0020] The controller unit 201 includes a CPU 202, a ROM 203, and a RAM 204. The CPU 202 is one or more CPUs that execute the processing of each processing unit in the cloud server 101. The ROM 203 stores various programs executed by the CPU 202 and data required by the programs. The RAM 204 is composed of SRAM, DRAM, etc., and stores program control variables, etc. Various work buffers are also stored in the RAM 204. The storage device 205 is composed of a hard disk, etc., and stores file data such as documents and images. The communication device 206 is an interface for connecting to a network. One connection method is a LAN.
[0021] The cloud server 101 accesses the web content server 105 to acquire web content, and executes a browser engine 103 program that interprets the web content and generates a rendering result. The cloud server 101 also generates a rendering result corresponding to an input operation based on the input operation received from the client device. The cloud server 101 then uses an imaging program 104 to visualize the rendering result generated by the browser engine 103. Each program is stored in the ROM 203 or the storage device 205, and is read into the RAM 204 where it is processed by the CPU 202. Communication between the web content server 105 and the client device 102 can be performed via the communication device 206.
[0022] <Client device hardware configuration> 3 is a block diagram showing the hardware configuration of the client device 102 according to this embodiment. The client device 102 mainly includes a controller 301 that controls the entire client device 102, an operation device 305, a display device 306, a storage device 307, and a communication device 308.
[0023] The controller unit 301 includes a CPU 302, a ROM 303, and a RAM 304. The CPU 302 is one or more CPUs that execute the processing of each processing unit in the client device 102. The ROM 303 stores various programs executed by the CPU 302 and data required by the programs. The RAM 304 is composed of an SRAM, a DRAM, etc., and stores program control variables, etc. Various work buffers are also stored in the RAM 304.
[0024] The operation device 305 is made up of a keyboard, touch panel, mouse, etc. and is used by the user to perform various input operations. The display device 306 is used to display or notify the user using an LCD, LED display, etc. The storage device 307 is made up of a hard disk, etc. and stores file data such as documents and images. The communication device 308 is an interface for connecting to a network. One connection method is LAN.
[0025] The client device 102 executes various programs, such as programs related to UIs such as a URL input field and a web page display field, and programs related to sending and receiving communications. The programs are stored in the ROM 303 or the storage device 307, read into the RAM 304, and processed by the CPU 302.
[0026] A display device 306 displays UIs and images received from the cloud server 101. A URL specification and operations on a web page are accepted by an operation device 305. Communication with the cloud server 101 can be performed via a communication device 308.
[0027] <Client device functional configuration> 4 is a block diagram schematically illustrating software functions of the client device 102 in this embodiment. Each unit will be described. Note that each unit is controlled by a program stored in the ROM 303. The communication unit 401 transmits and receives data to and from the cloud server 101. The communication unit 401 receives images of the drawing results generated by the cloud server 101, location information requests from the cloud server 101, and the like. The communication unit 401 also transmits to the cloud server 101 the content and coordinates of touch operations, which are user inputs received by the client device 102, location information of the client device 102, and the like.
[0028] The display unit 402 displays an image of the rendering result received by the communication unit 401 and displays UIs such as a URL input field and dialogs generated by the client device 102 .
[0029] The input unit 403 accepts user inputs, such as touch inputs and mouse inputs (touch start, touch end, touch move, mouse down, mouse up, mouse move, etc.) from the operation device 305, such as a touch panel or a mouse, and acquires the coordinates of the user input position.
[0030] The location information selection unit 404 generates a dialog for confirming with the user whether or not to provide the location information of the client device 102 to the cloud server 101, based on the location information request received by the communication unit 401 from the cloud server 101. The location information selection unit 404 generates a dialog including an accept button, a reject button, and a check box. The accept button is a button for agreeing to provide the location information of the client device 102 to the cloud server 101. The reject button is a button for rejecting the provision of the location information. The check box can be checked if the selection result is to be saved as a setting for the next time and thereafter. The generated dialog is displayed on the display unit 402.
[0031] If the user agrees to providing location information to the cloud server 101 via the dialog generated by the location information selection unit 404, the location information acquisition unit 405 acquires the latitude, longitude, and their accuracy information, which are location information of the client device 102. If available, altitude information, movement speed information, and movement direction information may also be acquired. The acquired location information is transmitted to the cloud server 101 via the communication unit 401. For example, the latitude and longitude can be acquired based on calculations based on the GPS, the altitude using an altimeter, the movement speed using a speedometer, and the movement direction using the latitude and longitude acquired by the GPS. Furthermore, the accuracy values of the latitude, longitude, and altitude can be acquired based on the accuracy of the instruments.
[0032] <Cloud server functional configuration> 5 is a block diagram showing a schematic diagram of the software functions of the cloud server 101 in this embodiment. Each unit will be described. Each unit is controlled by a program stored in the ROM 203.
[0033] The communication unit 501 transmits and receives data to and from the client device 102, and acquires web content from the web content server 105. The communication unit 501 also transmits images of the rendering results generated by the cloud server 101, and receives user input information and location information from the client device 102.
[0034] The content analysis unit 502 performs an analysis process of the Web content received from the Web content server 105. It performs syntax analysis of the HTML document, CSS, and JavaScript, and generates a DOM tree, CSSOM, and render tree, as well as a JavaScript AST (Abstract Syntax Tree).
[0035] The drawing unit 503 generates a drawing result based on the render tree generated by the content analysis unit 502 and the execution result of the JavaScript execution unit 504 .
[0036] The JavaScript execution unit 504 executes JavaScript using the AST generated by the content analysis unit 502 as input. As a result of the JavaScript syntax analysis, the JavaScript execution unit 504 determines whether an API for acquiring location information (for example, a Geolocation API) is being used. If an API is being used, the JavaScript execution unit 504 notifies the dialog display unit 505 of the use of the Geolocation API.
[0037] The dialog display unit 505 generates and draws a dialog when a dialog display is necessary as a result of analyzing the content. If the Geolocation API is used, the dialog display unit 505 generates and draws a dialog for confirming with the user whether or not to transmit the location information of the client device 102 to the Web content server 105.
[0038] The imaging processing unit 506 converts the drawing results generated by the drawing unit 503 and the dialog display unit 505 into an image. The created image is transmitted to the client device 102 via the communication unit 501.
[0039] The input unit 507 receives the contents of touch input and mouse input (touch start, touch end, touch move, mouse down, mouse up, mouse move, etc.), which are user input information obtained via the communication unit 501, and acquires the coordinates of the user input position. Then, it executes these as operations on the cloud server 101. This makes it possible to reflect the user input on the web page or dialog displayed by the drawing unit 503 or the dialog display unit 505.
[0040] The location information acquisition unit 508 performs processing to acquire location information from the client device 102. The location information acquisition unit 508 requests location information from the client device 102 and acquires the result as a response.
[0041] <Cloud server processing> Next, the processing flow of the cloud server 101 of this embodiment will be described with reference to the flowchart shown in Fig. 6. In the following, the processing flow after obtaining web content from the web content server 105 via the communication unit 501 and constructing various trees in the content analysis unit 502 will be described.
[0042] In S601, the JavaScript execution unit 504 determines whether or not the Geolocation API is used in the JavaScript. If the Geolocation API is used (S601-YES), the process proceeds to S602. If the Geolocation API is not used (S601-NO), the process proceeds to S610. The Geolocation API defines APIs such as "getCurrentPosition()" for acquiring the current location, and "watchPosition()" for registering a function for acquiring updated location information according to changes in location. The determination can be made based on whether or not these APIs for acquiring location information are used in the JavaScript.
[0043] In S602, the dialog display unit 505 generates a drawing result that draws a dialog for confirming whether or not to approve the transmission of the location information of the client device 102 to the Web content server 105. The dialog includes a message asking whether to approve / deny, an approve button, and a deny button.
[0044] In S603, the imaging processing unit 506 images the result of drawing the dialog generated in S602 and transmits the image to the client device 102.
[0045] In S604, the communication unit 501 receives a user input from the client device 102. The received user input is input to the image displaying the dialog transmitted to the client device 102 in S603.
[0046] In S605, the input unit 507 applies the user input received in S604 to the currently displayed drawing result. In this case, the user input is for the dialog in which approval or denial of sending the location information of the client device 102 to the Web content server 105 is selected. If the user input indicates pressing the "Approve" button (YES in S605), the process proceeds to S606. If the user input indicates pressing the "Deny" button (NO in S605), the process proceeds to S607.
[0047] In S606, the location information acquisition unit 508 transmits a message to the client device 102 via the communication unit 501 requesting the location information of the client device 102.
[0048] In S607, the dialog display unit 505 notifies the JavaScript execution unit 504 of the result of pressing the "Deny" button, and the JavaScript execution unit 504 proceeds to S609 with the execution result of the Geolocation API being a location information acquisition error. The Geolocation API defines a PositionError that returns the reason for the error that occurred when acquiring location information. The error code defined is "PERMISSION_DENIED," which indicates that access is not permitted. Also defined are "POSISION_UNAVAILABLE," which indicates that an internal error occurred when acquiring location information, and "TIMEOUT," which indicates a timeout when acquiring location information. In this case, because denial of location information was selected, a PositionError with "PERMISSION_DENIED" is the execution result of the Geolocation API.
[0049] In S608, the location information acquisition unit 508 acquires the location information of the client device 102 as a response to the location information request to the client device 102. If the location information has been acquired (YES in S608), the process proceeds to S609. If a result of denial of the location information request has been received (NO in S608), the process proceeds to S607, where a location information acquisition error is processed.
[0050] When location information is obtained from the client device 102, the location information includes various information defined in "GeolocationCoodinates" of the Geolocation API, such as the following. The information may not include altitude, altitude accuracy, direction of travel, or speed of travel.
[0051] GeolocationCoorinates.latitude : Latitude GeolocationCoorinates.longitude : longitude GeolocationCoorinates.altitude : Altitude GeolocationCoorinates.accuracy : latitude and longitude accuracy GeolocationCoorinates.altitudeAccuracy : Altitude accuracy GeolocationCoorinates.heading : The direction the client device is facing GeolocationCoorinates.speed : The speed at which the client device is moving The acquired location information is set to each property of the GeolocationCoodinates interface, and this is used as the location information acquisition result of the Geolocation API.
[0052] In S609, the JavaScript execution unit 504 executes JavaScript based on the processing results of the Geolocation API determined in the processing up to this point.
[0053] In S610, the drawing unit 503 generates a drawing result based on the render tree generated by the content analysis unit 502 and the execution result of the JavaScript execution unit 504. If location information is obtained from the client device 102 in S609, content using the location information is drawn, and if processing is performed due to a location information acquisition error, the drawing result will be in accordance with the error.
[0054] In S611, the imaging processing unit 506 images the drawing result, and the communication unit 501 transmits the image to the client device 102. The above is the processing in FIG.
[0055] <Client device processing> Next, the flow of processing performed by the client device 102 of this embodiment will be described with reference to the flowchart shown in FIG.
[0056] In S701, the communication unit 401 determines whether or not a drawing result image has been received from the cloud server 101. If it is determined that a drawing result image has been received (S701-YES), the process proceeds to S702. If it is determined that a drawing result image has not been received (S701-NO), the process proceeds to S703.
[0057] In this step, the image received is, for example, an image of the request dialog from the Web content server 105 that was imaged in S603 of the processing flow of the cloud server 101, or an image of the rendering result of the Web page generated in S610.
[0058] In S702, the display unit 402 displays the image received in S701, and the process returns to S701. The display screen of the client device 102 is configured with, for example, a URL input field and an area for displaying a web page, similar to a typical built-in browser, and the received image is displayed in the display area for the web page.
[0059] In S703, the input unit 403 determines whether or not a user input for the displayed image has been received. If it is determined that a user input has been received (S703-YES), the process proceeds to S704. If it is determined that a user input has not been received (S703-NO), the process proceeds to S705. When a touch input or mouse input is performed from the input unit 403, such as a touch panel or a mouse, the occurrence of the user input is notified along with the input content (touch start, touch end, touch move, mouse down, mouse up, mouse move, etc.) and coordinate information. A determination can be made based on the presence or absence of this notification.
[0060] In S704, the communication unit 401 transmits the user input result received in S703 to the cloud server 101. The input content and coordinates are transmitted to the cloud server 101 as the user input result.
[0061] In S705, the communication unit 401 determines whether a location information request has been received from the cloud server 101. If it is determined that a location information request has been received (YES in S705), the process proceeds to S706. If it is determined that a location information request has not been received (NO in S705), the process returns to S701. For example, if the location information request transmitted in S606 of the processing flow of the cloud server 101 has been received, the process proceeds to S706.
[0062] In S706, the location information selection unit 404 determines whether a setting previously selected by the user regarding whether or not to provide the location information of the client device 102 to the cloud server 101 has been saved. If saved (YES in S706), the process proceeds to S708. If not saved (NO in S706), the process proceeds to S707. For example, if the setting has been saved in a specified file, the determination can be made based on whether or not the file exists.
[0063] In S707, the location information selection unit 404 displays a dialog box for confirming whether or not to approve the provision of the location information of the client device 102 to the cloud server 101, and then proceeds to S709. The dialog box includes a button for receiving a user input indicating whether or not to approve the provision of the location information to the cloud server 101, and a check box indicating an intention to save the setting and use the setting from the next time onwards.
[0064] In S708, the location information selection unit 404 reads the saved settings, and the process proceeds to S711. If the settings are saved in a predetermined file, the settings are read from the predetermined file.
[0065] In S709, the input unit 403 accepts user input to the dialog. More specifically, the input to the dialog displayed in S707 is accepted, and the selection of whether to provide the location information of the client device 102 to the cloud server 101 and to save the setting is accepted.
[0066] In S710, the location information selection unit 404 determines whether or not to save the settings. If an input to save the selected settings is received (S710-YES), the process proceeds to S712. If an input indicating that the settings will not be saved is received (S710-NO), the process proceeds to S711. In the case of the dialog described above, the determination can be made based on whether or not a check box to save the settings is selected.
[0067] In S711, the location information selection unit 404 determines whether or not approval has been given to provide the location information to the cloud server 101. If it is determined that approval has been given (YES in S711), the process proceeds to S713. If it is determined that approval has been given (NO in S711), the process proceeds to S714. The determination can be made based on the past setting information read from the file in S708, or based on whether the "Approve" or "Deny" button was pressed in the user input in the location information provision confirmation dialog in S709.
[0068] In S712, the location information selection unit 404 saves the selection result of approval or denial input by the user as a setting to be used when displaying content using the Geolocation API from the next time onward. For example, it saves it in a setting file. Then, the process proceeds to S711.
[0069] In S713, the location information selection unit 404 acquires location information from the location information acquisition unit 405 and transmits the location information to the cloud server 101 via the communication unit 401. Then, the process returns to S701. The location information transmitted includes latitude, longitude, and accuracy. If available, the altitude, altitude accuracy, and, if moving, the moving speed and direction are also transmitted.
[0070] In S714, the location information selection unit 404 transmits a message denying the request for location information to the cloud server 101 via the communication unit 401. For example, a message denying the request, such as DENIED, is transmitted in response to the request to acquire location information. Then, the process returns to S701.
[0071] The cloud server 101 processes the web content based on the transmission results of S713 and S714 and transmits the generated drawing result image to the client device 102, and the client device displays the image in S702 after determining that the drawing result image was received in S701.
[0072] The processing of this embodiment has been described above with reference to the flowcharts of Figures 6 and 7. By performing this processing, the user who operates the client device 102 can indicate whether or not to approve or deny the provision of location information to the cloud server 101, and it is possible to prevent location information from being provided to the cloud server 101 without the user's consent.
[0073] In the above example, a dialog box is displayed when there is content that uses the Geolocation API, and the user is prompted to select whether or not to save the setting for providing location information to the cloud server 101, and the setting is then saved. However, the present invention is not limited to this example, and the setting may be accepted in advance. For example, the client device 102 may start the browser application, and the user may be able to set in advance whether to approve or deny the provision of location information to the cloud server 101 on a setting screen of the browser application.
[0074] (Embodiment 2) In the second embodiment, an example will be described in which the cloud server generates a screen for confirming whether or not to approve the provision of the location information of the client device to the cloud server. That is, in the second embodiment, the cloud server 101 generates a dialog asking whether to approve or deny the provision of the location information to the cloud server 101.
[0075] The configuration of the device is the same as in embodiment 1, and therefore a description thereof will be omitted. In each flowchart, steps that perform the same processing as in embodiment 1 are given the same reference numerals, and a description thereof will be omitted.
[0076] <Cloud server processing> First, the processing flow of the cloud server 101 according to this embodiment will be described with reference to the flowcharts shown in FIGS.
[0077] In S801, the location information acquisition unit 508 acquires information stored in the client device 102 from the client device 102 via the communication unit 501, the information indicating whether to approve or deny the provision of location information to the cloud server 101. If the setting is stored in the client device 102, the location information acquisition unit 508 receives setting information indicating either approval or denial from the client device 102. If the setting is not stored, the location information acquisition unit 508 receives a response of "no setting."
[0078] In S802, the location information acquisition unit 508 determines whether or not setting information (approval / denial) has been received from the client device 102. If setting information has been received (S802-YES), the process proceeds to S807. If "No setting" has been received (S802-NO), the process proceeds to S803.
[0079] In S803, the dialog display unit 505 generates a rendering result of a dialog asking whether to approve or deny providing the location information to the cloud server 101. The dialog is configured to include a button to agree to providing the location information to the cloud server 101, a button to deny providing the location information, and a check box to be checked if the selected result is to be saved as a setting for the next time and thereafter.
[0080] In S804, the imaging processing unit 506 images the drawing result of the dialog generated in S803 and transmits the image to the client device 102 via the communication unit 501. In S805, the communication unit 501 receives a user input from the client device 102. The received user input is an input made to the image of the dialog transmitted to the client device 102 in S804 that is displayed on the client device 102.
[0081] In S806, the location information acquisition unit 508 identifies the approval / denial selection result and the selection result of the check box for saving the settings made in the dialog based on the user input received in S805. If saving the settings is selected, the approval / denial selection result is sent to the client device 102 as a settings save request.
[0082] In S807, the location information acquisition unit 508 determines whether or not the request has been approved based on the approval / denial selection result identified in S806, or based on the approval / denial information notified via S802. If the request has been approved (YES in S807), the process proceeds to S808. If the request has been denied (NO in S807), the process proceeds to S607.
[0083] In S808, the location information acquisition unit 508 requests location information from the client device 102 via the communication unit 501. In S809, the location information acquisition unit 508 acquires location information from the client device 102 via the communication unit 501.
[0084] <Client device processing> Next, the processing flow of the client device 102 according to this embodiment will be described with reference to the flowchart shown in Fig. 10. In S1001, the location information acquisition unit 405 acquires latitude, longitude, their accuracy, moving speed, moving direction, etc. from the instrument and transmits them to the cloud server 101 as location information.
[0085] In S1002, the location information selection unit 404 determines whether or not a setting save request has been received from the cloud server 101 via the communication unit 401. If the communication unit 401 has received a setting save request (S1002-YES), the process proceeds to S712. If the content received by the communication unit 401 is not a setting save request (S1002-NO), the process proceeds to S1003.
[0086] In S1003, the location information selection unit 404 determines whether or not a request has been received from the cloud server 101 to acquire stored information regarding whether to approve or deny the provision of location information. If the content received by the communication unit 401 is a request to acquire stored settings (YES in S1003), the process proceeds to S1004. If the content received by the communication unit 401 is not a request to acquire stored settings (NO in S1003), the process returns to S701.
[0087] In S1004, the location information selection unit 404 reads out the saved setting of approval / denial of provision of location information to the cloud server 101 and transmits it to the cloud server 101. Then, the process proceeds to S701. If there is no setting, it transmits the message that "no setting" exists.
[0088] As described above, according to this embodiment, the cloud server 101 can generate a dialog asking whether to approve or deny the provision of location information to the cloud server 101.
[0089] (Embodiment 3) In the third embodiment, an example will be described in which the client device 102 specifies the geographical region of the cloud server 101. In this example, when the cloud server 101 operates in multiple regions, the provision of location information, which is personal information of the user, to the cloud server 101 in a specific region is approved. Here, an example will be described in which the provision of location information to the cloud server 101 in the Tokyo region is approved instead of the cloud server 101 in the North American region that is currently being accessed. Note that the configuration of the device is the same as in the first embodiment, and therefore a description thereof will be omitted. Furthermore, in each flowchart, the steps that perform the same processing as in the first embodiment are denoted by the same reference numerals, and a description thereof will be omitted.
[0090] 11 is an example of a dialog according to this embodiment. The dialog includes an approve button / deny button for confirming whether to approve or deny the provision of location information to the cloud server 101, and radio buttons for selecting the region to be approved. The currently accessed North American region and cloud servers 101 operating in the Japan region are displayed as candidates. To approve provision to the cloud server 101 in the Japan region, select the radio button for the Japan region and press the approve button.
[0091] 12 shows the configuration of a cloud environment in which the cloud server 101 according to this embodiment operates. Virtual machines of the cloud server are running in both the North American region and the Japanese region. The cloud environment includes a shared storage 1201 that can be accessed from either region, and private storages 1202 and 1203 that can only be accessed from their own regions.
[0092] <Cloud server processing 1> 13 shows the processing flow of the cloud server 101 according to this embodiment. Fig. 13 shows the processing flow of the cloud server 101 in a form in which a dialog is generated by the client device 102 as in the first embodiment.
[0093] In S1301, if the location information acquisition unit 405 receives a region change request from the client device 102 (S1301-YES), the process proceeds to S1302. If the location information acquisition unit 405 has not received a region change request (S1302-NO), the process proceeds to S608. The location change request specifies the region to be changed.
[0094] In S1302, the location information acquisition unit 405 transmits information required to take over the display of the URL to the destination region, and ends the processing of the current region (for example, the North American region). For example, information such as the URL currently to be displayed and the access history to date is transmitted to the destination region. If the cloud server 101 has saved in the shared storage 1201 the URL history, which is the history of processing requests from this client device 102, and the like, a storage ID that uniquely identifies the shared storage 1201 is transmitted to the cloud server 101 of the destination region.
[0095] 7, the client device 102 acquires from the cloud server 101 the name of the current region, the name of another region in which the client device 102 is operating, and address information for communicating with the cloud server 101 in that region. Then, in S707, a dialog like the one shown in Fig. 11 is displayed. Then, in S713, a request for changing the region is sent to the cloud server 101, and the location information of the client device 102 is sent to the address of the cloud server 101 in the new region.
[0096] Meanwhile, the cloud server 101 in the destination region takes over the display of the web page using the location information of the client device 102 from the cloud server 101 in the North American region. It receives the URL to be accessed, the address information of the client device 102, and information about the shared storage 1201 being used from the cloud server 101 in the North American region. It also obtains the location information of the client device 102 from the client device 102. It then copies the information in the shared storage 1201 to individual storage, and executes processing of the web content of the URL. This copying allows the processing history that has been processed by the cloud server 101 in the North American region to be continued in the Japan region. For Geolocation API processing, a drawing result is generated using the location information received from the client device 102, and the resulting image is sent to the client device 102. When the location information is saved on the cloud server 101 side, it is stored in its own storage. After the region change is complete, the cloud server 101 may notify the client device 101.
[0097] <Cloud server processing 2> 14 shows the processing flow of the cloud server 101 in a form in which a dialog is generated by the cloud server 101 as in the second embodiment. The dialog drawn in S803 is the dialog shown in FIG.
[0098] In S1401, the location information acquisition unit 405 applies the user input received in S805 as input to the dialog drawing result. Then, it is determined whether or not a region change request has been received. If it is determined that a region change request has been received (S1401-YES), the process proceeds to S1402. If it is determined that a region change request has not been received (S1402-NO), the process proceeds to S806.
[0099] In S1402, the location information acquisition unit 405 transmits information required to take over the display of the URL to the destination region, and ends the processing of the current region (for example, the North American region). For example, information such as the URL currently to be displayed and the access history to date is transmitted to the destination region. If the cloud server 101 has saved in the shared storage 1201 a URL history, which is a history of processing requests from this client device 102, and the like, a storage ID that uniquely identifies the shared storage 1201 is transmitted to the cloud server 101 of the destination region. The processing in the cloud server 101 of the destination region is as described above.
[0100] As described above, according to this embodiment, the client device 102 can obtain the drawing results by executing the Geolocation API by providing location information, which is personal information, to the cloud server 101 operating in the desired region from among the presented regions.
[0101] The disclosure of this specification includes the following information processing system, a control method for an information processing system, and a program.
[0102] (Item 1) An information processing system in which a first information processing device processes web content and transmits a rendering result obtained to a second information processing device for display, An information processing system characterized by comprising a generation means for generating a screen for confirming whether or not to approve the provision of the location information of the second information processing device to the first information processing device when an API for obtaining location information is used in the web content.
[0103] (Item 2) The first information processing device The generating means; a transmitting means for transmitting the information on the screen to the second information processing device; Equipped with The second information processing device a receiving means for receiving the screen information from the first information processing device; a display means for displaying the screen based on the information on the screen; an input means for accepting user input to the screen; a transmitting means for transmitting the result of the user input to the first information processing device; 2. The information processing system according to item 1, comprising:
[0104] (Item 3) The first information processing device receiving means for receiving a result of the user input from the second information processing device; a requesting means for requesting the location information from the second information processing device when the result of the user input indicates approval of provision of the location information; 3. The information processing system according to item 2, further comprising:
[0105] (Item 4) The second information processing device 4. The information processing system according to item 3, further comprising a transmitting means for transmitting the location information to the first information processing device based on the request for the location information.
[0106] (Item 5) The first information processing device a requesting means for requesting the second information processing device for the location information when an API for acquiring the location information is used in the web content; The second information processing device The generating means; a display means for displaying the screen, 2. The information processing system according to item 1, wherein the generating means generates the screen in response to a request from the requesting means.
[0107] (Item 6) The second information processing device an input means for accepting user input to the screen; a transmitting means for transmitting the location information to the first information processing device when the result of the user input indicates approval of the provision of the location information; 6. The information processing system according to item 5, further comprising:
[0108] (Item 7) The first information processing device a receiving means for receiving the location information from the second information processing device; a rendering means for rendering the web content including an API for acquiring the location information based on the location information; imaging means for imaging the drawing result by the drawing means; a transmitting means for transmitting the image generated by the imaging means to the second information processing device; 7. The information processing system according to item 4 or 6, further comprising:
[0109] (Item 8) The second information processing device a receiving means for receiving the image from the first information processing device; a display means for displaying the image; 8. The information processing system according to item 7, further comprising:
[0110] (Item 9) 9. The information processing system according to any one of items 1 to 8, wherein the screen is a dialogue including an approve button for approving the provision of the location information and a deny button for denying the provision.
[0111] (Item 10) 10. The information processing system of item 9, wherein the screen further includes radio buttons for selecting a geographical region for which the provision of the location information is approved.
[0112] (Item 11) The first information processing device a change means for changing the region to a selected region based on the selection of the region; a notification means for notifying the second information processing device of the completion of the change of the region; Item 11. The information processing system according to item 10, further comprising:
[0113] (Item 12) the first information processing device is a cloud server, The second information processing device is a client device. 12. The information processing system according to any one of items 1 to 11,
[0114] (Item 13) A control method for an information processing system in which a first information processing device processes web content and transmits a rendering result obtained to a second information processing device for display, comprising: A control method for an information processing system, comprising a step of generating a screen for confirming whether or not to approve the provision of the location information of the second information processing device to the first information processing device when an API for obtaining location information is used in the web content.
[0115] (Item 14) Item 14. A program for causing a computer to execute the control method for an information processing system according to Item 13.
[0116] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the 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 realizes one or more functions.
[0117] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]
[0118] 100: Information processing system, 101: Cloud server, 102: Client device, 103: Browser engine, 104: Imaging program, 105: Web content server, 401: Communication unit, 402: Display unit, 403: Input unit, 404: Location information selection unit, 405: Location information acquisition unit, 501: Communication unit, 502: Content analysis unit, 503: Drawing unit, 504: JavaScript execution unit, 505: Dialog display unit, 506: Imaging processing unit, 507: Input unit, 508: Location information acquisition unit
Claims
1. An information processing system in which a first information processing device processes web content, and transmits a rendering result obtained from the processing to a second information processing device for display, An information processing system characterized by comprising a generation means for generating a screen to confirm whether or not to approve the provision of the location information of the second information processing device to the first information processing device when an API for obtaining location information is used in the web content.
2. The first information processing device The generating means; a transmitting means for transmitting the information on the screen to the second information processing device; Equipped with The second information processing device a receiving means for receiving the screen information from the first information processing device; a display means for displaying the screen based on the information on the screen; an input means for accepting user input to the screen; a transmitting means for transmitting the result of the user input to the first information processing device; 2. The information processing system according to claim 1, further comprising:
3. The first information processing device receiving means for receiving a result of the user input from the second information processing device; a requesting means for requesting the location information from the second information processing device when the result of the user input indicates approval of provision of the location information; The information processing system according to claim 2, further comprising:
4. The second information processing device 4. The information processing system according to claim 3, further comprising a transmitting unit that transmits the location information to the first information processing device based on the request for the location information.
5. The first information processing device a requesting unit that requests the second information processing device for location information when an API for acquiring location information is used in the web content; The second information processing device The generating means; a display means for displaying the screen, 2. The information processing system according to claim 1, wherein said generating means generates said screen in response to a request from said requesting means.
6. The second information processing device an input means for accepting user input to the screen; a transmitting means for transmitting the location information to the first information processing device when the result of the user input indicates approval of the provision of the location information; The information processing system according to claim 5, further comprising:
7. The first information processing device a receiving means for receiving the location information from the second information processing device; a rendering means for rendering the web content including an API for acquiring the location information based on the location information; imaging means for imaging the drawing result by the drawing means; a transmitting means for transmitting the image generated by the imaging means to the second information processing device; 7. The information processing system according to claim 4, further comprising:
8. The second information processing device a receiving means for receiving the image from the first information processing device; a display means for displaying the image; The information processing system according to claim 7, further comprising:
9. 2. The information processing system according to claim 1, wherein the screen is a dialogue including an approve button for approving the provision of the location information and a deny button for denying the provision.
10. The information processing system of claim 9 , wherein the screen further includes radio buttons for selecting a geographic region for which provision of the location information is approved.
11. The first information processing device a change means for changing the region to a selected region based on the selection of the region; a notification means for notifying the second information processing device of the completion of the change of the region; The information processing system according to claim 10, further comprising:
12. the first information processing device is a cloud server, The second information processing device is a client device.
2. The information processing system according to claim 1, wherein:
13. A control method for an information processing system, in which a first information processing device processes web content, and a rendering result obtained by the processing is transmitted to a second information processing device for display, comprising: A control method for an information processing system, characterized by comprising a step of generating a screen for confirming whether to approve providing the location information of the second information processing device to the first information processing device when an API for obtaining location information is used in the web content.
14. A program for causing a computer to execute the method for controlling an information processing system according to claim 13.
Citation Information
Patent Citations
Thin client system and program
JP2012118730A