Program distribution device, program distribution system, program distribution method, and computer program
Patent Information
- Application Number
- JP2022134261
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-25
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2042-08-25
AI Technical Summary
【0010】 本開示によれば、端末装置のブラウザで実行されるプログラムの配信負荷を軽減することができるプログラム配信装置、プログラム配信システム、プログラム配信方法及びコンピュータプログラムを提供することができる。
Smart Images

Figure 0007923531000001 
Figure 0007923531000002 
Figure 0007923531000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program distribution device, a program distribution system, a program distribution method, and a computer program. [Background Art]
[0002] By calling a script file such as a JavaScript (registered trademark) file, a website implementing dynamic functions can be displayed on a browser. The HTML file of a website includes a script element in which location information of the script file is described, and the browser requests the server to distribute the script file. The server distributes the script file in response to the request from the browser. [Prior Art Literature] [Patent Literature]
[0003] [Patent Literature 1] Japanese Unexamined Patent Application Publication No. 2020-177403 [Summary of the Invention] [Problem to be Solved by the Invention]
[0004] However, when the number of accesses to a website is large, the distribution volume of script files also increases accordingly, which gives rise to the technical problem that the load on the server that distributes the script files increases. The same technical problem also occurs for the distribution of programs other than script files.
[0005] An object of the present disclosure is to provide a program distribution device, a program distribution system, a program distribution method, and a computer program capable of reducing the distribution load of a program executed in a browser of a terminal device. [Means for Solving the Problem]
[0006] A program distribution device relating to one aspect of this disclosure is a program distribution device that distributes a program to a browser of a terminal device, comprising: a storage unit that stores a first program and a second program to be executed in the browser; a communication unit that transmits the first program and the second program stored in the storage unit to the terminal device in response to a program distribution request from the terminal device; and a processing unit that executes the transmission process by the communication unit, wherein the first program includes a script for requesting the second program, and the processing unit, upon receiving a request for the first program from the terminal device, transmits cache control information instructing the terminal device not to cache the first program and the first program, and upon receiving a request for the second program from the terminal device that has executed the first program, executes a process to transmit cache control information instructing the terminal device to cache the second program and the second program.
[0007] A program distribution system relating to one aspect of this disclosure comprises a program distribution device and a terminal device, wherein when a website containing a script element describing the location information of the first program is loaded into the browser, the terminal device requests the program distribution device to distribute the first program, and when it receives the first program, it does not cache the first program in accordance with the cache control information, and when it receives the second program, it caches the second program in accordance with the cache control information.
[0008] A program distribution method relating to one aspect of this disclosure is a program distribution method for distributing a first program and a second program to be executed by a browser of a terminal device, wherein the first program includes a script for requesting the second program, and when the terminal device requests the first program, the method transmits cache control information instructing the terminal device not to cache the first program and the first program, and when the terminal device that executed the first program requests the second program, the method executes a process to transmit cache control information instructing the terminal device to cache the second program and the second program.
[0009] A computer program relating to one aspect of this disclosure is a computer program that causes a computer to perform a process of delivering a first program and a second program, which are executed by a browser, to a browser of a terminal device, wherein the first program includes a script for requesting the second program, and when the terminal device requests the first program, the computer performs a process of sending cache control information instructing the terminal device not to cache the first program and the first program, and when the terminal device that has executed the first program requests the second program, the computer performs a process of sending cache control information instructing the terminal device to cache the second program and the second program, to the terminal device. [Effects of the Invention]
[0010] According to this disclosure, it is possible to provide a program distribution device, a program distribution system, a program distribution method, and a computer program that can reduce the distribution load of programs executed in the browser of a terminal device. [Brief explanation of the drawing]
[0011] [Figure 1] This is a schematic diagram showing an example configuration of the screen sharing system according to this embodiment. [Figure 2] This is a block diagram showing an example configuration of the screen sharing system according to this embodiment. [Figure 3] This is a functional block diagram of the screen sharing system according to this embodiment. [Figure 4] This is a conceptual diagram showing an example of an account management database. [Figure 5] This flowchart shows the processing procedure for program distribution according to this embodiment. [Figure 6] This is a conceptual diagram illustrating the program distribution method according to this embodiment. [Modes for carrying out the invention]
[0012] An information processing device as a program distribution device, a screen sharing system as a program distribution system, a program distribution method, and a computer program according to embodiments of this disclosure will be described below with reference to the drawings. This disclosure is not limited to these examples, but is indicated by the claims, and all modifications within the meaning and scope of equivalence to the claims are intended. Furthermore, at least some of the embodiments described below may be arbitrarily combined.
[0013] The information processing device (program distribution device) according to this embodiment solves the following problems. (1) When a website that calls script files such as JavaScript® files receives a large number of visits, the amount of script files distributed also increases accordingly, which puts a heavy load on the information processing device that distributes the script files. (2) If the DOM (Document Object Model) API (Application Programming Interface) on a website is overwritten, globally polluted, or prototype-poisoned, script files may not function as expected.
[0014] FIG. 1 is a schematic diagram showing a configuration example of a screen sharing system according to an embodiment. The screen sharing system according to the present embodiment includes an information processing apparatus 1, an agent terminal (terminal apparatus) 2, a guest terminal (terminal apparatus) 3, and a web server 4. Each of the various terminals and the server is connected to the information processing apparatus 1 via a communication network N.
[0015] A user who operates the agent terminal 2 (hereinafter referred to as an agent) is a person who guides, for example, an operation method of a website for a user who operates the guest terminal 3 (hereinafter referred to as a guest). The agent and the guest are examples of users of the information processing apparatus 1 according to the present embodiment, and the relationship between them is not particularly limited.
[0016] FIG. 2 is a block diagram showing a configuration example of the screen sharing system according to the embodiment. The information processing apparatus 1 is a computer including a processing unit 11, a storage unit 12, and a communication unit 13. The information processing apparatus 1 may be configured to include a plurality of computers to perform distributed processing, may be implemented by a plurality of virtual machines provided in a single server, may be implemented using a cloud server, or may be partially configured by a quantum computer.
[0017] The processing unit 11 includes one or more arithmetic processing devices such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), and executes program distribution processing and screen sharing processing according to the present embodiment by reading and executing a computer program P1 stored in the storage unit 12.
[0018] The storage unit 12 includes a hard disk, an EEPROM (Electrically Erasable Programmable The storage device is a Read-Only Memory (DSEM) or flash memory. The storage unit 12 stores a computer program P1, a first program P11, and several different second programs P12, which are necessary for the processing unit 11 to share the content and operation details of websites displayed in the web browsers of the guest terminal 3 and the agent terminal 2.
[0019] The first program P11 is, for example, a program written in JavaScript (registered trademark). The first program P11 includes a script to create an iframe element (hereinafter referred to as an inline frame element). More specifically, the first program P11 includes a script to create an inline frame element as the environment in which the second program P12 is executed, and to add the created inline frame element to the DOM tree of the website on which the first program P11 is loaded. The inline frame element to be created must be configured so that the DOM tree within the inline frame element can be accessed from the first program P11, for example, by specifying "about:blank" in the src attribute. Furthermore, the first program P11 includes a script to request the distribution of the second program P12 from the information processing device 1. More specifically, the first program P11 includes a script to create a script element (hereinafter referred to as a script element) that includes the URL of the second program P12 required for each account as an attribute, and to add it to the DOM tree within the aforementioned inline frame element. For example, the first program P11 creates a script element that includes the URL of the second program P12 as its src attribute and adds it to the DOM tree within the aforementioned inline frame element.
[0020] The second program P12 is, for example, a program written in JavaScript (registered trademark) and is a program that performs the main processing on the website. The second program P12 is divided according to its main function (service). One or more different types of the second program P12 constitute the agent program P2 and the guest program P3. The information processing apparatus 1 transmits an agent program P2 to an agent terminal 2, and transmits a guest program P3 to a guest terminal 3. A web browser operating on the agent terminal 2 (hereinafter referred to as agent browser B2) executes processing required for screen sharing by running the agent program P2. A web browser operating on the guest terminal 3 (hereinafter referred to as guest browser B3) executes processing required for screen sharing by running the guest program P3.
[0021] Note that various programs may be recorded in a computer-readable manner on a recording medium 5. The storage unit 12 stores a computer program P1, a first program P11, and a second program P12 that are read from the recording medium 5 by an unillustrated reading device. The recording medium 5 is a semiconductor memory such as a flash memory, an optical disk, a magnetic disk, a magneto-optical disk, or the like. Alternatively, various programs according to the present embodiment may be downloaded from an unillustrated external server connected to a communication network N and stored in the storage unit 12.
[0022] The communication unit 13 includes processing circuits, communication circuits, and the like for performing processing related to communication, and transmits and receives information to and from the agent terminal 2, the guest terminal 3, and the web server 4. In particular, in the present embodiment, the communication unit 13 has a function of receiving requests for a program or various types of data from the agent terminal 2 or the guest terminal 3, and responding with the program or various types of data according to the request.
[0023] Agent terminal 2 is a computer equipped with a processing unit 21, a storage unit 22, a communication unit 23, an operation unit 24, and a display unit 25. The basic configuration of the processing unit 21, storage unit 22, and communication unit 23 is the same as that of information processing device 1. Storage unit 22 stores at least a program related to agent browser B2. Agent browser B2 implements DOM, which is a program that references and controls the elements that make up a website, and can execute agent program P2 transmitted from information processing device 1. The operation unit 24 is a keyboard, mouse, etc., and accepts the agent's operations and input. The display unit 25 is a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display, and renders the information provided by the processing unit 21.
[0024] The guest terminal 3 is a computer equipped with a processing unit 31, a storage unit 32, a communication unit 33, an operation unit 34, and a display unit 35. The basic configuration of the processing unit 31, the storage unit 32, and the communication unit 33 is the same as that of the information processing device 1. The storage unit 32 stores at least a program related to the guest browser B3. The guest browser B3 implements the DOM, which is a program that references and controls the elements that make up a website, and can execute the guest program P3 sent from the information processing device 1. The operation unit 34 is a keyboard, mouse, etc., and accepts guest operations and input. The display unit 35 is a display device such as a liquid crystal display or an organic EL display, and renders information provided by the processing unit 31.
[0025] The web server 4 is a server that sends the website's document files and the asset files that make up the website to the guest browser B3 in response to a request from the guest browser B3. The web server 4 is also a server that sends the asset files that make up the website to the information processing device 1 in response to a request from the information processing device 1. In this embodiment, the guest browser B3 accesses the web server 4 and displays the website.
[0026] Figure 3 is a functional block diagram of the screen sharing system according to the embodiment. The agent terminal 2 has an agent browser B2 as a functional unit and can execute the agent program P2 transmitted from the information processing device 1. The agent program P2 is transmitted from the information processing device 1 to the agent terminal 2 when the agent browser B2 accesses the information processing device 1 and loads the management screen. The management screen is a screen for executing the screen sharing process of a website.
[0027] Guest terminal 3 has a guest browser B3 as its functional unit and can execute guest program P3 sent from information processing device 1. Guest program P3 is sent from information processing device 1 to guest terminal 3 when loading a website that is the target of screen sharing.
[0028] The information processing device 1 includes an API processing unit 11a, a socket processing unit 11b, and a file processing unit 11c. The information processing device 1 also includes an account management database 12a, a screen sharing management database 12b, a screen sharing data relay store 12c, a program file storage 12d, and an asset file storage 12e.
[0029] The API processing unit 11a is a functional unit that, when the communication unit 13 receives a request, responds with various data stored in the storage unit 12 or the account management database 12a via the communication unit 13. The API processing unit 11a is also a functional unit that retrieves various setting data for the screen sharing system from the account management database 12a and executes processing such as setting up the screen sharing process.
[0030] The socket processing unit 11b is a functional unit that establishes communication with the agent browser B2 and the guest browser B3 via WebSockets, enabling bidirectional communication. The socket processing unit 11b performs processes such as issuing a session ID to identify the screen sharing session, and sending and receiving various data during screen sharing between the agent browser B2 and the guest browser B3. Note that WebSockets are just one example of a communication connection method, and the socket processing unit 11b may also be configured to achieve pseudo-bidirectional communication with the agent browser B2 and the guest browser B3 through long polling.
[0031] The file processing unit 11c is a functional unit that requests asset files that make up the website to be shared on the screen from the web server 4, retrieves them, and temporarily saves them. Asset files include, for example, CSS (Cascading Style Sheets) files, image files, font files, etc.
[0032] The account management database 12a is a database that stores various setting data for the screen sharing system. The account management database 12a stores the type of second program P12 that needs to be distributed, associated with each of the multiple account IDs. An account ID is, for example, an ID that identifies a website that requires the distribution of the second program P12. An account ID may also be an ID that identifies the operator who created and manages the website.
[0033] Figure 4 is a conceptual diagram showing an example of an account management database 12a. Here, it is assumed that the storage unit 12 stores three types of second programs P12. The account management database 12a stores information in true / false format ("1" or "0") indicating whether or not the distribution of second programs P12 of type "A", type "B", and type "C" is required, associated with the account ID. In Figure 4, "0" indicates that distribution is not required, and "1" indicates that distribution is required. Types "A", "B", and "C" each represent the functions (services) required of the second program P12.
[0034] The screen sharing management database 12b is a database that stores session IDs and other information used to identify screen sharing sessions. The screen sharing data relay store 12c is a relay server that relays various data transmitted and received between the agent browser B2 and the guest browser B3 during screen sharing. Program file storage 12d is a storage device that stores HTML files, CSS files, image files, the first program P11, the second program P12, etc., which make up the management screen displayed on the agent browser B2. Asset file storage 12e is a storage device that temporarily stores session information used for processing asset files that make up a website that is being shared on the screen, as well as acquired asset files.
[0035] Figure 5 is a flowchart showing the processing procedure for program distribution according to this embodiment, and Figure 6 is a conceptual diagram showing the program distribution method according to this embodiment. As an example, we will explain an example in which the second program P12 is distributed to the guest terminal 3 as guest program P3. Note that the basic principle is the same when distributing agent program P2 to agent terminal 2, so a detailed explanation will be omitted.
[0036] The processing unit 31 of the guest terminal 3 accesses the web server 4 and retrieves website data (HTML file) containing a script element in which the URL of the first program P11 (location information of the first program) is described as the src attribute, as shown in the upper diagram of Figure 6 (step S11). The URL contains the account ID.
[0037] For example, the URL of the first program P11 is defined as "https: / / withdeskguest.com / index.1.js". In this example, the "1" is the account ID. Since the first program P11 is a program that calls the second program P12, it is expected to have a smaller file size than the second program P12, which is the main program. Because the first program P11 is called from a script element placed on a website, the URL of the written first program P11 cannot be changed unless the script element is replaced on the website data (HTML file).
[0038] The processing unit 31 requests the information processing device 1 to deliver the first program P11 based on the URL described in the src attribute of the script element (step S12).
[0039] The processing unit 11 of the information processing device 1 receives a request for the first program P11 from the guest terminal 3 (step S13). When the processing unit 11 receives a request for the first program P11, it sends cache control information instructing the guest browser B3 not to cache the first program P11, along with the first program P11, to the guest terminal 3 (step S14). When sending the first program P11 using the HTTP or HTTPS protocol, the processing unit 11 includes cache control information (e.g., "no-cache") in the response header. The reason for not caching the first program P11 in the guest browser B3 is that executing the first program P11 requires calling the latest second program P12.
[0040] The processing unit 31 of the guest terminal 3 receives the first program P11 transmitted from the information processing device 1 (step S15). By executing the first program P11, the processing unit 31 creates an inline frame element as shown in Figure 6 and adds it to the DOM tree of the website on which the first program P11 is loaded (step S16). Note that step S16 may be executed between steps S20 and S21, which will be described later, instead of being executed immediately after step S15.
[0041] An inline frame element is an environment independent of the website window (hereinafter referred to as the parent window) on which the first program P11 is loaded. The DOM API defined in the parent window is not inherited by the window within the inline frame element (hereinafter referred to as the child window), and a new DOM API is defined in the child window. Even if the parent window is globally or prototype-pollinated, the child window is isolated from these pollutants, allowing the second program P12 to function as intended.
[0042] Next, the processing unit 31 executes the first program P11 to send the account ID to the information processing device 1 and requests location information for the second program P12 (step S17). The location information includes, for example, the URL, path, and file name of the second program P12. Specifically, the processing unit 31 sends the account ID included in the URL of the first program P11 to the endpoint URL of the API processing unit 11a in a format that includes it as part of the path or parameters.
[0043] The processing unit 11 of the information processing device 1 receives the account ID transmitted from the guest terminal 3 (step S18). The processing unit 11 or the API processing unit 11a uses the received account ID as a key to refer to the account management database 12a, identify one or more types of second programs P12 corresponding to the account ID, and transmit the location information of the identified second programs P12 to the guest terminal 3 (step S19).
[0044] The processing unit 31 of the guest terminal 3 receives location information for the second program P12 transmitted from the information processing device 1 (step S20), and creates a URL corresponding to the received location information for the second program P12. Furthermore, as shown in the middle diagram of Figure 6, it creates a script element in which the URL of the second program P12 is written as the src attribute and adds it to the DOM tree within the inline frame element (step S21). If the guest terminal 3 receives location information for multiple second programs P12, the processing unit 31 creates a URL corresponding to each of the multiple location information entries, creates a script element in which the URL is written as the src attribute, and adds it to the DOM tree within the inline frame element.
[0045] For example, if the account ID is "1", only function (service) "A" is required; if the account ID is "7", all functions (services) "A", "B", and "C" are required. Script elements are repeatedly added to the website for each function (service) required by the account ID. The URL of the second program P12 includes a unique ID (hereinafter referred to as the version ID) assigned each time the content of the second program P12 is changed. For example, the URL of the second program P12 is defined as "https: / / withdeskguest.com / package.a.2.js". In this example, the "a" part indicates the function (service) required for each account, and the "2" part is the version ID. Also, since the second program P12 is the program that executes the main processing on the website, its file size is expected to be larger than the first program P11, depending on the content of that processing.
[0046] The processing unit 31 of the guest terminal 3 requests the information processing device 1 to deliver the second program P12 based on the URL of the second program P12 described as the src attribute of the script element (step S22).
[0047] The processing unit 11 of the information processing device 1 receives a request for the second program P12 from the guest terminal 3 (step S23). When the processing unit 11 receives a request for the second program P12, it sends cache control information instructing the guest browser B3 to cache the second program P12, along with the second program P12 itself, to the guest terminal 3 (step S24). When sending the second program P12 using the HTTP or HTTPS protocol, the processing unit 11 includes the cache control information in the response header. The cache control information may be configured to include the expiration date of the cache for the second program P12.
[0048] The processing unit 31 of the guest terminal 3 receives the second program P12 transmitted from the information processing device 1 (step S25) and executes the second program P12 as shown in the lower part of Figure 6 (step S26). In this embodiment, the processing unit 31 executes processing related to sharing the website screen.
[0049] The second program P12 required for each account ID is distributed from the information processing device 1 to the guest terminal 3, and the second program P12 is executed in the processing unit 31 of the guest terminal 3. The cache control information for the second program P12 is set to enable browser caching (for example, "max-age=31536000,public"). The reason for this is to keep browser caching enabled as long as the contents of the second program P12 are not changed. As a result, once a browser has saved the second program P12 as a cache, it will no longer access the information processing device 1 to retrieve the second program P12 unless the cache is deleted, and the information processing device 1 will no longer need to repeatedly distribute the second program P12. In other words, even if there are many accesses to the website, the amount of distribution of the second program P12 can be reduced, thereby reducing the load on the information processing device 1.
[0050] Furthermore, by dividing the second program P12 into major functions (services) and distributing only the minimum necessary portion of the second program P12 to each account, the load on the information processing device 1 can be further reduced.
[0051] The second program P12 can execute DOM APIs defined in the window (child window) within the inline frame element, allowing it to perform its main processing without using the DOM APIs defined in the website window (parent window) from which the first program P11 was loaded. In other words, even if the DOM APIs defined in the parent window are overwritten, globally polluted, or prototype-polluted, the second program P12 can still function as intended by executing the DOM APIs defined in the child window.
[0052] The method for modifying the second program P12, which should be called from the website, is as follows: The second program P12 is assigned a version ID, and this version ID is included in the URL of the second program P12. If the content of the second program P12 is changed, a new version ID is issued, and the URL of the modified second program P12 includes the new version ID. In addition, the URL of the second program P12 added to the DOM tree within the inline frame element by the first program P11 is also changed to reflect the version ID. In this way, the second program P12 that is called can be changed by changing the version ID.
[0053] As described above, this embodiment makes it possible to reduce the distribution load of the agent program P2 and guest program P3 by the information processing device 1. Furthermore, by configuring the first program P11 to create an inline frame element and the second program P12 to run within the inline frame element, the second program P12 can be made to operate as intended even if the DOM API on the website is overwritten, globally polluted, or prototype-poorlytized.
[0054] To explain in more detail, in the conventional method of distributing only the second program P12 (the program that performs the main processing) as described in this procedure, it is anticipated that the content of the program may change. Therefore, the browser's cache validity period cannot be set to a long enough time, and if the DOM API on the website is overwritten, globally polluted, or prototype-poisoned, there is a possibility that the script file may not function as intended. However, with the information processing device 1 according to this embodiment, it is possible to reduce the load on the information processing device 1 that distributes the script file without changing the URL of the script element installed on the website, and the script file can be made to function as intended.
[0055] The first program P11 is not cached on guest terminal 3, while the second program P12 is cached on guest terminal 3. Guest terminal 3 requests and obtains the first program P11 from information processing device 1 each time to call the second program P12. The first program P11 is configured to call the latest version of the second program P12. Therefore, if the URL of the second program P12 has changed, information processing device 1 will not distribute the old version of the second program P12, but will distribute the latest version of the second program P12 to guest terminal 3.
[0056] On the other hand, since the second program P12 is configured to be cached on guest terminal 3, if the URL of the second program P12 obtained last time has not changed, guest terminal 3 will read and execute the cached second program P12. Furthermore, if an expiration date is set for the cache, and the URL of the second program P12 obtained last time has not changed and it is within that expiration date, guest terminal 3 will execute the cached second program P12.
[0057] If the URL for the second program P12 has changed, guest terminal 3 requests the information processing device 1 to deliver the second program P12, and the information processing device 1 sends the second program P12 to guest terminal 3 in response to the request. Furthermore, even if the URL of the second program P12 has not changed, if a predetermined expiration date has passed since the last time the second program P12 was obtained, or if the cache has been deleted, the guest terminal 3 requests the information processing device 1 to deliver the second program P12, and the information processing device 1 sends the second program P12 to the guest terminal 3 in response to the request.
[0058] Therefore, since the information processing device 1 is configured to distribute the second program P12 when the URL of the second program P12 is changed, when the expiration date of the cache of the previously distributed second program P12 has passed, or when the cache of the previously distributed second program P12 has been deleted, the distribution load on the information processing device 1 can be reduced.
[0059] The second program P12 can be delivered according to the account ID contained in the URL of the first program P11. Since the second program P12 that provides the necessary functions for each account can be selectively delivered, the delivery load on the information processing device 1 can be reduced.
[0060] The URL for the second program P12 includes the version ID of that program P12. Therefore, when the second program P12 is modified, the information processing device 1 can distribute the latest version of the second program P12 required for the website simply by changing the version ID included in the URL.
[0061] In this embodiment, the first program P11 queries the information processing device 1 for location information of the second program P12, creates a URL based on the location information obtained from the information processing device 1, and adds a script element in which the corresponding URL is written as the src attribute to an inline frame element. However, the first program P11 may be configured to include the URL of the second program P12 in advance. For example, it can be configured as follows: The first program P11 includes the URLs of all second programs P12 in its script. Also, in step S17 of Figure 5, when the processing unit 31 of the guest terminal 3 sends an account ID to the information processing device 1 to request location information of the necessary second programs P12, the information processing device 1 responds with simplified information indicating the necessary second programs P12 (for example, the function or service name to which each second program P12 belongs, and whether or not that second program P12 is necessary) instead of location information. Based on the received information, the guest terminal 3 identifies the URL of the necessary second program P12 from the script and creates a script element that describes that URL as the src attribute. Also, if the content of a second program P12 is changed and the version ID is changed, the first program P11 is also changed at the same time, and the URLs of each second program P12 included in the script of the first program P11 are changed. Alternatively, for example, it can be configured as follows: In step S12 of Figure 5, when the processing unit 31 of the guest terminal 3 requests the information processing unit 1 to deliver the first program P11, the information processing unit 1 identifies the location information of the second program P12 required for that website based on the account ID included in the URL of the first program P11. The processing unit 11 of the information processing unit 1 sends the first program P11, including the URL corresponding to the identified location information, to the guest terminal 3.
[0062] Furthermore, although this embodiment describes an example in which the type of second program P12 required for each account ID is identified and distributed, the information processing device 1 may be configured to distribute the same second program P12 to all accounts without using account IDs.
[0063] Furthermore, in this embodiment, the system is configured to manage changes to the second program P12 using a version ID, but it may also be configured to manage the version of the second program P12 by its file name.
[0064] Furthermore, although this embodiment describes an example of distributing a program necessary for a screen sharing system, the content of the distributed program, the functions and uses of the system, etc., are not particularly limited. The present invention can be applied to any program distribution device that distributes programs to terminal devices. [Explanation of Symbols]
[0065] 1: Information Processing Device 2: Agent terminal 3: Guest terminal 4: Web server 5: Recording media 11: Processing Section 11a: API Processing Unit 12: Storage section 12a: Account Management Database 13: Communications Department B2: Agent Browser B3: Guest Browser N: Communication network P1: Computer program P11: Program 1 P12: Program 2 P2: Agent Program P3: Guest Program
Claims
1. A program distribution device that distributes programs to the browser of a terminal device, A storage unit that stores the first program and the second program executed in the browser, A communication unit transmits the first program and the second program stored in the storage unit to the terminal device in response to a request for program distribution from the terminal device. A processing unit that performs the transmission process by the communication unit and Equipped with, The first program is a script for requesting the second program, and includes a script that creates an inline frame element and describes location information of the second program in the inline frame element. The aforementioned processing unit, When a request for the first program is received from the terminal device that has obtained an HTML file containing a script element describing the location information of the first program, the system sends cache control information instructing the terminal device not to cache the first program and the first program itself. When a request for the second program is received from the terminal device that has executed the first program, the system sends cache control information instructing the terminal device to cache the second program and the second program itself. Program distribution device.
2. The aforementioned storage unit is It stores multiple different second programs, The system includes a database that stores the type of the second program that needs to be distributed, associated with each of multiple IDs. The communication unit receives the ID transmitted from the terminal device, When the communication unit receives an ID, the processing unit performs the following process: it refers to the database and transmits location information of the second program corresponding to the ID to the terminal device. The program distribution device according to claim 1.
3. A program distribution device according to claim 1 or claim 2, Terminal device and Equipped with, The aforementioned terminal device is When a website containing location information for the first program is loaded into the browser, the browser requests the program distribution device to distribute the first program. When the first program is received, the first program is not cached according to the cache control information. When the second program is received, the second program is cached according to the cache control information. Program distribution system.
4. A program distribution method in which an information processing device distributes a first program and a second program to be executed by a browser on a terminal device, The first program is a script for requesting the second program, and includes a script that creates an inline frame element and describes location information of the second program in the inline frame element. The aforementioned information processing device is When a request for the first program is made from the terminal device that has obtained an HTML file containing a script element describing the location information of the first program, cache control information instructing that the first program not be cached and the first program are sent to the terminal device. When the terminal device that executed the first program requests the second program, the system executes a process to send cache control information instructing the terminal device to cache the second program and the second program itself. Program distribution method.
5. A computer program that causes a computer to perform the process of distributing a first program and a second program, which are executed by a browser, to the browser of a terminal device, The first program is a script for requesting the second program, and includes a script that creates an inline frame element and describes location information of the second program in the inline frame element. When a request for the first program is made from the terminal device that has obtained an HTML file containing a script element describing the location information of the first program, cache control information instructing that the first program not be cached and the first program are sent to the terminal device. When a request for the second program is received from the terminal device that executed the first program, the system executes cache control information instructing the system to cache the second program and a process to send the second program to the terminal device. A computer program to be executed by the aforementioned computer.
Citation Information
Patent Citations
Screen sharing and remote operation system
JP2020177403A
Content rendering control system and method
JP2021012725A
Analysis device, analysis method, and analysis program
WO2017077847A1