Configuration data file distribution device, configuration data file distribution system, configuration data file distribution method, and computer program

The configuration data file distribution system addresses format inconsistencies and server load issues by using synchronized migration IDs and pre-created files to maintain consistent data formats across devices, ensuring service stability and efficiency.

JP7911398B2Active Publication Date: 2026-08-26WITH DESK CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022212845
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-29
Publication Date
2026-08-26
Estimated Expiration
2042-12-29

AI Technical Summary

Technical Problem

Existing technologies face issues with inconsistencies in configuration data formats between servers and terminal devices due to service updates, leading to potential service failures and increased server load during high traffic, especially when using JavaScript files distributed via CDNs.

Method used

A configuration data file distribution system that includes an information processing server with an account management database, migration IDs, and a communication unit to ensure synchronized distribution of configuration data files, using pre-created files and cache control to maintain format consistency across devices.

Benefits of technology

Ensures consistent configuration data formats across terminal devices, preventing service failures and reducing server load by pre-creating and managing configuration data files, even during updates, thus maintaining service functionality and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007911398000001
    Figure 0007911398000001
  • Figure 0007911398000002
    Figure 0007911398000002
  • Figure 0007911398000003
    Figure 0007911398000003
Patent Text Reader

Abstract

To provide a configuration data file distribution apparatus which distributes, when a service is updated, a configuration data file to run a program normally, even if the program to be provided for the service has not been updated.SOLUTION: An information processing server provides a service using a program to be executed on a terminal device, the information processing server including a database storing, for each account, configuration data indicating the content of settings for the service, and a storage which stores migration IDs which are issued every time the database structure of the database is modified, account IDs, and configuration data files in association with each other. The information processing server transmits a configuration data file corresponding to a migration ID and an account ID, in response to a request from the terminal device to distribute the configuration data file, based on the migration ID included in the program.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a setting data file distribution device, a setting data file distribution system, a setting data file distribution method, and a computer program.

Background Art

[0002] The browser of a terminal device can realize dynamic functions by executing a script file such as a JavaScript (registered trademark) file installed on a website. Also, in a service that provides the script file and realizes functions, various settings of the functions can be managed by a server for each account that uses the service. When the browser of the terminal device executes the script file, it acquires setting data corresponding to the account from the server and realizes functions according to the setting contents.

[0003] For example, one of the functions realized by the cooperation of a terminal device that executes a JavaScript (registered trademark) file and a server is a screen sharing system. The screen sharing system enables visual promotion of information transmission between a user operating an agent terminal and a user operating a guest terminal by sharing the screen displayed on the browser of the guest terminal and the mouse cursor operation through the browser of the agent terminal (for example, Patent Document 1). Hereinafter, the user operating the guest terminal is called a guest, and the browser of the guest terminal is called a guest browser. Also, the user operating the agent terminal is called an agent, and the browser of the agent terminal is called an agent browser. An agent is, for example, a person who guides a guest in operating a website. If there are multiple accounts using the screen sharing system, different settings can be configured for each account, allowing guests and agents to share their screens according to the settings of the account they belong to. These settings include, for example, information on items that cannot be shared. This information refers to HTML elements that will not be shared from the guest browser to the agent browser during screen sharing. Specifically, it includes location information such as the URL of the page containing the relevant HTML element, as well as element information such as CSS selectors and XPaths that point to that HTML element. The server stores this configuration data for each account in a database or similar location. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-177403 [Overview of the project] [Problems that the invention aims to solve]

[0005] However, in services where a program running on a terminal device processes and operates based on configuration data sent from a server, service updates or other factors may cause inconsistencies in the format of the configuration data defined by the server (the source of the configuration data) and the program (such as JavaScript), potentially leading to the service not functioning correctly.

[0006] The purpose of this disclosure is to provide a configuration data file distribution device, a configuration data file distribution system, a configuration data file distribution method, and a computer program that ensure that the format of configuration data defined in a program executed on a terminal device always matches the format of configuration data for said program distributed by the server, even when service updates are performed, and that the program can operate normally. [Means for solving the problem]

[0007] A configuration data file distribution device relating to one aspect of this disclosure is an information processing server that provides services using a program executed on a terminal device, and comprises an account management database that stores configuration data indicating the settings of the service for each user account of the service, a migration ID issued each time the database structure of the account management database is changed, an account ID that identifies the account, and a configuration data file created based on the configuration data stored in the account management database when the migration ID is issued, in association with each of these, and the program includes the migration ID, and a communication unit that, in response to a request from the terminal device for distribution of the configuration data file based on the migration ID, transmits the configuration data file corresponding to the migration ID included in the program executed by the terminal device and the account ID to the terminal device.

[0008] A configuration data file distribution system relating to one aspect of this disclosure comprises a configuration data file distribution device and a terminal device, wherein the terminal device requests an index data file based on the migration ID and account ID included in the program executed by the terminal device, and when it receives the index data file corresponding to the migration ID and account ID, it does not cache the index data file in accordance with cache control information, and requests a configuration data file based on the index data file, and when it receives the configuration data file transmitted from the configuration data file distribution device in response to the request, it caches the configuration data file in accordance with cache control information.

[0009] A configuration data file distribution method relating to one aspect of this disclosure is a configuration data file distribution method using an information processing server that provides services using a program executed on a terminal device, wherein for each user account of the service, configuration data indicating the settings of the service is stored in an account management database, a migration ID issued each time the database structure of the account management database is changed, an account ID that identifies the account, and a configuration data file created based on the configuration data stored in the account management database at the time the migration ID was issued are stored in association in a configuration data file storage, and in response to a request from the terminal device for distribution of the configuration data file based on the migration ID included in the program, the configuration data file corresponding to the migration ID included in the program executed by the terminal device and the account ID is transmitted to the terminal device.

[0010] A computer program relating to one aspect of this disclosure is a computer program that causes a computer to perform a process to provide a service using a program executed on a terminal device, wherein for each user account of the service, setting data indicating the settings of the service is stored in an account management database, a migration ID issued each time the database structure of the account management database is changed, an account ID that identifies the account, and a setting data file created based on the setting data stored in the account management database at the time the migration ID was issued are associated and stored in a setting data file storage, and in response to a request from the terminal device for the distribution of the setting data file based on the migration ID included in the program, the computer is caused to perform a process to send the setting data file corresponding to the migration ID included in the program executed by the terminal device and the account ID to the terminal device. [Effects of the Invention]

[0011] According to this disclosure, it is possible to provide a configuration data file distribution device, a configuration data file distribution system, a configuration data file distribution method, and a computer program that can ensure that even when a service update is performed, the format of the configuration data defined in the program executed on the terminal device always matches the format of the configuration data for the program distributed by the server, and that the program can operate normally. [Brief explanation of the drawing]

[0012] [Figure 1] This is a schematic diagram showing an example configuration of a screen sharing system according to an embodiment. [Figure 2] This is a block diagram showing an example configuration of a screen sharing system according to an embodiment. [Figure 3] This is a functional block diagram of the screen sharing system according to the embodiment. [Figure 4] This is a conceptual diagram showing an example of the configuration of a migration management table. [Figure 5] This is a conceptual diagram showing an example of the configuration of the account-specific function type management table and the function type management table. [Figure 6] This is a conceptual diagram showing an example of the configuration of the account-specific environment type management table and the environment type management table itself. [Figure 7] This is a conceptual diagram showing an example of the configuration of a settings data management table. [Figure 8] This is a conceptual diagram showing the directory structure of the configuration data file storage. [Figure 9] This is a conceptual diagram showing the first example of the structure of an index data file. [Figure 10] This is a conceptual diagram showing a second example of the structure of an index data file. [Figure 11] This flowchart shows the processing procedure for distributing configuration data files. [Figure 12] This flowchart shows the processing steps involved in changing the database configuration and creating the configuration data file. [Figure 13]It is a conceptual diagram showing a migration management table after a configuration change of a database. [Figure 14] It is a conceptual diagram showing index data files before and after a configuration change of a database. [Figure 15] It is a conceptual diagram showing a setting data file storage after a configuration change of a database. [Figure 16] It is a conceptual diagram showing a setting data management table after a configuration change of a database. [Figure 17] It is a conceptual diagram showing a setting data file storage after a content change of setting data. [Figure 18] It is a conceptual diagram showing a setting data management table after a content change of setting data. [Figure 19] It is a conceptual diagram showing index data files before and after a content change of setting data.

Embodiments for Carrying Out the Invention

[0013] An information processing server as a setting data file distribution device, a screen sharing system as a setting data file distribution system, a setting data file distribution method, and a computer program according to embodiments of the present disclosure will be described below with reference to the drawings. Note that the present disclosure is not limited to these examples, is indicated by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims. Also, at least a part of the embodiments described below may be arbitrarily combined.

[0014] <Technical Problem> The information processing server (setting data file distribution device) according to the present embodiment solves the following problems. (1) In a service where a program such as a JavaScript® file executed on a terminal device performs processing based on configuration data sent from an information processing server, due to service updates or other reasons, the format of the configuration data defined by the information processing server, which is the source of the configuration data, and the JavaScript® program may become inconsistent, which may cause the service to not function correctly. Configuration data is expected to include a wide variety of information necessary for the implementation of functions, such as information on items that cannot be shared in the screen sharing system. To efficiently distribute such configuration data, the information processing server creates and transmits data with each piece of information appropriately assigned according to a predefined format, such as the database configuration. Similarly, in JavaScript® files, in order to correctly utilize the configuration data, it is common practice to pre-define the format of the configuration data sent from the information processing server, read the information from the configuration data based on the defined content, and then execute the processing. However, in the above-mentioned case, since the format of the configuration data is defined separately in the information processing server and the JavaScript® file, if the database configuration is changed due to, for example, a service update, unless the format of the configuration data defined in the JavaScript® file is also changed at the same time, there will be a period when the format of the configuration data sent from the information processing server and the format defined in the JavaScript® file differ. This will prevent the information from being read correctly, and the function will not be implemented. In other words, the service may not work properly. A common solution to this problem is to update the JavaScript® file simultaneously with any changes to the database configuration or other updates to the format of the configuration data defined by the information processing server, so that the information can be read according to the new configuration data format. However, database configuration changes and JavaScript® file updates must be performed asynchronously, and since there is a difference in the time required for each, it is technically difficult to perform the updates completely simultaneously. Furthermore, JavaScript® files are generally delivered via a CDN (Content Delivery Network) to reduce load and improve delivery speed, and this is achieved by caching the JavaScript® file for a certain period of time at each edge location of the CDN. However, even if the information processing server and the JavaScript® file are updated completely simultaneously, due to the mechanism, it takes some time (depending on the CDN, it may take several minutes) to delete the cached JavaScript® file at each edge location of the CDN and deliver the updated JavaScript® file. Therefore, until the cached JavaScript® file is completely deleted, there is a possibility that the formats of the configuration data defined by both will be inconsistent, and the problem cannot be solved. (2) When the number of accesses to the website is high, the access to the information processing server that distributes the configuration data also increases, which puts a heavy load on the information processing server. As mentioned in the previous section on challenges, configuration data is expected to contain a wide variety of information necessary for the implementation of functions, thus generating a certain volume of data distribution. Furthermore, the information processing server creates configuration data from data stored in the database, incurring a processing load. Therefore, the more website traffic there is, the more traffic is received by the server distributing the configuration data, leading to a heavier server load.

[0015] <Screen Sharing System> Figure 1 is a schematic diagram showing an example configuration of a screen sharing system according to this embodiment. The screen sharing system according to this embodiment addresses the technical problems described above. The screen sharing system according to this embodiment comprises an information processing server 1 that provides a screen sharing service, an agent terminal (terminal device) 2, a guest terminal (terminal device) 3, and a web server 4. The various terminals and servers are connected to the information processing server 1 via a communication network N. In this embodiment, individuals, organizations, and other entities that use the above-mentioned service are referred to as accounts. Individuals who constitute an account are referred to as users.

[0016] The user operating agent terminal 2 (hereinafter referred to as the agent) is, for example, the person who guides the user operating guest terminal 3 (hereinafter referred to as the guest) on how to use the website. Note that the agent and guest are examples of users of the information processing server 1 according to this embodiment, and the relationship between them is not particularly limited.

[0017] Figure 2 is a block diagram showing an example configuration of a screen sharing system according to an embodiment. The information processing server 1 is a computer equipped with a processing unit 11, a storage unit 12, and a communication unit 13. The information processing server 1 may be configured with multiple computers for distributed processing, or it may be implemented with multiple virtual machines located within a single server, or it may be implemented using a cloud server, or part of it may be composed of a quantum computer.

[0018] The processing unit 11 has one or more arithmetic processing units such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), and executes the setting data distribution process and screen sharing process according to this embodiment by reading and executing the computer program P1 stored in the storage unit 12.

[0019] The storage unit 12 is a hard disk, EEPROM (Electrically Erasable Programmable Memory). The storage device is a Read-Only Memory (DSLM) or flash memory. The storage unit 12 stores the computer program P1, agent program P2, and guest program P3 necessary for the processing unit 11 to share the content and operation of websites displayed in the respective web browsers of the guest terminal 3 and the agent terminal 2. Agent program P2 and guest program P3 are programs written in JavaScript (registered trademark), for example. The information processing server 1 sends agent program P2 to agent terminal 2 and guest program P3 to guest terminal 3. The web browser running on agent terminal 2 (hereinafter referred to as agent browser B2) executes the processing necessary for screen sharing by executing agent program P2. The web browser running on guest terminal 3 (hereinafter referred to as guest browser B3) executes the processing necessary for screen sharing by executing guest program P3. The storage unit 12 also stores data related to the settings of the screen sharing system. Details will be described later.

[0020] The various programs may also be recorded on the recording medium 5 in a manner that is computer-readable. The storage unit 12 stores the computer program P1, agent program P2, and guest program P3 read from the recording medium 5 by a reading device (not shown). The recording medium 5 is a semiconductor memory such as flash memory, an optical disk, a magnetic disk, a magneto-optical disk, etc. Alternatively, the various programs according to this embodiment may be downloaded from an external server (not shown) connected to the communication network N and stored in the storage unit 12.

[0021] The communication unit 13 includes processing circuits, communication circuits, etc., for performing communication-related processing, and transmits and receives information between the agent terminal 2, guest terminal 3, and web server 4. In particular, in this embodiment, the communication unit 13 has the function of receiving program or various data requests from the agent terminal 2 or guest terminal 3, and responding with various data stored in the program file storage 12d or configuration data file storage 12f according to the request.

[0022] 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 server 1. Storage unit 22 stores at least the program related to agent browser B2. Agent browser B2 implements DOM (Document Object Model), which is a program that references and controls the elements that make up a website, and can execute agent program P2 sent from information processing server 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.

[0023] 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, storage unit 32, and communication unit 33 is the same as that of the information processing server 1. The storage unit 32 stores at least the 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 server 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 the information provided by the processing unit 31.

[0024] Web server 4 is a server that sends the website's document files and the asset files that make up the website to guest browser B3 in response to requests from at least guest browser B3. Furthermore, web server 4 is a server that sends the asset files that make up the website to information processing server 1 in response to requests from at least information processing server 1. In this embodiment, guest browser B3 accesses web server 4 and displays the website.

[0025] Figure 3 is a functional block diagram of the screen sharing system according to the embodiment. Agent terminal 2 has an agent browser B2 as its functional unit and can execute agent program P2 transmitted from information processing server 1. Agent program P2 is transmitted from information processing server 1 to agent terminal 2 when agent browser B2 accesses information processing server 1 and loads the management screen. The management screen is a screen for executing the screen sharing process of a website.

[0026] Guest terminal 3 has a guest browser B3 as its functional unit and can execute guest program P3 sent from information processing server 1. Guest program P3 is sent from information processing server 1 to guest terminal 3 when loading a website that is the target of screen sharing.

[0027] The information processing server 1 comprises, as functional blocks, an API processing unit 11a, a socket processing unit 11b, a file processing unit 11c, a configuration data acquisition unit 11d, a configuration data file creation unit 11e, a configuration data file storage unit 11f, an account management database update unit 11g, and a guest program update unit 11h. The information processing server 1 also comprises an account management database 12a, a screen sharing management database 12b, a screen sharing data relay store 12c, a program file storage unit 12d, an asset file storage unit 12e, and a configuration data file storage unit 12f. The processing related to each functional block, the configuration data acquisition unit 11d, the configuration data file creation unit 11e, the configuration data file storage unit 11f, the account management database update unit 11g, and the guest program update unit 11h, may be performed in a manner based on requests, such as an API, or in a manner that is performed at regular intervals, such as a batch process.

[0028] The API processing unit 11a is a functional unit that retrieves various setting data for the screen sharing system from the account management database 12a and performs processes such as distributing the data.

[0029] 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.

[0030] 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, and font files.

[0031] The configuration data acquisition unit 11d is a functional unit that acquires configuration data stored in the account management database 12a, as well as information necessary for creating the configuration data file 15a and the index data file 15b.

[0032] The configuration data file creation unit 11e is a functional unit that creates the configuration data file 15a and the index data file 15b based on the acquired configuration data and the information necessary for creating the configuration data file 15a and the index data file 15b. In this embodiment, the information processing server 1 does not create and distribute configuration data each time a request is made from the guest terminal 3, but rather creates the configuration data file 15a containing the necessary configuration data in advance as structured data in JSON (JavaScript® Object Notation) format.

[0033] The configuration data file storage unit 11f is a functional unit that saves the created configuration data file 15a and index data file 15b to the configuration data file storage unit 12f.

[0034] The account management database update unit 11g is a functional unit that performs changes to the configuration or data of the account management database 12a.

[0035] The guest program update unit 11h is a functional unit that updates the contents of the guest program P3 and saves them to the program file storage 12d.

[0036] The account management database 12a is a database that manages information related to the migration of databases related to screen sharing processing, various setting data for the screen sharing system, and information related to the setting data file 15a created based on said setting data. The setting data includes, for example, information on items that cannot be shared on a web page and information on the layout of various buttons displayed on a web page. The setting data is data related to the settings of the screen sharing system selected or set by the account, and is data uploaded to the information processing server 1 from a communication device such as a terminal of a user belonging to the account. Of course, the setting data may also include data that is set by default. Specifically, the information related to migration and the information related to the setting data file 15a is managed by the migration management table 14a, the account-specific function type management table 14b, the function type management table 14c, the account-specific environment type management table 14d, the environment type management table 14e, and the setting data management table 14f. Details of each table will be described later.

[0037] 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 facility that stores HTML files, CSS files, image files, agent program P2, guest program P3, and other files that make up the management screen displayed in 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 being shared on the screen, as well as acquired asset files.

[0038] The configuration data file storage 12f is a storage device that stores configuration data files 15a and index data files 15b for each migration ID and account ID. Details of each file will be described later.

[0039] <Pre-creation of configuration data file 15a, etc.> In this embodiment, the information processing server 1 does not retrieve and send configuration data from the account management database 12a each time a request is received from the guest terminal 3, but rather creates a file containing the configuration data in advance as a configuration data file 15a. The information processing server 1 stores the created configuration data file 15a in the configuration data file storage 12f, and when a request is received from the guest terminal 3, it sends the configuration data file 15a stored in the configuration data file storage 12f to the guest terminal 3. The contents of the database and files related to the pre-creation of the configuration data file 15a, namely the various tables stored in the account management database 12a, the configuration data file 15a, and the index data file 15b, will be described below.

[0040] Figure 4 is a conceptual diagram showing an example configuration of the migration management table 14a. The migration management table 14a is a table for managing information on configuration changes in the account management database 12a, such as the addition, modification, and deletion of tables, and the addition, modification, and deletion of columns within tables. Hereinafter, such changes will be referred to as migrations. Whenever a migration occurs, the account management database update unit 11g issues a unique ID (hereinafter referred to as a migration ID) assigned to identify each migration. The migration management table 14a associates the migration ID issued by the account management database update unit 11g with a new / old identifier indicating which migration ID is the latest, and stores them as records. The new / old identifier is a boolean value that indicates true or false (1 or 0). "1" indicates that it is the latest migration ID, and "0" indicates that it is an older migration ID that was issued previously. When the account management database update unit 11g issues a new migration ID, it associates "1" with the old and new identifiers of the migration ID and stores it as a record in the migration management table 14a. Furthermore, when a new migration ID is issued, the account management database update unit 11g changes the old and new identifiers of the registered old migration ID to "0". In the example shown in Figure 4, migration records are managed in a historical format, and the latest migration ID is "3".

[0041] Figure 5 is a conceptual diagram showing an example configuration of the account-specific function type management table 14b and the function type management table 14c. The account-specific function type management table 14b associates a unique ID assigned to identify an account using the service (hereinafter referred to as the account ID) with a unique ID assigned to identify the function required by that account (hereinafter referred to as the function ID) and stores them as records. The function type management table 14c associates a function ID with a function name and stores them as records. By referencing the account-specific function type management table 14b using any account ID as the key, the function ID required for that account ID can be obtained. By introducing function IDs, it becomes possible to create and manage configuration data files 15a for each of the multiple function IDs that differ for each account. In other words, the information processing server 1 can distribute only the minimum configuration data necessary for the realization of each of the multiple functions. To put it another way, it becomes possible to create and distribute only the minimum configuration data files 15a that differ for each account.

[0042] In the example shown in Figure 5, function ID "1" represents function "A", function ID "2" represents function "B", and function ID "3" represents function "C". According to the account-specific function type management table 14b shown in Figure 5, account ID "1" requires the configuration data files 15a to implement functions "A", "B", and "C", respectively, while account ID "2" requires only the configuration data file 15a to implement function "A".

[0043] Figure 6 is a conceptual diagram showing an example configuration of the account-specific environment type management table 14d and the environment type management table 14e. The account-specific environment type management table 14d associates the account ID with a unique ID (hereinafter referred to as the environment ID) assigned to identify the distribution destination environment required by the account with that account ID, and stores them as records. By defining environments, it is possible to handle cases where users, such as agents belonging to an account, want to change the environment to which the configuration data file 15a is distributed, for example, when they want to verify the updated configuration data internally before publishing it externally (to production). Note that the environment described above is just an example.

[0044] The environment type management table 14e associates environment IDs with environment names and stores them as records. By referencing the account-specific environment type management table 14d using any account ID as the key, the necessary environment ID for that account ID can be obtained. By introducing environment IDs, it becomes possible to create and manage multiple configuration data files 15a for each different environment ID for each account. In other words, the information processing server 1 can create and distribute only the minimum configuration data files 15a corresponding to the different environments for each account.

[0045] In the example shown in Figure 6, environment ID "1" represents the "production" environment, and environment ID "2" represents the "testing" environment. According to the account-specific environment type management table 14d shown in Figure 6, account ID "1" requires both the "production" environment configuration data file 15a and the "testing" environment configuration data file 15a, while account ID "2" requires only the "testing" environment configuration data file 15a.

[0046] Figure 7 is a conceptual diagram showing an example of the configuration of the configuration data management table 14f. The configuration data management table 14f stores records that associate and aggregate a unique ID (hereinafter referred to as the configuration ID) for identifying the configuration data file 15a, the migration ID, account ID, function ID, environment ID, and a new / old identifier indicating which configuration data file 15a is the most recent. The new / old identifier is an identifier that indicates which configuration data file 15a is the most recent when multiple configuration data files 15a created under the same conditions (account ID, function ID, environment ID). The new / old identifier is a boolean value that indicates true or false (1 or 0). "1" indicates that it is the latest configuration data, and "0" indicates that it is old configuration data. When a new configuration data file 15a is created under the same conditions, the new / old identifier "1" is associated with that configuration data file 15a. For configuration data files 15a created in the past under the same conditions, the new / old identifier "0" is associated.

[0047] Figure 8 is a conceptual diagram showing the directory structure of the configuration data file storage 12f. Figure 8A shows a general definition of the directory structure. The directory path for the configuration data file 15a is defined as " / [Migration ID] / [Account ID] / setting.[Configuration ID].json". The directory path for the index data file 15b is defined as " / [Migration ID] / [Account ID] / index.json".

[0048] The directory structure is as follows: As shown in Figure 8A, the directory of the configuration data file storage 12f has a hierarchical structure, and each of the predetermined levels contains a subdirectory corresponding to one or more migration IDs. The name of the subdirectory is the corresponding migration ID. Each migration ID has a subdirectory containing one or more account IDs. The name of each subdirectory is the corresponding account ID. Each subdirectory corresponding to an account ID contains one or more configuration data files 15a and index data files 15b, created according to the function and environment. The index data file 15b is structured data used to identify the latest configuration ID of the account indicated by the account ID in the configuration of the account management database 12a where the migration indicated by the migration ID was performed, and is created, for example, in JSON format. Since the index data file 15b is created uniquely for each combination of migration ID and account ID, the name of the index data file 15b is defined in a form that does not include the configuration ID, such as "index.json". On the other hand, since multiple configuration data files 15a may be created for each configuration ID even for the same combination of migration ID and account ID, the name of the configuration data file 15a is defined as "setting.[configuration ID].json", where [configuration ID] is the value of the configuration ID corresponding to the configuration data file 15a. If the configuration ID is "1", the name of the configuration data file 15a will be "setting.1.json".

[0049] Figure 8B shows a specific example of the directory structure. As shown in Figure 8B, if the migration ID is "3", the account ID is "1", and the setting ID is "13", the directory path for the setting data file 15a will be " / 3 / 1 / setting.13.json". If the migration ID and account ID are the same as those for the setting data file 15a, the directory path for the index data file 15b will be " / 3 / 1 / index.json".

[0050] Figure 9 is a conceptual diagram showing the first configuration example of the index data file 15b, and Figure 10 is a conceptual diagram showing the second configuration example of the index data file 15b. Figures 9A and 10A generally illustrate the definition of the index data file. In the configuration example shown in Figure 9, the function ID is used as the primary key and the environment ID as the subkey, with the configuration IDs associated with it, whereas in the configuration example shown in Figure 10, the environment ID is used as the primary key and the function ID as the subkey, with the configuration IDs associated with it. The substantive content of the data shown in each configuration example is the same. The index data file 15b is a file used to identify the configuration IDs corresponding to the latest configuration data file 15a to be distributed to the account indicated by the corresponding account ID in the configuration of the account management database 12a where the migration indicated by the corresponding migration ID has been performed. The index data file 15b describes the configuration IDs of the configuration data file 15a associated with each combination of function ID and environment ID, and is created as structured data such as JSON format, as shown in Figures 9A and 10A. If there are multiple target function IDs and environment IDs, the setting ID should be associated and described for each combination.

[0051] Figure 9B is a conceptual diagram showing specific example 1 of the index data file 15b related to the first configuration example, and Figure 10B is a conceptual diagram showing specific example 1 of the index data file 15b related to the second configuration example. Both specific examples in Figure 9B and Figure 10B show that the setting ID of the latest setting data file 15a for function ID "1" and environment ID "1" is "13", and the setting ID of the latest setting data file 15a for function ID "3" and environment ID "2" is "21".

[0052] Furthermore, if the names of each function type or environment type are unique, instead of using the function ID and environment ID, the function type name and environment type name may be used as keys to describe them in the index data file 15b, or any other unique attribute besides the ID or name may be used instead.

[0053] Furthermore, while the examples in Figures 9B and 10B show cases where a setting ID is associated with all combinations of function IDs and environment IDs, as in the case of account ID "1," when only specific function IDs or environment IDs are targeted, as in the case of account ID "2," a string or value indicating that no setting ID exists is set for the function IDs and environment IDs that are not targeted. For example, a value such as "null" is set.

[0054] Figure 9C is a conceptual diagram showing a specific example 2 of the index data file 15b related to the first configuration example, and Figure 10C is a conceptual diagram showing a specific example 2 of the index data file 15b related to the second configuration example. In the examples shown in Figures 9C and 10C, the setting ID of the latest setting data file 15a for function ID "1" and environment ID "1" is "1", and it is shown that there are no setting data files 15a corresponding to any other combinations of function ID and environment ID.

[0055] <Distribution of configuration data file 15a> As described above, the information processing server 1 according to this embodiment achieves the distribution of configuration data by distributing a pre-created configuration data file 15a.

[0056] Figure 11 is a flowchart showing the processing procedure for distributing the configuration data file 15a. The processing unit 31 of the guest terminal 3 accesses the web server 4 and obtains an HTML file containing a script tag in which the location information of the guest program P3 is described as the src attribute (step S11). The location information described as the src attribute of the script tag includes the account ID. The location information of the guest program P3 is defined as a URL such as "https: / / withdeskguest.com / app.1.js". In this example, the "1" is the account ID.

[0057] The processing unit 31 of the guest terminal 3 requests the guest program P3 from the information processing server 1 based on the location information described in the src attribute of the script tag (step S12).

[0058] The processing unit 11 of the information processing server 1 receives a request for guest program P3 from guest terminal 3 (step S13). When the processing unit 11 receives a request for guest program P3, it sends guest program P3 to guest terminal 3 (step S14). The latest migration ID is written in guest program P3.

[0059] The processing unit 31 of the guest terminal 3 receives the guest program P3 sent from the information processing server 1 (step S15). The processing unit 31 executes the received guest program P3 and creates location information for the index data file 15b based on the latest migration ID contained in the guest program P3 and the account ID obtained from the location information of the guest program P3 (step S16). The location information for the index data file 15b created by the processing unit 31 is defined as a URL such as "https: / / withdeskguest.com / [migration ID] / [account ID] / index.json". The path structure below the domain is the same as the directory structure of the configuration data file storage 12f described above.

[0060] Then, the processing unit 31 of the guest terminal 3 requests the index data file 15b from the information processing server 1 based on the location information of the created index data file 15b (step S17).

[0061] The processing unit 11 of the information processing server 1 receives a request for the index data file 15b from the guest terminal 3 (step S18). When the processing unit 11 receives a request for the index data file 15b, it retrieves the index data file 15b corresponding to the location information from the configuration data file storage 12f, and sends the retrieved index data file 15b and cache control information instructing the guest browser B3 not to cache the index data file 15b to the guest terminal 3 (step S19). When sending the index data file 15b using the HTTP protocol or HTTPS protocol, the processing unit 11 includes cache control information (for example, "no-cache") in the response header when sending it.

[0062] The reason for not configuring browser caching of the index data file 15b is to ensure that the latest configuration ID corresponding to the configuration data file 15a can always be obtained from the index data file 15b. Specifically, the configuration ID described in the index data file 15b is changed to the corresponding configuration ID when the configuration data file 15a is newly created due to changes in the configuration data content described later. However, if the cache control information is configured to allow browser caching of the index data file 15b, then when guest browser B3, which has cached the index data file 15b once, obtains the index data file 15b again, it will not request it from the information processing server 1 unless the cache is deleted, and will instead obtain the cached index data file 15b. Therefore, even if the configuration ID described in the index data file 15b stored in the configuration data file storage 12f is changed, the changed configuration ID cannot be obtained, and the latest configuration data file 15a cannot be obtained. On the other hand, if the cache control information is set to prevent the browser from caching the index data file 15b, the guest browser B3 requests the index data file 15b from the information processing server 1 each time, and can always obtain the setting ID corresponding to the latest setting data file 15a from the index data file 15b. Furthermore, since the index data file 15b does not include the setting ID in its location information, even if the content of the setting data changes and the setting ID corresponding to the latest setting data file 15a changes, the location information will not change unless the database configuration changes. In other words, except when the database configuration changes, the setting ID corresponding to the latest setting data file 15a can always be obtained from the index data file 15b without modifying the guest program.

[0063] The processing unit 31 of the guest terminal 3 receives the index data file 15b sent from the information processing server 1 (step S20). The processing unit 31 does not cache the index data file 15b according to the received cache control information.

[0064] Next, the processing unit 31 of the guest terminal 3 selects the environment ID of the configuration data file 15a that needs to be distributed (step S21). Specifically, it can determine which environment ID the environment in which the guest program P3 is running belongs to by using cookies or the like. For example, if a cookie such as "testing=true" is stored in the guest browser B3, it will determine that configuration data for testing (pre-publication) is needed and select environment ID "2" which corresponds to the "testing" environment. If there is no such cookie, it will determine that configuration data for production is needed and select environment ID "1" which corresponds to the "production" environment. Alternatively, the guest program P3 may determine the environment ID using query parameters attached to the location information of the guest program P3 (for example, "https: / / withdeskguest.com / app.1.js?testing=true") or a hash value (for example, "https: / / withdeskguest.com / app.1.js#testing") instead of using cookies.

[0065] Next, the processing unit 31 of the guest terminal 3 uses the environment ID selected in step S21 as a key to refer to the index data file 15b, obtain the corresponding setting ID, and create location information for the setting data file 15a (step S22).

[0066] The location information for the configuration data file 15a is defined as a URL such as "https: / / withdeskguest.com / 3 / 1 / setting.13.json". The path structure below the domain is the same as the directory structure of the configuration data file storage 12f mentioned above.

[0067] The processing unit 31 of the guest terminal 3 requests the configuration data file 15a from the information processing server 1 based on the location information of the configuration data file 15a created in step S22 (step S23).

[0068] The processing unit 11 of the information processing server 1 receives a request for the configuration data file 15a from the guest terminal 3 (step S24). When the processing unit 11 receives a request for the configuration data file 15a, it retrieves the configuration data file 15a from the configuration data file storage 12f and sends the retrieved configuration data file 15a and cache control information instructing the guest browser B3 to cache the configuration data file 15a to the guest terminal 3 (step S25). When sending the configuration data file 15a using the HTTP protocol or HTTPS protocol, the processing unit 11 includes the cache control information in the response header when sending it.

[0069] Cache control information is set to, for example, "max-age=31536000,public". The reason for enabling browser caching of the configuration data file 15a is to keep browser caching enabled as long as the contents of the configuration data file 15a are not changed. As a result, once a guest browser B3 has saved the configuration data file 15a as a cache, it will no longer access the information processing server 1 to retrieve the configuration data file 15a unless the cache is deleted. In other words, even if there are many accesses to the website, the amount of data that the configuration data file 15a is delivered can be reduced, thereby easing the load on the information processing server 1. Since the configuration data file 15a is data that holds various settings related to processing, its file size is expected to be larger than that of the index data file 15b, depending on the content of the processing, so the load reduction effect of caching is significant.

[0070] Furthermore, by dividing the configuration data file 15a into major functions and environments, and distributing only the minimum necessary configuration data file 15a for each account ID, the load on the information processing server 1 can be further reduced.

[0071] The processing unit 31 of the guest terminal 3 receives the configuration data file 15a sent from the information processing server 1 (step S26). The processing unit 31 caches the configuration data file 15a according to the received cache control information.

[0072] If there are multiple target function IDs, location information for the configuration data file 15a is created for each selected environment ID and function ID, and the corresponding configuration data file 15a is repeatedly requested and retrieved. Furthermore, in situations where only a specific function is used among the multiple functions used by the account, the system may be configured to refer to the index data file 15b using the selected environment ID and the function ID as keys, create location information for the configuration data file 15a, and retrieve the corresponding configuration data file 15a.

[0073] Upon receiving the configuration data file 15a, the processing unit 31 performs the configuration based on the configuration data file 15a and executes predetermined processing (step S27). In this embodiment, the processing unit 31 performs the configuration based on the configuration data file 15a and executes processing related to sharing the website screen.

[0074] <Database configuration changes and creation of configuration data file 15a> The main case in which the configuration data file 15a is created in advance is when the configuration of the account management database 12a is changed. However, even if the configuration of the account management database 12a is not changed, the configuration data file 15a is created in advance when the content of the configuration data related to a specific account ID is changed, such as adding, changing, or deleting location information included in the configured non-shareable item information, or adding, changing, or deleting element information included in the non-shareable item information. This section describes the pre-creation of the configuration data file 15a when changing the configuration of the account management database 12a. Figure 12 is a flowchart showing the processing procedure for changing the database configuration and creating the configuration data file 15a, Figure 13 is a conceptual diagram showing the migration management table 14a after the database configuration change, Figure 14 is a conceptual diagram showing the index data file 15b before and after the database configuration change, Figure 15 is a conceptual diagram showing the configuration data file storage 12f after the database configuration change, and Figure 16 is a conceptual diagram showing the configuration data management table 14f after the database configuration change.

[0075] When the configuration of the account management database 12a is changed due to a service update or other reasons, the account management database update unit 11g of the information processing server 1 performs a migration of the account management database 12a (step S31).

[0076] Furthermore, when performing a migration, the account management database update unit 11g issues a new migration ID (step S32), stores it as a record in the migration management table 14a, and updates it (step S33). Specifically, as shown in Figure 13, if a record indicating a registered migration ID already exists, the account management database update unit 11g changes the old and new identifiers of the migration ID to "0", associates the newly issued migration ID with the old and new identifier "1", and stores it in the migration management table 14a.

[0077] In the example shown in Figure 13, a record associating the newly issued migration ID "4" with the old and new identifier "1" is stored in the migration management table 14a. Additionally, the old and new identifier associated with migration ID "3" is changed from "1" to "0".

[0078] The configuration data acquisition unit 11d of the information processing server 1 acquires the latest migration ID from the account management database 12a (step S34). The purpose of acquiring the migration ID is to manage the configuration data files 15a created for each migration ID separately.

[0079] The configuration data acquisition unit 11d acquires the information necessary to create the configuration data file 15a for each account ID from the account management database 12a (step S35). The necessary information includes the contents of the configuration data corresponding to the account ID, the required function ID, and the required environment ID. The required function ID and required environment ID are obtained from the records corresponding to the account ID in the account-specific function type management table 14b and the account-specific environment type management table 14d, respectively.

[0080] Next, the configuration data file creation unit 11e of the information processing server 1 creates a configuration data file 15a based on the account ID obtained by the configuration data acquisition unit 11d, the latest migration ID, and the function ID and environment ID required for each account (step S36). The creation unit is per account ID, but if there are multiple target function IDs for an account ID, the configuration data file 15a required for each function ID is divided and created. Also, if there are multiple target environment IDs for an account ID, the configuration data file 15a required for each environment ID is divided and created.

[0081] The configuration data file creation unit 11e issues a configuration ID for each configuration data file 15a created (step S37). The name of the configuration data file 15a is defined as "setting.1.json". In this example, the "1" is the configuration ID.

[0082] Furthermore, the configuration data file creation unit 11e also creates an index data file 15b in JSON format to point to the configuration ID of the latest configuration data file 15a for each combination of migration ID and account ID, and writes the configuration ID of the latest configuration data file 15a in this file (step S38). If there are multiple target function IDs or environment IDs, the index data file 15b will contain the configuration ID of the latest configuration data file 15a for each combination of function ID and environment ID.

[0083] For example, as shown in Figures 14A and 14B, the setting IDs "13" and "14" in the latest configuration data file 15a, which were created for each combination of function ID "1" and environment IDs "1" and "2" before the database configuration change, are changed to setting IDs "22" and "23" after the database configuration change. Similarly, the setting IDs "16" and "17" in the latest configuration data file 15a, which were created for each combination of function ID "2" and environment IDs "1" and "2" are changed to setting IDs "24" and "25". The setting IDs "19" and "21" in the latest configuration data file 15a, which were created for each combination of function ID "3" and environment IDs "1" and "2" are changed to setting IDs "26" and "27".

[0084] The configuration data file storage unit 11f of the information processing server 1 saves the configuration data file 15a and the corresponding index data file 15b created by the configuration data file creation unit 11e to the configuration data file storage 12f (step S39).

[0085] For example, as shown in Figure 15, a subdirectory corresponding to migration ID "4" is created, and within that subdirectory, subdirectories corresponding to each account ID are created. In the subdirectory corresponding to each account ID, the configuration data file 15a and index data file 15b created for each function ID and environment ID for that migration ID and account ID are stored.

[0086] The configuration data file storage unit 11f records information related to the saved configuration data file 15a in the configuration data management table 14f (step S40). Specifically, as shown in Figure 16, the configuration data file storage unit 11f stores a record aggregating the configuration ID, migration ID, account ID, function ID, and environment ID for each configuration data file 15a in the configuration data management table 14f. It also simultaneously records that the configuration data file 15a is the latest, and if a record indicating a configuration data file 15a created under the same conditions (account ID, function ID, environment ID) already exists, it records that the configuration data file 15a is no longer the latest. In the example shown in Figure 16, configuration IDs "22" to "27" are stored as new records, and the new / old identifier is associated with "1". The new / old identifiers for records with configuration ID "21" and below are updated to "0".

[0087] The guest program update unit 11h of the information processing server 1 updates the migration ID written in the guest program P3 with the latest migration ID obtained by the configuration data acquisition unit 11d (step S41), and saves the updated guest program P3 to the program file storage 12d (step S42).

[0088] According to the above process, a configuration data file 15a corresponding to the changed format of the account management database 12a is created as a separate file from the configuration data file 15a corresponding to the format before the change. Therefore, both configuration data files 15a can be used before and after the configuration change of the account management database 12a. As a result, even if a guest program P3 with an outdated migration ID, that is, a guest program P3 distributed before the migration ID was updated in steps S41 to S42, requests a configuration data file 15a after the configuration change of the account management database 12a, it will be able to obtain a configuration data file 15a created in the previous format, and thus the configuration data can be used correctly. On the other hand, a guest program P3 with the latest migration ID also has a configuration data file 15a created in the changed format, so it can use the configuration data correctly.

[0089] The guest program P3 before the update can continue to use the configuration data file 15a corresponding to the format of the account management database 12a before the configuration change, and the guest program P3 after the update can immediately use the configuration data file 15a corresponding to the format of the account management database 12a after the configuration change. In other words, the service can be updated without causing a mismatch in the format of the configuration data defined by both the information processing server 1 and the guest program P3.

[0090] <Changes to configuration data> Even if the configuration of the account management database 12a is not changed, if the content of the setting data related to a specific account ID is to be changed, the setting data file 15a is created in advance. When the content of the setting data related to a specific account ID is to be changed, the account management database update unit 11g of the information processing server 1 changes the content of the setting data stored in the account management database 12a.

[0091] For account IDs whose configuration data has been modified, each functional unit of the information processing server 1 recreates the configuration data file 15a by executing the processes in steps S34 to S40. Since there is no change in the database configuration, the migration ID remains unchanged. In other words, it is not necessary to execute the processes in steps S31 to S33 and steps S41 to S42. Furthermore, if the changes are limited to a specific function or environment, only the configuration data file 15a corresponding to the target function ID or environment ID may be recreated.

[0092] Figure 17 is a conceptual diagram showing the configuration data file storage 12f after the configuration data content has been changed, Figure 18 is a conceptual diagram showing the configuration data management table 14f after the configuration data content has been changed, and Figure 19 is a conceptual diagram showing the index data file 15b before and after the configuration data content has been changed. For example, if the latest migration ID is "4", and the configuration data file 15a with account ID "1", function ID "3", and environment ID "1" is recreated, the newly created configuration data file 15a will be added under the subdirectory " / 4 / 1 / ", as shown in Figure 17. The configuration ID of this configuration data file 15a is "28", and the file name is "setting.28.json".

[0093] Additionally, as shown in Figure 18, a record with setting ID "28", migration ID "4", account ID "1", function ID "3", environment ID "1", and new / old identifier "1" is added to the setting data management table 14f. The new / old identifier of the record in the setting data file 15a that was created with the same conditions (account ID, function ID, environment ID) before the recreation of the setting data file 15a, i.e., the record with setting ID "26", is updated from "1" to "0".

[0094] If the configuration data file 15a is recreated due to changes in the configuration data, the migration ID will not change, so it is assumed that the index data file 15b has already been created. In that case, the index data file 15b is not created anew. Instead, the index data file 15b created under the directory of the target migration ID and account ID is detected, and the configuration ID corresponding to the combination of the target function ID and environment ID described in the index data file 15b is updated with the newly issued configuration ID.

[0095] In the example shown in Figures 17 and 18, as shown in Figures 19A and 19B, the setting ID of the latest setting data file 15a corresponding to the combination of function ID "3" and environment ID "1" is changed from "26" to "28".

[0096] If the contents of the configuration data are changed, a new configuration data file 15a is created and stored in the configuration data file storage 12f, but the index data file 15b, which has already been created, is updated. In other words, the location information of the index data file 15b is not changed, so the guest program P3 can obtain the configuration ID indicating the latest configuration data file 15a from the index data file 15b without updating the guest program P3.

[0097] <Effects and Effects> Even if service updates are performed, the format of the configuration data file 15a defined in the guest program P3 distributed to the guest browser B3 will always match the format of the configuration data file 15a for the guest program P3 distributed by the information processing server 1, allowing the guest program P3 to operate normally.

[0098] More specifically, in the conventional method where the configuration data acquisition unit 11d creates and distributes configuration data based on the data stored in the account management database 12a each time a request is made from the guest terminal 3, there was a problem that if the configuration of the account management database 12a was changed due to a service update or other reasons, the format of the configuration data defined by both would become inconsistent unless the information processing server 1 and the guest program P3 were updated simultaneously, potentially causing the service to not function properly. According to this embodiment, even if the configuration of the account management database 12a is changed, a different configuration data file 15a is saved for each corresponding migration ID, and the configuration data file 15a to be distributed can be selected based on the migration ID described in the guest program P3. Therefore, even if the configuration change of the account management database 12a and the update of the guest program P3 are not performed simultaneously, the configuration data in the format defined by the guest program P3 can be used correctly. In other words, the service can be updated without causing a mismatch in the format of the configuration data defined by both the information processing server 1 and the guest program P3.

[0099] Additionally, a problem arose where the server load became heavy when a website containing a script tag requesting the guest program P3 received a large number of visits. According to this embodiment, the configuration data is created in advance as a static JSON-formatted configuration data file 15a containing the configuration data and stored in the configuration data file storage 12f. As a result, the guest terminal 3 can retrieve the configuration data file 15a from storage without accessing the configuration data acquisition unit 11d and the account management database 12a. Furthermore, since caching by the guest browser B3 can be utilized, the amount of configuration data file 15a distributed can be kept to a minimum. In other words, the load on the information processing server 1 can be reduced.

[0100] Furthermore, since the configuration involves creating and distributing separate configuration data files 15a for each account, depending on the required functions and environments, the file distribution load on the information processing server 1 can be reduced.

[0101] In this embodiment, an example of creating a configuration data file 15a according to the difference between the environment ID and the configuration ID has been described. However, it is also possible to configure the system to create a configuration data file corresponding to the migration ID and account ID without considering the environment ID and the configuration ID. Alternatively, it is possible to configure the system to create a configuration data file corresponding to the migration ID and account ID by considering either the environment ID or the configuration ID.

[0102] Furthermore, while a screen sharing service was described as an example of a service provided by the information processing server 1, it may also provide a tutorial service that explains or guides users on how to operate websites and the like. In this case, the function ID is a unique ID assigned to the various configurable functions included in the tutorial service. Furthermore, if the information processing server 1 provides screen sharing services and tutorial services, the function ID may be a unique ID assigned to the screen sharing service function and the tutorial service function. The services and functions according to the present invention are not limited to the specific services and functions described above, and any configurable functions can be designed arbitrarily.

[0103] The means for resolving the issues discussed in this disclosure are described below. (Note 1) An information processing server that provides services using programs executed on terminal devices, For each account using the aforementioned service, an account management database is provided that stores configuration data indicating the settings of the service. A configuration data file storage system that stores in association the following: a migration ID issued each time the database structure of the account management database is changed, an account ID that identifies the account, and a configuration data file created based on the configuration data stored in the account management database at the time the migration ID was issued. Equipped with, The program includes the migration ID, A communication unit transmits to the terminal device the configuration data file corresponding to the migration ID and account ID included in the program executed by the terminal device, in response to a request from the terminal device for the distribution of the configuration data file based on the migration ID. A configuration data file distribution device equipped with the following features. (Note 2) The aforementioned configuration data file storage is The system stores, in association with the migration ID and the account ID, one or more configuration data files created for each specific function used by the account among the multiple functions related to the service, and an index data file for identifying the one or more configuration data files using the function ID representing the function as the key. The aforementioned communications unit is The index data file corresponding to the migration ID and account ID included in the program executed by the terminal device is sent to the terminal device. In response to a request for the configuration data file from the terminal device using the index data file, the configuration data file corresponding to the migration ID, the account ID, and the function ID indicating a specific function used by the account, which are included in the program executed by the terminal device, is sent to the terminal device. The configuration data file distribution device described in Appendix 1. (Note 3) The aforementioned configuration data file storage is Multiple configuration data files created for each of the multiple types of environments on the terminal device side, and an index data file for identifying the multiple configuration data files using the environment ID representing the environment as a key, are stored in association with the migration ID and the account ID. The aforementioned communications unit is The index data file corresponding to the migration ID and account ID included in the program executed by the terminal device is sent to the terminal device. In response to a request for the configuration data file from the terminal device using the index data file, the configuration data file corresponding to the migration ID, account ID, and environment ID indicating the environment on the terminal device side, which are included in the program executed by the terminal device, is sent to the terminal device. A configuration data file distribution device as described in Appendix 1 or Appendix 2. (Note 4) The aforementioned communications unit is When transmitting the aforementioned index data file, cache control information instructing that the index data file not be cached, and the index data file itself are transmitted to the terminal device. When transmitting the aforementioned configuration data file, the system executes a process to transmit cache control information instructing the system to cache the configuration data file and the configuration data file to the terminal device. A configuration data file distribution device as described in either Appendix 2 or Appendix 3. (Note 5) A configuration data file distribution device described in any one of the appendices 1 to 4, Terminal device and Equipped with, The aforementioned terminal device is Based on the migration ID and account ID included in the program executed by the terminal device, the index data file is requested. When the index data file corresponding to the migration ID and account ID is received, the index data file is not cached according to the cache control information. Based on the aforementioned index data file, the configuration data file is requested. When the configuration data file transmitted from the configuration data file distribution device in response to a request is received, the configuration data file is cached according to the cache control information. Configuration data file distribution system. [Explanation of Symbols]

[0104] 1: Information processing server 2: Agent terminal 3: Guest terminal 4: Web server 5: Recording media 11: Processing Section 11a: API Processing Unit 11b: Socket Processing Unit 11c: File Processing Unit 11d: Configuration data acquisition unit 11e: Configuration data file creation section 11f: Configuration data file storage section 11g: Account Management Database Update Department 11h: Guest Program Update Department 12: Storage section 12a: Account Management Database 12b: Screen sharing management database 12c: Screen sharing data relay store 12d: Program File Storage 12e: Asset File Storage 12f: Configuration data file storage 13: Communications Department 14a: Migration Management Table 14c: Function Type Management Table 14b: Account-specific function type management table 14e: Environment Type Management Table 14d: Account-specific environment type management table 14f: Configuration data management table 15a: Configuration data file 15b: Index data file 21: Processing Unit 22: Storage section 23: Communications Department 24:Operation unit 25:Display section 31: Processing Unit 32: Storage section 33: Communications Department 34:Operation unit 35:Display section B2: Agent Browser B3: Guest Browser N: Communication network P1: Computer program P2: Agent Program P3: Guest Program

Claims

1. An information processing server that provides services using programs executed on terminal devices, For each account using the aforementioned service, an account management database is provided that stores configuration data indicating the settings of the service. A configuration data file storage system that stores in association the following: a migration ID issued each time the database structure of the account management database is changed, an account ID that identifies the account, and a configuration data file created based on the configuration data stored in the account management database at the time the migration ID was issued. Equipped with, The program includes the migration ID, A communication unit transmits to the terminal device the configuration data file corresponding to the migration ID and account ID included in the program executed by the terminal device, in response to a request from the terminal device for the distribution of the configuration data file based on the migration ID. A configuration data file distribution device equipped with the following features.

2. The aforementioned configuration data file storage is The system stores, in association with the migration ID and the account ID, one or more configuration data files created for each specific function used by the account among the multiple functions related to the service, and an index data file for identifying the one or more configuration data files using the function ID representing the function as the key. The aforementioned communications unit is The index data file corresponding to the migration ID and account ID included in the program executed by the terminal device is sent to the terminal device. In response to a request for the configuration data file from the terminal device using the index data file, the terminal device sends the configuration data file to the terminal device, which corresponds to the migration ID, the account ID, and the function ID indicating a specific function used by the account, all of which are included in the program executed by the terminal device. The configuration data file distribution device according to claim 1.

3. The aforementioned configuration data file storage is Multiple configuration data files created for each of the multiple types of environments on the terminal device side, and an index data file for identifying the multiple configuration data files using the environment ID representing the environment as a key, are stored in association with the migration ID and the account ID. The aforementioned communications unit is The index data file corresponding to the migration ID and account ID included in the program executed by the terminal device is sent to the terminal device. In response to a request for the configuration data file from the terminal device using the index data file, the configuration data file corresponding to the migration ID, account ID, and environment ID indicating the environment on the terminal device side, which are included in the program executed by the terminal device, is sent to the terminal device. The configuration data file distribution device according to claim 1.

4. The aforementioned communications unit is When transmitting the aforementioned index data file, cache control information instructing that the index data file not be cached, and the index data file itself are transmitted to the terminal device. When transmitting the aforementioned configuration data file, the system executes a process to transmit cache control information instructing the system to cache the configuration data file and the configuration data file to the terminal device. A configuration data file distribution device according to either claim 2 or claim 3.

5. The setting data file distribution device according to claim 4, Terminal device and Equipped with, The aforementioned terminal device is Based on the migration ID and account ID included in the program executed by the terminal device, the index data file is requested. When the index data file corresponding to the migration ID and account ID is received, the index data file is not cached according to the cache control information. Based on the aforementioned index data file, the configuration data file is requested. When the configuration data file transmitted from the configuration data file distribution device in response to a request is received, the configuration data file is cached according to the cache control information. Configuration data file distribution system.

6. A method for distributing configuration data files using an information processing server that provides services using a program executed on a terminal device, For each account using the aforementioned service, configuration data indicating the settings of the service is stored in the account management database. Each time the database structure of the account management database is changed, a migration ID is issued, an account ID that identifies the account, and a configuration data file created based on the configuration data stored in the account management database at the time the migration ID was issued are associated and stored in the configuration data file storage. In response to a request from the terminal device for the distribution of the configuration data file based on the migration ID included in the program, the terminal device sends the configuration data file corresponding to the migration ID included in the program it executes and the account ID to the terminal device. Method for distributing configuration data files.

7. A computer program that causes a computer to perform a process that provides a service using a program executed on a terminal device, For each account using the aforementioned service, configuration data indicating the settings of the service is stored in the account management database. Each time the database structure of the account management database is changed, a migration ID is issued, an account ID that identifies the account, and a configuration data file created based on the configuration data stored in the account management database at the time the migration ID was issued are associated and stored in the configuration data file storage. In response to a request from the terminal device for the distribution of the configuration data file based on the migration ID included in the program, the terminal device sends the configuration data file corresponding to the migration ID included in the program it executes and the account ID to the terminal device. A computer program that causes the computer to perform a process.

Citation Information

Patent Citations

  • Setting device, setting system, setting method, and setting program

    JP2015197790A

  • Information processing apparatus, information processing system, and program

    JP2019061437A

  • Screen sharing and remote operation system

    JP2020177403A

  • Information processing apparatus and information processing system

    US20190095479A1