Information processing system, program for the same, server apparatus, client device, and information processing method

The system ensures smooth cooperation between cloud browser systems and communication terminals by transmitting a correspondence table with instructions and script processes to the server, addressing compatibility issues during version upgrades or service deployments.

JP2025108125APending Publication Date: 2025-07-23CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024001825
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-10
Publication Date
2025-07-23

AI Technical Summary

Technical Problem

Existing cloud browser systems face issues in maintaining smooth cooperation between an image generation system and a communication terminal when the terminal's version is upgraded or when deploying services to different types of terminals due to API updates.

Method used

The system includes a client device that transmits a correspondence table with instructions and script processes to a server, which executes and registers these processes to ensure compatibility across different terminal versions.

Benefits of technology

Enables seamless cooperation between the image generation system and communication terminals during version upgrades or service deployments, ensuring consistent functionality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025108125000001_ABST
    Figure 2025108125000001_ABST
Patent Text Reader

Abstract

To provide a technique to allow an image creation system and a communication terminal to smoothly cooperate with each other, when updating the version of the communication terminal and developing a service to a terminal of a different type in a cloud browser.SOLUTION: An information processing system of the present invention displays, on a client device, a drawing result of processing performed by a server on web content including an instruction indicating the cooperation between the server and the client device. The client device has transmission means that transmits, to the server, an association table including the combination of an instruction and script processing corresponding to the instruction. The server has: execution means that executes the instruction described in the web content; receiving means that receives the association table from the client device; and function expansion means that registers the instruction as an instruction in executing the corresponding script processing, and allows the execution means to execute the corresponding script processing.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing system, a program, a server device, a client device, and an information processing method, and belongs to the field of displaying, on a client device, a drawing result obtained by processing Web content including instructions indicating cooperation between a server and a client device.

Background Art

[0002] Currently, communication terminals equipped with a Web browser (hereinafter referred to as a browser) and having a function of browsing Web pages on the browser are widespread. By displaying a Web page of an external service through the browser, the communication terminal can cooperate with the external service.

[0003] On the other hand, in recent years, as one form of a browser, a configuration in a sync client format is becoming widespread. Specifically, the functions of the browser are separated into a dedicated view and an image generation system. Then, the dedicated view is operated on the communication terminal at the user's hand, and the image generation system is operated on a remote server. The communication terminal at the user's hand transmits the user's operation instruction to the remote server.

[0004] In addition, the remote server transmits the processing result of the image generation system to the communication terminal at the user's hand, and the communication terminal at the user's hand uses the dedicated view to present the received processing result to the user.

[0005] Hereinafter, a configuration in which the image generation system is operated on a remote server is referred to as a cloud browser. The cloud browser executes highly computationally intensive processes such as analysis processing and execution processing of Web pages within the image generation system on the server, so that the communication terminal is not burdened with the computational load.

[0006] Here, in the case where an image generation system repeatedly requests sensor information in a cloud browser, a method has been proposed in which a communication terminal repeatedly transmits sensor information to the cloud browser at regular intervals (Patent Document 1).

Prior Art Documents

Patent Documents

[0007]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0008] Patent Document 1 assumes the cooperation between an image generation system deployed on a cloud browser and a communication terminal having position information acquisition means.

[0009] The communication terminal provides an API that transmits position information to the image generation system in accordance with a request from the image generation system. When the image generation system repeatedly calls the API on the communication terminal, it calculates the repetition period T and transmits it to the communication terminal.

[0010] Thereafter, the communication terminal acquires position information at the period T and transmits it to the image generation system. As a result, even in the case of a cloud browser in the sinklient form, it becomes possible to handle sensor information of the communication terminal in the same manner as an embedded browser.

[0011] In Patent Document 1, when the image generation system repeatedly requests sensor information, a method has been proposed in which the communication terminal repeatedly transmits sensor information to the image generation system at predetermined time intervals.

[0012] However, when the API of a communication terminal connected to a cloud browser is updated due to, for example, a terminal version upgrade, the image generation system calls the API before the update, resulting in a problem that the image generation system and the communication terminal cannot cooperate with each other.

[0013] The present invention has been made in view of the above problems, and an object thereof is to provide a technology that enables a smooth cooperation between an image generation system and a communication terminal when upgrading the version of a communication terminal or deploying a service to different types of terminals in a cloud browser.

Means for Solving the Problems

[0014] The present invention is grasped by the following configuration in order to achieve the above object. (1) In an information processing system of the present invention, in a server, an information processing system that displays a drawing result obtained by processing Web content including an instruction indicating cooperation between the server and a client device on the client device, the client device has a transmission means for transmitting a correspondence table including a combination of the instruction and a script process corresponding to the instruction to the server, the server has an execution means for executing the instruction described in the Web content, a reception means for receiving the correspondence table from the client device, and a function extension means for registering the instruction as an instruction for executing the corresponding script process and enabling the execution means to execute the corresponding script process.

[0015] (2) The program of the present invention causes a computer to function as the information processing system having the configuration of (1) above.

[0016] (3) A server device of the present invention is a server device that causes a client device to display a drawing result obtained by processing Web content including an instruction indicating cooperation between the server device and the client device, the server device has an execution means for executing the instruction described in the Web content, a reception means for receiving a correspondence table including a combination of the instruction and a script process corresponding to the instruction from the client device, and a function extension means for registering the instruction as an instruction for executing the corresponding script process and enabling the execution means to execute the corresponding script process.

[0017] (4) The client device of the present invention is a client device that displays a rendering result obtained by rendering Web content on a server, and has a transmission means for transmitting to the server a correspondence table including a combination of an instruction described in the Web content and a script process corresponding to the instruction.

[0018] (5) The information processing method of the present invention is an information processing method for displaying on a client device a rendering result obtained by processing Web content including an instruction indicating cooperation between a server and a client device on the server, wherein the client device transmits to the server a correspondence table including a combination of the instruction and a script process corresponding to the instruction, the server registers the instruction in the received correspondence table as the instruction at the time of executing the script process, and when executing the instruction described in the Web content, executes the script process corresponding to the instruction.

Effect of the Invention

[0019] According to the present invention, in a cloud browser, it is possible to provide a technique capable of smoothly cooperating the image generation system and the communication terminal when upgrading the version of the communication terminal or deploying a service to different types of terminals.

Brief Description of the Drawings

[0020]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Embodiments for Carrying Out the Invention

[0021] Hereinafter, with reference to the accompanying drawings, embodiments for carrying out the present invention (hereinafter referred to as "embodiments") will be described in detail. However, the following embodiments do not limit the present invention relating to the claims, and not all combinations of the features described in the present embodiment are essential for the solution means of the present invention. Note that the same elements are given the same numbers or signs throughout the description of the embodiments.

[0022] 『First Embodiment』 In the first embodiment, consider a case where a web page 202 (also referred to as web content) being browsed on a cloud browser calls the printing function of the communication terminal 201. Also, at this time, consider a case where it is compatible with both the communication terminal 201 with the API (Application Programming Interface) version V1 of the communication terminal 201 and the communication terminal 201 with the API version V2.

[0023] FIG. 1 is a diagram for explaining an information processing system according to a first embodiment of the present invention. As shown in FIG. 1, the information processing system according to the first embodiment includes a communication terminal 201 and an image generation system 203 having a virtual machine A205.

[0024] The communication terminal 201 is an example of a client device according to the present invention, and is, for example, a printer or a thin client PC having no high - performance browsing function.

[0025] Further, the virtual machine A205 is an example of a server or a server device according to the present invention, and the server device is not limited to being configured by physical hardware, and may be configured as a virtual machine as in the present embodiment. Note that a virtual machine generally refers to a computer that realizes the same functions as a physical computer by software.

[0026] Furthermore, the image generation system 203 is an example of a cloud browser according to the present invention.

[0027] [Communication terminal 201] The communication terminal 201 includes a display unit 212, a transmission / reception unit 213, a dedicated view 214, a control command processing unit 215, an operation instruction generation unit 216, and an individual table 217.

[0028] <Display unit 212> The display unit 212 is, for example, display means for allowing a user to view a drawing result (described later) from the image generation system 203. On the screen of the display unit 212, GUI buttons associated with the URL of the web page 202 are arranged.

[0029] This GUI button provides the user with a function corresponding to a bookmark, which is a function of a general browser.

[0030] When the user presses a GUI button on the screen, the communication terminal 201 transmits the URL of the web page 202 associated with the button to the image generation system 203 through the transmission / reception unit 213.

[0031] <Transmission / reception unit 213> The transmission / reception unit 213 is a transmission / reception means for performing transmission and reception with the image generation system 203.

[0032] The transmission / reception unit 213 performs encrypted communication with the image generation system 203 according to an encrypted communication protocol, and is an example of means for performing encrypted communication with a server according to an encrypted communication protocol according to the present invention. At this time, the encrypted communication protocol is SSL (Secure Socket Layer) or TLS (Transport Layer Security).

[0033] First, as for what the transmission / reception unit 213 transmits, for example, there are an operation instruction (for example, screen press, forward, backward, screen magnification, etc.) generated by the operation instruction generation unit 216 according to the user's operation, a product identifier, an individual table 217, and the like. Note that the transmission / reception unit 213 that functions as transmission means in this way is an example of the transmission means of the client device according to the present invention. Hereinafter, (1) the method of transmitting an operation instruction, (2) the product identifier, and (3) the individual table 217 will be specifically described.

[0034] (1) Method of transmitting an operation instruction FIG. 2 is a diagram for explaining a method of transmitting a user's operation instruction to the image generation system 203 according to the first embodiment of the present invention. The transmission of the operation instruction can be performed, for example, by a JavaScript program that stores the user operation instruction in the body of the HTTPS communication as shown in FIG. 2. Hereinafter, the content of FIG. 2 shown as an example will be described.

[0035] "webclient" is a structure that sends an HTTPS communication request to a destination.

[0036] "userop" is a structure that stores a user's operation instruction. In Figure 2, as an example, the value is {type:click, x:50, y:20}. Specifically, "type:click" indicates that the user operation is a click. Also, in {type:click, x:50, y:20}, "x:50" indicates that the x-coordinate the user wants to operate on is 50, and "y:20" indicates that the y-coordinate the user wants to operate on is 20.

[0037] In addition, other values that "type" can take include "type:insert" and "type:datacopy", etc. For example, "type:insert" indicates inserting data into the element to be operated on, and "type:datacopy" indicates a process of copying the configuration information of Web page 202 at the position where the user is operating to the shared memory of communication terminal 201.

[0038] And the sending process is implemented by the description in "webclient.post()". The request destination can be specified by the "url" member. Here, as an example, the value is "https: / / www.cloudbrowser.canon". Also, the "body" of the request can be specified by the "body" member, and the value is "userop".

[0039] And on the side of image generation system 203, if it refers to the "userop" received from communication terminal 201, it can determine the content of the instruction. For example, in the example shown in Figure 2, since the value of "userop" is {type:click, x:50, y:20}, image generation system 203 can determine that the user has pressed (x,y)=(50,20).

[0040] (2) Product Identifier The product identifier indicates the product name and product version of the communication terminal 201. For example, an example of a product identifier is a JSON-formatted expression such as {"prd": {"name": "prd01", "ver": "1.0"}}. In this embodiment, the product identifier is expressed in JSON format, but it may also be expressed as a character string.

[0041] In this embodiment, it is assumed that "name" is the product name and "ver" is the product version. In the JSON-formatted expression, if "prd.name" is used, the product name "prd01" can be obtained from the product identifier. Also, if "prd.ver" is used, the product version "1.0" can be obtained from the product identifier.

[0042] Each of the communication terminals 201 has this product identifier, and for example, it is stored in a storage device such as a RAM or ROM provided in the communication terminal 201.

[0043] Details will be described in the following "(3) Individual Table 217", but the product identifier representing the product name and product version of the communication terminal 201 is also related to the individual table 217 that each of the communication terminals 201 has, and only that part will be briefly described first.

[0044] FIG. 3(A) is an example of the individual table 217, and FIG. 3(B) is another example of the individual table 217. For example, in the communication terminal 201 with the product identifier described above, the product name and product version are "prd01" and "1.0", respectively. The communication terminal 201 with the product name "prd01" and the product version "1.0" has the individual table 217 shown in FIG. 3(A), and there is a description in the identification information that the product name and product version are "prd01" and "1.0", respectively.

[0045] In addition, the communication terminal 201 including the individual table 217 shown in FIG. 3(B) has a description that the product name and the product version in the identification information are "prd01" and "2.0", respectively. This means the communication terminal 201 whose product name and product version are "prd01" and "2.0", respectively. Conversely, it has a product identifier whose product name and product version are "prd01" and "2.0", respectively.

[0046] Thus, the description of the product name and the product version in the identification information of the individual table 217 is made to match the product name and the product version of the product identifier.

[0047] (3) Individual table 217 FIG. 3 is a diagram for explaining the individual table 217 of the first embodiment according to the present invention. When referring to both FIG. 3(A) and FIG. 3(B), it is simply described as FIG. 3. As described above, FIG. 3(A) is an example of the individual table 217, and FIG. 3(B) is another example of the individual table 217. The difference between FIG. 3(A) and FIG. 3(B) will be described later.

[0048] As shown in FIG. 3, the individual table 217 includes identification information including an extension instruction (also referred to as an instruction) to be described later, and a script process associated with the extension instruction (instruction).

[0049] In the following description of the individual table 217, for the sake of easy understanding, the description will be made assuming that there are only two communication terminals 201, i.e., the communication terminal 201 including the individual table 217 in FIG. 3(A) and the communication terminal 201 including the individual table 217 in FIG. 3(B).

[0050] Also, when it is easier to understand by speaking separately, the communication terminal 201 having the individual table 217 in Fig. 3(A) is described as communication terminal 201 of A, and the communication terminal 201 having the individual table 217 in Fig. 3(B) is described as communication terminal 201 of B.

[0051] However, in reality, there may be a plurality of communication terminals 201 having the individual table 217 in Fig. 3(A), and there may be a plurality of communication terminals 201 having the individual table 217 in Fig. 3(B).

[0052] (Identification Information) As shown in Fig. 3, the identification information includes the product name described above in "(2) Product Identifier" and information similar to the product version. That is, the identification information includes a product identifier for identifying a product, and for this reason, the individual table 217 also includes a product identifier for identifying a product. Also, as shown in Fig. 3, the identification information includes the extended instruction "device_print()" specified by the value of the "funcName" member. Note that this extended instruction is an example of the instructions according to the present invention.

[0053] Here, the difference between Fig. 3(A) and Fig. 3(B) will be described. In both Fig. 3(A) and Fig. 3(B), the product name is the same because the product name (name) is "prd01". On the other hand, looking at the product version (ver), Fig. 3(A) has a product version of "1.0", while Fig. 3(B) has a product version of "2.0".

[0054] That is, although Fig. 3(A) and Fig. 3(B) have the same product name, for example, Fig. 3(B) has an updated product version.

[0055] Due to this difference in product version, for example, in this embodiment, as an example, it is assumed that the state of the return value that the communication terminal 201 can receive is different.

[0056] Specifically, in product version "1.0", the return value returned by the API of the image generation system 203 to the communication terminal 201 was a string. On the other hand, in product version "2.0", assume that when updated, the specification of the return value returned by the API of the image generation system 203 was changed. Specifically, assume that the format of the return value returned by the API of the image generation system 203 to the communication terminal 201 was changed to a JSON format expression, and the specification was changed to store the return value in a member named "data1".

[0057] As a result of this difference, in the image generation system 203, it is necessary to perform different script processes for product versions "1.0" and "2.0".

[0058] Therefore, in the individual table 217, for the identification information, for example, when extended instructions are required for script processing according to the difference, the extended instruction is described as "device_print()", which is the value of the "funcName" member. In addition to the identification information, the individual table 217 has script processing corresponding to the extended instruction, which should be performed when executing the extended instruction "device_print()".

[0059] (Script processing) As described above, in the case of the communication terminal 201 of product version "1.0" having the identification information in Fig. 3(A), the return value to the communication terminal 201 is a string. Therefore, when executing the extended instruction "device_print()" specified by the identification information, the script processing is such that the return value is directly used in the JavaScript program, like "xhr.responseText".

[0060] On the other hand, as described above, in the case of the communication terminal 201 of product version "2.0" having the identification information in Fig. 3(B), the return value to the communication terminal 201 is in JSON format. Therefore, when executing the extended instruction "device_print()" specified by the identification information, the script processing first interprets the JSON-formatted representation with "JSON.parse(xhr.responseText)". After that, "response.data1" is to be used in the JavaScript program.

[0061] In this way, the individual table 217 is a correspondence table including the combination of the extended instruction "device_print()" specified by the identification information and the script processing corresponding to the extended instruction. Note that the individual table 217 is an example of a correspondence table including the combination of an instruction and the script processing corresponding to the instruction according to the present invention.

[0062] Also, as shown in FIG. 3(A), the script processing includes a process of calling "https: / / device / v1 / perform_print". And, for example, if the image generation system 203 makes a request to "https: / / device / v1 / perform_print", the image generation system 203 can execute the function of A of the communication terminal 201.

[0063] Similarly, as shown in FIG. 3(B), the script processing includes a process of calling "https: / / device / v2 / perform_print". Therefore, if the image generation system 203 makes a request to "https: / / device / v2 / perform_print", the image generation system 203 can execute the function of B of the communication terminal 201.

[0064] For example, if the communication terminal 201 is a printer installed remotely from the image generation system 203, the image generation system 203 can execute the printing function and the like of the remotely installed printer by making the above-mentioned request.

[0065] On the one hand, as for what the transmission / reception unit 213 receives, there is a drawing result transmitted by the image generation system 203. Also, as for what the transmission / reception unit 213 receives, there are a control command by a request for executing the functions of the communication terminal 201 from the above-described image generation system 203, an individual table transmission request transmitted by the image generation system 203, and the like. Note that in this way, the transmission / reception unit 213 functions as a reception means of the client device according to the present invention.

[0066] <Dedicated view 214> The dedicated view 214 functions as a display control means for performing display processing on the display unit 212, such as displaying on the display unit 212 a drawing result that is the result of rendering the web page 202 sent from the image generation system 203. Note that the dedicated view 214 is an example of the display control means of the client device according to the present invention.

[0067] Also, the dedicated view 214 functions as a transmission instruction means for instructing the transmission of the individual table 217 to the image generation system 203, and a transmission completion determination means for determining whether or not the transmission has been completed. This determination is made based on whether the value of the linked flag described later is "0" or "1", and the dedicated view 214 also functions as a switching means for switching the value of this linked flag.

[0068] Furthermore, the dedicated view 214 functions as a reception determination means for determining whether or not a control command of the functions of the communication terminal 201 has been received from the image generation system 203.

[0069] In addition, the dedicated view 214 functions as a product identifier transmission instruction means for instructing the transmission to the image generation system 203 of a product identifier used when the image generation system 203 searches for the individual table 217 from the overall table 211 (described later).

[0070] In this way, the dedicated view 214 is responsible for a variety of functions and is an example of the control means of the client device according to the present invention.

[0071] <Control instruction processing unit 215> When the control instruction processing unit 215 receives a control instruction for the functions of the communication terminal 201 from the image generation system 203, it functions as a control instruction execution determination means for determining whether it is executable.

[0072] Then, if the control instruction is executable, the control instruction processing unit 215 also functions as a control instruction execution means for executing the functions of the communication terminal 201 according to the control instruction.

[0073] On the other hand, when the control instruction processing unit 215 determines that the control instruction is not executable, it causes the display unit 212 to display an error message (error text) via the dedicated view 214.

[0074] Note that the control instruction processing unit 215 is an example of the control instruction processing means of the client device according to the present invention that performs control instruction execution determination and execution of control instructions.

[0075] <Operation instruction generation unit 216> The operation instruction generation unit 216 generates an operation instruction according to the user's operation for transmission to the image generation system 203 through the transmission / reception unit 213.

[0076] Specifically, as described in "(1) Transmission of operation instructions", it can be performed by a JavaScript program that stores the user operation instruction in the body of the HTTPS communication.

[0077] For example, the operation instruction generation unit 216 reflects values and the like according to the user's operation in the JavaScript program to generate an operation instruction and transmits it to the image generation system 203.

[0078] [Image generation system 203] As shown in FIG. 1, the image generation system 203 includes a gateway 204, a virtual machine A 205, and a global table 211.

[0079] <<Gateway 204>> The gateway 204 relays communication between the virtual machine A 205 and the communication terminal 201. In addition, the gateway 204 relays communication between the virtual machine A 205 and a web server that provides the web page 202.

[0080] <<Virtual Machine A 205>> FIG. 4 is a diagram showing the hardware of the virtual machine A 205 according to the first embodiment of the present invention.

[0081] <Hardware Configuration of Virtual Machine A 205> As shown in FIG. 4, the virtual machine A 205 includes, as a hardware configuration, a CPU 101, a ROM 102, a RAM 103, an interface 104, and a system bus 105.

[0082] (CPU 101) The CPU 101 is a Central Processing Unit that controls the entire virtual machine A 205.

[0083] (ROM 102) The ROM 102 is a Read Only Memory that stores programs and parameters that do not require modification.

[0084] (RAM 103) The RAM 103 is a Random Access Memory that temporarily stores programs and data supplied from external devices and the like.

[0085] (Interface 104) The interface 104 displays the data it holds and the supplied data.

[0086] (System Bus 105) The system bus 105 communicably connects each unit of the CPU 101, ROM 102, RAM 103, and interface 104.

[0087] Note that the virtual machine A205 may have an interface with an input device such as a pointing device like a mouse that inputs data in response to an operation from the user, or an input device such as a keyboard.

[0088] Also, the virtual machine A205 may have a hard disk, a memory card, etc. that are virtually fixedly installed.

[0089] Alternatively, the virtual machine S205 may have an external storage device including a flexible disk (FD), an optical disk such as a Compact Disk (CD), a magnetic or optical card, an IC card, a memory card, etc. that are virtually detachable.

[0090] Furthermore, there may be a network interface for connecting to a network line such as the Internet.

[0091] <Software Configuration of Virtual Machine A205> As shown in FIG. 1, the virtual machine A205 includes, as a software configuration, a transmission / reception unit 206, a browser 207, an operation instruction determination unit 208, a drawing result generation unit 209, and a function expansion unit 210.

[0092] (Transmission / Reception Unit 206) The transmission / reception unit 206 is a transmission / reception means for performing transmission and reception between the virtual machine A205 and the communication terminal 201, and between the virtual machine A205 and the web server that provides the web page 202. Note that the transmission / reception unit 206 is an example of the transmission means and the reception means of the server and the server device according to the present invention.

[0093] As a reception means, the transmission / reception unit 206 receives, for example, the following from the communication terminal 201. The transmission / reception unit 206 receives a product identifier, an operation instruction, an individual table 217, the URL of the web page 202, and a request for acquisition of a drawing result, etc. transmitted from the communication terminal 201. Note that the transmission / reception unit 206 also functions as a determination means for determining whether or not the individual table 217 has been received from the communication terminal 201.

[0094] As a transmission means, the transmission / reception unit 206 transmits, for example, the following to the communication terminal 201. In response to a request for acquisition of a drawing result from the communication terminal 201, the transmission / reception unit 206 transmits the drawing result generated by the rendering of the web page 202 by the drawing result generation unit 209 to the communication terminal 201. Also, the transmission / reception unit 206 transmits an individual table transmission request or the like to the communication terminal 201, which will be described in detail later.

[0095] (Browser 207) The browser 207 is a so-called browser engine that operates on the virtual machine A205 and executes analysis of HTML, JavaScript (registered trademark), CSS, etc. and processing associated with user operations and communication events. For example, when an operation instruction of a user accessing the web page 202 is notified, the browser 207 executes the processing of the JavaScript program described in the web page 202 (also referred to as web content processing).

[0096] Also, an extension instruction is registered in the browser 207 by a function extension unit 210 described later, and the browser 207 functions as a determination means for determining whether or not to execute the extension instruction in the processing of the JavaScript program. For example, as an example of the extension instruction, there is "device_print()" described above in "(3) Individual table 217".

[0097] Specifically, as will be described in detail later, when the browser 207 includes an extended instruction (e.g., "device_print()") in the JavaScript program described in the web page 202, it functions as execution means for executing the extended instruction. That is, the browser 207 is an example of the execution means of the server and server device according to the present invention that executes the extended instruction (instruction) described in the web page 202.

[0098] (Operation instruction determination unit 208) The operation instruction determination unit 208 functions as type determination means for determining the type etc. of the operation instruction received from the communication terminal 201. For example, the operation instruction includes screen pressing, advancing, retreating, screen enlargement, etc. according to the user's operation, and the operation instruction determination unit 208 determines which type of operation instruction it is, such as screen pressing, advancing, retreating, and screen enlargement. Note that the operation instruction determination unit 208 is an example of the type determination means of the server and server device according to the present invention.

[0099] (Drawing result generation unit 209) The drawing result generation unit 209 functions as drawing result generation means for generating a drawing result that is the result of rendering (also referred to as drawing processing) the web page 202 accessed by the image generation system 203. Note that the drawing result generation unit 209 is an example of the drawing result generation means of the server and server device according to the present invention.

[0100] (Function extension unit 210) The function extension unit 210 functions as function extension means for registering an extended instruction in the browser 207 and enabling the browser 207 to execute script processing corresponding to the extended instruction. Note that the function extension unit 210 is an example of the function extension means of the server and server device according to the present invention.

[0101] <<Overall table 211>> FIG. 5 is a diagram for explaining the overall table 211 of the first embodiment according to the present invention. The overall table 211 is a storage means for storing the individual tables on the image generation system 203 side, and is an integration of the individual tables 217 transmitted from the communication terminal 201 to the image generation system 203. For easier understanding, a specific explanation will be given by borrowing the expressions of A of the communication terminal 201 and B of the communication terminal 201 used in the description of FIG. 3 above.

[0102] For example, the communication terminal 201's A having the individual table 217 in FIG. 3(A) transmits the individual table 217 in FIG. 3(A) to the image generation system 203 at a certain timing. When the image generation system 203 receives the individual table 217 in FIG. 3(A), it registers the received individual table 217 in FIG. 3(A) in the overall table 211. In this way, the portion of the registered individual table 217 in FIG. 3(A) is shown above the overall table 211 shown in FIG. 5, and the content is the same as that of the individual table 217 in FIG. 3(A).

[0103] Also, the communication terminal 201's B having the individual table 217 in FIG. 3(B) transmits the individual table 217 in FIG. 3(B) to the image generation system 203 at a certain timing. When the image generation system 203 receives the individual table 217 in FIG. 3(B), it additionally registers the received individual table 217 in FIG. 3(B) in the overall table 211. In this way, the portion of the registered individual table 217 in FIG. 3(B) is shown below the overall table 211 shown in FIG. 5, and the content is the same as that of the individual table 217 in FIG. 3(B).

[0104] In this way, the overall table 211 is a collection of the individual tables 217, and is an example of a storage means for storing the individual tables 217 (corresponding tables) on the server side and the server device side according to the present invention. And as described above, the identification information includes the product name and the product version. Specifically, in the identification information of the portion corresponding to the individual table 217 in FIG. 3(A) above the overall table 211, it is described that the product name is "prd01" and the product version is "1.0". Also, in the identification information of the portion corresponding to FIG. 3(B) below the overall table 211, it is described that the product name is "prd01" and the product version is "2.0". On the other hand, the product identifier transmitted by the communication terminal 201 to the image generation system 203 side described in "(2) Product Identifier" also includes the product name and the product version.

[0105] Therefore, when the communication terminal 201 sends a product identifier when requesting the image generation system 203 to perform processing, the image generation system 203 can extract an appropriate individual table 217 from the overall table 211 based on the product name and the product version of the product identifier. That is, an individual table 217 of identification information including the same product name and product version as the product name and product version of the product identifier is extracted from the overall table 211.

[0106] Next, with reference to FIGS. 6 and 7, the processing on the communication terminal 201 side and the processing on the image generation system 203 side in the first embodiment will be described. First, with reference to FIG. 6, the processing on the communication terminal 201 side will be described, and then, with reference to FIG. 7, the processing on the image generation system 203 side will be described.

[0107] [Processing on the communication terminal 201 side] FIG. 6 is a flowchart for explaining the processing on the communication terminal 201 side in the first embodiment according to the present invention.

[0108] (S301) In S301, the communication terminal 201 activates the dedicated view 214 and proceeds to S302.

[0109] (S302) In S302, the dedicated view 214 transmits the product identifier to the image generation system 203 through the transceiver unit 213 and proceeds to S303. As described above, the product identifier includes the product name and the product version, and the transmitted product identifier is used when the image generation system 203 searches the individual table 217 from the overall table 211.

[0110] (S303) In S303, the dedicated view 214 determines whether the individual table 217 has been transmitted to the image generation system 203. Specifically, the determination in S303 performed by the dedicated view 214 is made based on whether the value of the linked flag is "0" or "1". Here, the linked flag will be described. The initial value of the linked flag is "0", which means not linked. Therefore, when the dedicated view 214 is started for the first time, the determination in S303 is NO, and the process proceeds to S304. Then, in S305 that proceeds to after S304, the dedicated view 214 switches the value of the linked flag to "1", which means linked. As a result, in the subsequent startups of the dedicated view 214, the determination in S303 is YES, and the process proceeds to S306. Specifically, assuming that this is the first startup of the dedicated view 214, the story will proceed from the point where it proceeds to S304.

[0111] (S304) In S304, the dedicated view 214 causes the transceiver unit 213 as a transmission means to transmit the individual table 217 to the image generation system 203. Note that when the image generation system 203 receives the individual table 217 (also referred to as the corresponding table) including a combination of an extended instruction (also referred to as an instruction) and a script process corresponding to the extended instruction (instruction), it stores it in the overall table 211. As a result, the image generation system 203 can perform script processing suitable for the communication terminal 201, and the communication terminal 201 and the virtual machine A 205 are in a coordinated state. In addition, since the individual table 217 is stored in the overall table 211 as described above, it is not necessary to transmit the individual table 217 when the dedicated view 214 is launched for the second and subsequent times.

[0112] (S305) In S305, as described in S304 above, since the state is such that cooperation is possible, the dedicated view 214 updates the value of the cooperation completed flag to "1" indicating that cooperation has been completed, and proceeds to S306.

[0113] (S306) S306 indicates the timing when the user operates the screen of the communication terminal 201. When the user operates the screen of the communication terminal 201, the process proceeds to S307. In the present embodiment, for example, it is assumed that the user presses a GUI button associated with the URL of the web page 202 on the screen. In addition, there may be a case where the user presses a GUI button to close the browser 207 on the screen.

[0114] (S307) In S307, the operation instruction generation unit 216 generates an operation instruction according to the user's operation, transmits the operation instruction to the image generation system 203 through the transmission / reception unit 213, and proceeds to S308. The specific method is as already described in "(1) Transmission of operation instruction" with reference to FIG. 2. The operation instruction generation unit 216 performs input processing of necessary parts of a JavaScript program that stores the user's operation instruction in the body of the HTTPS communication, and executes the transmission.

[0115] (S308) In S308, the dedicated view 214 determines whether an operation instruction to close the browser 207 was transmitted in S307. Here, since an operation instruction following the operation of the user pressing a GUI button associated with the URL of the web page 202 on the screen is sent, the determination is NO, and the process proceeds to S309. In addition, when the user's operation in S306 is to press a GUI button for closing the browser 207 on the screen, an operation instruction for closing the browser 207 is sent in S307, so the determination is YES. In this case (YES in S308), the process proceeds to S313 as the browser 207 is closed, and the determination in S313 performed by the dedicated view 214 is also YES. Therefore, the dedicated view 214 performs an end process, and the processing of this flowchart ends.

[0116] (S309) In S309, the dedicated view 214 determines whether it has received a control command for the functions of the communication terminal 201. If it has received a control command (YES in S309), the process proceeds to S310. If it has not received a control command (NO in S309), the process proceeds to S314. As an example of the control command for the functions of the communication terminal 201, if the communication terminal 201 is a printer or the like, there is a control command for a printing function or the like.

[0117] (S311) In S311, the control command processing unit 215 determines whether the control command is executable. If the execution of the control command is possible, the process proceeds to S311. If the execution of the control command is not possible, the process proceeds to S312.

[0118] (S311) In S311, the control command processing unit 215 executes the functions of the communication terminal 201 as instructed by the control command.

[0119] (S312) In S312, the dedicated view 214 displays an error message on the display unit 212, notifies the user that an error has occurred, and then proceeds to S313.

[0120] (S313) In S313, as described above in S308, when the browser 207 ends (YES in S313), the processing of this flowchart ends. On the other hand, when the browser 207 has not ended (NO in S313), the process proceeds to S306 again. That is, since the processing based on the first user's screen operation has ended, the process returns to S306 to perform the processing based on the next user's screen operation.

[0121] (S314) In S314, it is determined whether the dedicated view 214 has received the drawing result. If it has not received the drawing result (NO in S314), the process proceeds to S313. As described above, if the browser 207 has not ended, the process proceeds to S306 again. On the other hand, when the drawing result has been received (YES in S314), the process proceeds to S315.

[0122] (S315) In S315, so that the user can view it, the dedicated view 214 displays the drawing result on the screen of the display unit 212, and the process proceeds to S313.

[0123] And as already described, the processing after S306 is repeated until S313 becomes YES.

[0124] [Processing on the image generation system 203 side] FIG. 7 is a flowchart for explaining the processing on the image generation system 203 side according to the first embodiment of the present invention.

[0125] (S401) In S401, the transmission / reception unit 206 receives the product identifier transmitted from the communication terminal 201, and the process proceeds to S402. As described above, the product identifier indicates the product name and the product version.

[0126] (S402) In S402, the function expansion unit 210 determines whether the individual table 217 corresponding to the product identifier received in S401 exists in the overall table 211. As described above, the identification information of each individual table 217 in the overall table 211 includes the product name corresponding to that individual table 217 and the product version. Therefore, the function expansion unit 210 searches the overall table 211 for an individual table 217 having identification information including a product name and a product version that match the product name and the product version of the product identifier. As a result of the search, if there is no matching individual table 217, the determination in S402 becomes YES, and the process proceeds to S403. On the other hand, if there is a matching individual table 217, the determination in S402 becomes NO, and the process proceeds to S407. Note that since the individual table 217 transmitted from the communication terminal 201 is stored in the overall table 211 of the image generation system 203, the determination in S402 becomes YES only when the communication terminal 201 uses the image generation system 203 for the first time. However, depending on the embodiment, the timing for transmitting the individual table 217 to the image generation system 203 may be at any time. For example, the individual table 217 may be transmitted to the image generation system 203 at a timing permitted by the user.

[0127] (S403) In S403, the transmission / reception unit 206 determines whether it has received the individual table 217 from the communication terminal 201. And when the individual table 217 is not received from the communication terminal 201 (NO in S403), the determination in S403 is made again and repeated until S403 becomes YES. That is, this S403 is a loop waiting for reception, and when the individual table 217 is received and the determination becomes YES, the process proceeds to S404.

[0128] (S404) In S404, the transceiver unit 206 sends the individual table 217 sent from the communication terminal 201 to the overall table 211 within the image generation system 203, and the individual table 217 is added to the overall table 211. Note that in this embodiment, the overall table 211 is stored outside the virtual machine A205, but it may also be stored inside the virtual machine A205.

[0129] (S405) In S405, the function extension unit 210 obtains the value of the "funcName" member from the value of the identification information of the individual table 217 added to the overall table 211 in S404, registers an extension instruction in the browser 207, and proceeds to S406. For example, when receiving the individual table 217 in Fig. 3(A), the function extension unit 210 registers "device_print()", which is the value of the "funcName" member, in the browser 207 as an extension instruction. Thereby, if "device_print()" is included in the JavaScript program described in the web page 202, the browser 207 recognizes that "device_print()" is an extension instruction. In this embodiment, an example of extending a JavaScript-specification function (also called a method) is described, but it is not limited to this, and it may also be applied to an example of extending a JavaScript-specification attribute (also called a property). In that case, a property string to be extended may be described in the "funcName" member.

[0130] (S406) In S406, the image generation system 203 reads the URL of the web page 202 notified from the communication terminal 201 and proceeds to S407.

[0131] (S407) In S407, the transceiver unit 206 determines whether an operation instruction has been received from the communication terminal 201. If an operation instruction has been received (YES in S407), it proceeds to S408. If no operation instruction is received (NO in S407), the process proceeds to S414.

[0132] (S408) In S408, the operation instruction determination unit 208 determines whether the operation instruction is an instruction to terminate the browser 207. If the operation instruction is an instruction to terminate the browser 207 (YES in S408), the image generation system 203 proceeds to S417 as the termination of the browser 207. Then, with the determination in S417 being YES, the image generation system 203 performs the termination process of the browser 207, and the processing of this flowchart ends. On the other hand, if the operation instruction is not an instruction to terminate the browser 207 (NO in S408), the process proceeds to S409.

[0133] (S409) In S409, the transmission / reception unit 206 notifies the user's operation instruction to the browser 207, and the browser 207 operates the JavaScript program described in the web page 202 according to the operation instruction and proceeds to S410. FIG. 8 is a diagram showing an example of the JavaScript program described in the web page 202 according to the first embodiment of the present invention. Hereinafter, assuming that the JavaScript program shown in this FIG. 8 operates as a result of the user operation in S306, the story will be advanced.

[0134] (S410) In S410, the browser 207 determines whether to execute an extension instruction. As shown in FIG. 8, the JavaScript program described in this web page 202 includes "device_print()", and as described above, the browser 207 recognizes this as an extension instruction. Therefore, the browser 207 determines to execute the extension instruction (YES in S410) and proceeds to S411. Note that if the browser 207 does not include an extension instruction, it determines not to execute the extension instruction (NO in S410) and proceeds to S414.

[0135] (S411) In S411, the browser 207 refers to the product identifier received in S401. That is, it refers to the product name and the product version.

[0136] (S412) In S412, the browser 207 searches the entire table 211 for an individual table 217 having identification information including the product name and the product version that match the product name and the product version of the product identifier referred to in S410, and proceeds to S413. Note that in order to reach S412, it must pass through one of the following two routes. The first route is the case where it is determined in S402 that there is a corresponding individual table 217 in the entire table 211 (NO in S402). The second route is the case where after it is determined in S402 that there is no individual table 217 in the entire table 211 (YES in S402), the individual table 217 is received in S403. And in either route, there must be an individual table 217, and the search here is a search that is sure to find the corresponding individual table 217.

[0137] (S413) In S413, the browser 207 executes the script process of the individual table 217 extracted by the search in S412. As described above, this script process includes a process of calling "https: / / device / v1 / perform_print" if the extracted individual table 217 corresponds to FIG. 3(A). Also, if the extracted individual table 217 corresponds to FIG. 3(B), it includes a process of calling "https: / / device / v2 / perform_print". Hereinafter, "https: / / device / v1 / perform_print" and "https: / / device / v2 / perform_print" shall be collectively referred to as URIs. When the browser 207 makes a request to the URI, the remote communication terminal 201 receives the control command. In S309, the control command processing unit 215 of the communication terminal 201 determines whether the control command is executable. If the result of the determination is that it is executable, the control command processing unit 215 executes the function of the communication terminal 201 according to the instruction of the control command. As a result, the browser 207 can execute the function of the communication terminal 201.

[0138] (S414) In S414, the browser 207 updates the screen and proceeds to S415.

[0139] (S415) In S415, the drawing result generation unit 209 performs drawing processing corresponding to the updated screen, generates a drawing result, and proceeds to S416.

[0140] (S416) In S416, the transmission / reception unit 206 transmits the drawing result generated in S415 to the communication terminal 201 and proceeds to S417.

[0141] (S417) In S417, the image generation system 203 determines whether the browser 207 has ended. As described above, the determination becomes YES here when proceeding as YES in S408. When proceeding from S416 as in this case, the determination becomes NO and it proceeds to S407 again. When S417 becomes YES, the processing after S407 is repeated until this flowchart ends.

[0142] As described above, in the first embodiment, the script processing to be processed on the image generation system 203 can be switched according to the product name and product version. Therefore, any product can execute the functions of the communication terminal 201 from the image generation system 203.

[0143] 『Second Embodiment』 In the second embodiment of the present invention, when the browser 207 interprets an unknown JavaScript function without using the overall table 211, the individual table 217 is transmitted and received between the communication terminal 201 and the image generation system 203.

[0144] Hereinafter, with reference to the flowcharts of FIGS. 9 and 10, the processing on the communication terminal 201 side and the processing on the image generation system 203 side of the second embodiment will be sequentially described.

[0145] [Processing on the Communication Terminal 201 Side] FIG. 9 is a flowchart for explaining the processing on the communication terminal 201 side of the second embodiment of the present invention. Note that FIG. 9 corresponds to FIG. 6, and the same reference numerals are given to the parts that are the same as the processing described in FIG. 6. Therefore, hereinafter, the description of the parts with the same reference numerals may be omitted.

[0146] As can be seen by comparing FIG. 9 and FIG. 6, there are two differences. The first point is that S302, S303, and S305 in FIG. 6 are absent, and instead, S801 is present in FIG. 9.

[0147] The second point is that before transmitting the individual table 217 to the image generation system 203 in S304, the processing of S306 to S308 is performed. That is, before S304, the user operates the screen (S306), transmits the operation instruction generated as a result to the image generation system 203 (S307), and determines whether the operation instruction is an end instruction of the browser 207 (S308).

[0148] This is because, instead of transmitting the individual table 217 based on the determination result of whether the present embodiment is in cooperation, it is a mechanism for transmitting the individual table 217 in response to a request for transmitting the individual table from the image generation system 203.

[0149] Incidentally, the request for transmitting the individual table will be described later in the processing on the side of the image generation system 203, but a brief explanation of the request for transmitting the individual table will be given here. The request for transmitting the individual table is a request generated by the image generation system 203 and sent to the communication terminal 201 when the image generation system 203 determines that it is necessary to acquire the individual table 217. Specifically, it is a request for the communication terminal 201 to transmit the individual table 217, which is sent from the image generation system 203 to the communication terminal 201.

[0150] (S801) In S801, it is determined whether the dedicated view 214 has received a request for transmitting the individual table. That is, in S307, after the operation instruction generation unit 216 transmits an operation instruction to the image generation system 203 through the transmission / reception unit 213, the dedicated view 214 determines in S801 whether a request for transmitting the individual table is returned in response to the operation instruction.

[0151] As a result of the determination in S801, if the request for transmitting the individual table is not received (NO in S801), the process proceeds to S309, and if the request for transmitting the individual table is received (YES in S801), the process proceeds to S304. Then, when the process proceeds to S304, the dedicated view 214 transmits the individual table 217 to the image generation system 203.

[0152] [Processing on the side of the image generation system 203] FIG. 10 is a flowchart for explaining the processing on the side of the image generation system 203 according to the second embodiment of the present invention. Note that FIG. 10 corresponds to FIG. 7, and the same reference numerals are given to the portions that are the same as the processing described in FIG. 7. Therefore, in the following, the description of parts with the same reference numerals may be omitted.

[0153] As can be seen by comparing FIG. 10 with FIG. 7, there are two differences. The first difference is that S401, S402, S404, S405, S410 to S412 in FIG. 7 are absent, and instead, S901 and S902 are present in FIG. 10.

[0154] The second difference is that at the timing of determining whether S403 has received the individual table 217, in this embodiment, S403 is executed after S902.

[0155] In this embodiment, S401, S402, S404, S411, and S412 are absent because the overall table 211 is not used. Also, S405 and S410 are absent because the individual table 217 is dynamically transmitted and received between the image generation system 203 and the communication terminal 201 during JavaScript execution.

[0156] (S901) In S901, it is determined whether there is a function in the Web page 202 read in S406 that cannot be interpreted by the browser 207. If there is no function that cannot be interpreted by the browser 207 (NO in S901), the process proceeds to S414. On the other hand, if there is a function that cannot be interpreted by the browser 207 (YES in S901), the transmission / reception unit 206 transmits a request to transmit an individual table including the function name that could not be interpreted in S901 to the communication terminal 201, and the process proceeds to S403.

[0157] Then, similar to the first embodiment, when the individual table 217 is received from the communication terminal 201 and the determination made by the transmission / reception unit 206 of S403 is YES, the process proceeds to S413, and the browser 207 executes the script process described in the individual table 217.

[0158] Incidentally, as a result of the determination in S901, when there is a function that the browser 207 cannot interpret, there may be a case where the function cannot be interpreted even by the standard JavaScript specification and does not fall under the extended instructions. Therefore, the handling in such a case will also be briefly described.

[0159] FIG. 11 is a diagram showing an individual table 217 corresponding to a function that the browser 207 cannot interpret. The script process shown in FIG. 11 uses the standard JavaScript function throw to generate an exception in the JavaScript program.

[0160] Therefore, if the communication terminal 201 is provided with the individual table 217 shown in FIG. 11, it becomes possible to generate an exception in the JavaScript program when there is a function that cannot be interpreted, just like the standard JavaScript function.

[0161] Note that instead of providing the individual table 217 in FIG. 11 separately from the individual table 217 described in the first embodiment, it may be the individual table 217 in which the script process shown in FIG. 11 is also added to the individual table 217 described in the first embodiment.

[0162] As described above, in the second embodiment, the image generation system 203 can dynamically inquire of the communication terminal 201 about the individual table 217 when executing JavaScript. Thereby, it becomes possible to switch the script process according to the situation on the communication terminal 201 side.

[0163] For example, when the communication terminal 201 side is a copying machine, operations such as sending a script that does not execute a control command if the copying machine is in the middle of printing and sending a script that executes a control command if the copying machine is on standby can be realized.

[0164] The present invention has been described based on specific embodiments as above, but the present invention is not limited to the above embodiments. The present invention includes those obtained by making changes or improvements to the embodiments within the technical scope of the invention, which is obvious to those skilled in the art from the description of the claims.

Explanation of Signs

[0165] 101…CPU 102…ROM 103…RAM 104…Interface 105…System bus 201…Communication terminal 202…Web page 203…Image generation system 204…Gateway 205…Virtual machine A 206…Transmission / reception unit 207…Browser 208…Operation instruction determination unit 209…Drawing result generation unit 210…Function expansion unit 211…Overall table 212…Display unit 213…Transmission / reception unit 214…Dedicated view 215…Control command processing unit 216…Operation instruction generation unit 217…Individual table

Claims

1. In an information processing system that displays, on a client device, a rendering result obtained by processing Web content including instructions indicating cooperation between a server and the client device, the client device includes: transmission means for transmitting to the server a correspondence table including a combination of the instructions and script processing corresponding to the instructions; and has the server includes: execution means for executing the instructions described in the Web content; reception means for receiving the correspondence table from the client device; function extension means for registering the instructions as instructions for executing the corresponding script processing and enabling the execution means to execute the corresponding script processing; An information processing system characterized by having the above.

2. The information processing system according to claim 1, wherein the instructions are JavaScript APIs.

3. The information processing system according to claim 1, wherein the correspondence table includes a product identifier for identifying a product.

4. The information processing system according to claim 1, wherein the client device transmits the correspondence table before the server processes the Web content.

5. The information processing system according to claim 1, wherein the server includes storage means for storing the received correspondence table.

6. The information processing system according to claim 1, wherein the client device has means for performing encrypted communication with the server according to an encrypted communication protocol.

7. A program for causing a computer to function as the information processing system according to any one of claims 1 to 6.

8. A server device that causes a client device to display a rendering result obtained by processing Web content including instructions indicating cooperation between the server device and the client device, the server device includes: execution means for executing the instructions described in the Web content; reception means for receiving from the client device a correspondence table including a combination of the instructions and script processing corresponding to the instructions; function extension means for registering the instructions as instructions for executing the corresponding script processing and enabling the execution means to execute the corresponding script processing; A server device characterized by having the above.

9. A client device that displays a rendering result obtained by performing a rendering process on Web content on a server, a transmission means for transmitting a correspondence table including a combination of an instruction described in the Web content and a script process corresponding to the instruction to the server, characterized by having the above.

10. An information processing method for displaying, on a client device, a rendering result obtained by processing Web content including instructions indicating cooperation between a server and a client device on the server, wherein the client device transmits a correspondence table including a combination of the instruction and a script process corresponding to the instruction to the server, and the server registers the instruction in the received correspondence table as the instruction at the time of executing the script process, and executes the script process corresponding to the instruction when executing the instruction described in the Web content.

Citation Information

Patent Citations

  • Original transportation device

    JP1999008730A