Program interface request distribution system, distribution method for program interface request distribution system, intermediate server, request distribution method for intermediate server, and request distribution program

JP2026169089APending Publication Date: 2026-10-16IO DATA CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025062785
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-04-04
Publication Date
2026-10-16

Smart Images

  • Figure 2026169089000001_ABST
    Figure 2026169089000001_ABST
Patent Text Reader

Abstract

To provide users with services that are suitable for them, without being constrained by the service provider's service provision status. [Solution] The intermediate server 100 includes a reception unit 1011 that receives timestamp requests from client devices 300, an acquisition unit 1012 that acquires the number of pending timestamp processing requests currently being processed by each of the four TSA station servers 1 to 4, a distribution destination determination unit 1013 that determines which of the four TSA station servers 1 to 4 to distribute the timestamp request received by the reception unit 1011 to based on the number of pending timestamp processing requests currently being processed by each of the four TSA station servers 1 to 4, and a request transfer unit 1014 that transfers the timestamp request received by the reception unit 1011 to the TSA station server 1 to 4 to which it has been distributed by the distribution destination determination unit 1013.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present invention relates to a program interface request distribution system, a distribution method for a program interface request distribution system, an intermediate server, a request distribution method for an intermediate server, and a request distribution program. BACKGROUND ART

[0002] Conventionally, various services using computers have been provided via the Internet. For example, with regard to service providing systems, a service providing system that "realizes a service cooperation function such that a plurality of related types of service providing processes are executed as if by a single service server" has been disclosed (see Patent Document 1).

[0003] The abstract of Patent Document 1 describes "a system in a service providing system constructed on the Internet, which has a client that makes a service request, a plurality of service servers having a service providing function, a service mediation server that mediates between the client and each service server, and a data sharing device for providing a function that enables user profile information to be shared between the mediation server and the plurality of service servers". PRIOR ART DOCUMENTS PATENT DOCUMENTS

[0004] PATENT DOCUMENT 1 Japanese Unexamined Patent Application Publication No. 11-265344 SUMMARY OF THE INVENTION PROBLEMS TO BE SOLVED BY THE INVENTION

[0005] The service provision system described in Patent Document 1 is a system that realizes a service coordination function, such that multiple related service provision processes are executed as if by a single service server. That is, in the service provision system described in Patent Document 1, for example, a user can receive services related to overseas travel reservations, as well as weather forecast information services.

[0006] In contrast, consider a scenario where multiple businesses provide the same specified service. In this case, a user who wishes to receive the specified service enters into a contract with one of the multiple businesses providing the service. This allows the user to receive the specified service. Here, the specified service could be, for example, certified timestamp processing.

[0007] In certified timestamp processing, if there are multiple businesses that constitute the time certification authority, the user enters into a contract with one of these businesses. The user then sends the required documents, a timestamp request, and authentication information to the time certification authority operated by that business. The time certification authority performs authentication based on the authentication information, performs certified timestamp processing on the required documents to certify the time, and sends a certified timestamp response back to the user.

[0008] In certain services provided by such service providers, the number of user connections to the server may be restricted in order to maintain the stable operation of the service provider's servers. For example, the service provider's server may limit the communication interval for each client device to access the server.

[0009] Specifically, service providers may impose restrictions on the number of accesses per hour when client devices access the service provider's server. For example, a service provider might impose a restriction of one access per second. In this case, the user must not send more than one certified timestamp processing request per second from the service provider's server.

[0010] In contrast, consider a scenario where a surge of certified timestamp processing requests overwhelms the service provider's server, straining its processing capacity. In this case, users may only be able to receive certified timestamp processing 0.5 times per second.

[0011] Furthermore, if the service provider with which the user has a contract shuts down its servers for maintenance or if a server failure occurs and the servers stop, the user will not be able to receive the certified timestamp processing. Thus, whether or not a user can enjoy the specified services depends on the service provision status of the service provider with which the user has a contract.

[0012] This invention has been made in view of the above circumstances, and aims to provide suitable services to users without being bound by the service provision status of the service provider. [Means for solving the problem]

[0013] The program interface request distribution system according to the present invention is A program interface request distribution system that receives program interface requests from external devices and distributes the program interface requests to one of several service provider servers, A receiving unit that receives requests for the program interface from an external device, An acquisition unit that acquires the number of pending requests for the program interface that each of the multiple service provider servers is currently processing, Based on the number of pending requests for the program interface currently being processed by each of the multiple service provider servers, the distribution destination determination unit determines which of the multiple service provider servers to distribute the program interface request received by the reception unit to. A request transfer unit transfers the program interface request received by the reception unit to the carrier server to which the distribution destination determination unit has assigned, It is equipped with.

[0014] The distribution method of the program interface request distribution system according to the present invention is: A distribution method for a program interface request distribution system that receives a program interface request from an external device and distributes the program interface request to one of several service provider servers, The receiving unit receives a request for the program interface from an external device, The acquisition unit includes the step of acquiring the number of pending requests for the program interface that each of the multiple service provider servers is currently processing, The distribution destination determination unit determines, based on the number of pending requests for the program interface currently being processed by each of the multiple carrier servers, which of the multiple carrier servers the reception unit will distribute the program interface request received by the reception unit to. The request forwarding unit forwards the program interface request received by the receiving unit to the carrier server that has been allocated by the distribution destination determination unit. It is equipped with.

[0015] The intermediate server according to the present invention is A reception unit that receives program interface requests from external devices, An acquisition unit that acquires the number of requests per hour for the program interface currently being processed by each of the multiple service provider servers, Based on the number of pending requests for the program interface currently being processed by each of the multiple service provider servers, the distribution destination determination unit determines which of the multiple service provider servers to distribute the program interface request received by the reception unit to. A request transfer unit transfers the program interface request received by the reception unit to the carrier server to which the distribution destination determination unit has assigned, It is equipped with.

[0016] A request distribution method for an intermediate server according to the present invention includes: a step in which a reception unit receives a program interface request from an external device; a step in which an acquisition unit acquires the number of pending requests for the program interface currently being processed by each of a plurality of operator servers; a step in which a distribution destination determination unit determines, based on the current number of pending requests for the program interface being processed by each of the plurality of operator servers, which of the plurality of operator servers to distribute the program interface request received by the reception unit to; a step in which a request transfer unit transfers the program interface request received by the reception unit to the operator server distributed by the distribution destination determination unit; .

[0017] A request distribution program according to the present invention causes a computer constituting an intermediate server to execute: a procedure of receiving a program interface request from an external device; a procedure of acquiring the number of pending requests for the program interface currently being processed by each of a plurality of operator servers; a procedure of determining, based on the current number of pending requests for the program interface being processed by each of the plurality of operator servers, which of the plurality of operator servers to distribute the received program interface request to; a procedure of transferring the received program interface request to the distributed operator server; . [Advantageous Effects of Invention]

[0018] According to the present invention, services can be suitably provided to users without being restricted by the service provision status of service providers. [Brief Description of Drawings] ​

[0019] [Figure 1] This is an explanatory diagram showing the configuration of the service provision system according to this embodiment. [Figure 2A] This is a block diagram showing the hardware configuration of the intermediate server. [Figure 2B] This is a functional block diagram showing the functions of the intermediate server. [Figure 3] This is an explanatory diagram showing the schematic operation of the intermediate server according to this embodiment. [Figure 4A] This is a sequence diagram (Part 1) showing the processing flow from when a client device sends a timestamp request until it receives a timestamp response. [Figure 4B] This is a sequence diagram (part 2) showing the processing flow from when a client device sends a timestamp request until it receives a timestamp response. [Figure 5] This is a flowchart illustrating the distribution process of the intermediate server according to the first embodiment. [Figure 6] This is a flowchart showing the distribution process of the intermediate server according to the second embodiment. [Figure 7] This flowchart illustrates the processing of TSA queues performed by the queue processing unit. [Modes for carrying out the invention]

[0020] Embodiments of the present invention will be described below with reference to the attached drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant explanations are omitted as appropriate.

[0021] <Outline Configuration of the Program Interface Request Distribution System> Figure 1 is an explanatory diagram showing the configuration of the service provision system 400 according to this embodiment. As shown in Figure 1, the service provision system 400 is configured to include a program interface request distribution system 200 and a client device 300.

[0022] The client device 300 consists of, for example, a smartphone, a laptop computer, a desktop computer, a tablet device, or a cloud server contracted by the user. The client device 300 requests the program interface request distribution system 200 to provide a predetermined service. Specifically, the client device 300 posts a service request using the HTTP protocol to the service processing endpoint of the intermediate server 100. The client device 300 then receives a service response from the intermediate server 100.

[0023] In this embodiment, certified timestamp processing will be used as an example of a predetermined service. Certified timestamp processing is a service in which a time certification authority certifies the accuracy and completeness of electronic data. Each business server constituting a time certification authority provides "proof of existence" and "proof of completeness" of electronic data by attaching a certified timestamp to the electronic data requested by the client device 300. In this embodiment, each business server constitutes a time certification authority, and each time certification authority provides a service for attaching certified timestamps. Electronic data includes, for example, document files.

[0024] The program interface request distribution system 200 comprises an intermediate server 100 and a total time stamping authority 210. The total time stamping authority 210 consists of four TSA (Time Stamping Authority) servers 1 to 4. Each TSA server 1 to 4 is a carrier server and corresponds to each time stamping authority.

[0025] The intermediate server 100 distributes the timestamp request from the client device 300 to one of the four TSA servers 1 to 4 that constitute the total time authentication authority 210, requesting certified timestamp processing. Specifically, the intermediate server 100 posts the timestamp request using the HTTP protocol to the certified timestamp processing endpoint of the TSA servers 1 to 4. Here, the certified timestamp processing endpoint of the TSA servers 1 to 4 is defined as the program interface.

[0026] In this embodiment, the client device 300 sends a timestamp request to the intermediate server 100 via a program interface. Specifically, the client device 300 posts a timestamp request using the HTTP protocol to the intermediate server 100's certified timestamp processing endpoint. This timestamp request includes the electronic data to which certified timestamp processing is to be performed, and instructions to perform certified timestamp processing on this electronic data.

[0027] The intermediate server 100 mediates (relays) communication from the client device 300 to the total time authentication authority 210, and is able to communicate with each TSA station server 1 to 4. The intermediate server 100 also holds the necessary authentication information for connecting to each TSA station server 1 to 4.

[0028] Each TSA station server 1-4 performs certified timestamp processing on the electronic data transmitted from the client device 300. In other words, each TSA station server 1-4 is a service provider server operated by a time authentication service provider. After each TSA station server 1-4 performs certified timestamp processing on the transmitted electronic data, it sends a response back to the client device 300. The client device 300 receives a response from one of the TSA station servers 1-4. This response contains the electronic data that has undergone certified timestamp processing.

[0029] Note that the total time authentication authority 210 in Figure 1 is composed of four TSA servers 1 to 4, but this is an example and not limiting. For example, the total time authentication authority 210 may be composed of two or more TSA servers 1, 2.

[0030] <Hardware configuration of the intermediate server> Figure 2A is a block diagram showing the hardware configuration of the intermediate server 100. As shown in Figure 2A, the intermediate server 100 is configured to include a CPU (Central Processing Unit) 101, ROM (Read Only Memory) 102, RAM (Random Access Memory) 103, storage unit 104, input unit 105, display unit 106, and communication unit 107.

[0031] The CPU 101 is a central processing unit that provides overall control over the intermediate server 100. For example, the CPU 101 reads system programs and processing programs (request distribution programs) stored in the ROM 102 and memory unit 104, expands them into the RAM 103, and executes the expanded programs. In this way, the CPU 101 embodies the functions necessary to execute each process of the intermediate server 100. Details of the functions of the intermediate server 100 will be explained using Figure 2B.

[0032] RAM103 is non-volatile memory. RAM103 functions as a work area that temporarily stores various programs, input or output data, and parameters that can be executed by the CPU101 in various processes controlled by the CPU101. The programs are stored in ROM102 or storage unit104.

[0033] The storage unit 104 is composed of, for example, an HDD (Hard Disk Drive) or semiconductor non-volatile memory. The storage unit 104 stores various programs that can be executed by the CPU 101.

[0034] The input unit 105 is comprised of a keyboard equipped with cursor keys, numeric input keys, and various function keys, as well as a pointing device such as a mouse. The input unit 105 outputs key press signals from the keyboard and operation signals from the mouse as input signals to the CPU 101. The CPU 101 performs various processes based on the operation signals from the input unit 105.

[0035] The display unit 106 is configured to include a display such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display). The display unit 106 displays various screens, including characters, graphics, and images, according to the instructions of the display signals input from the CPU 101.

[0036] The communication unit 107 is equipped with a predetermined communication interface and communicates with the client device 300 and TSA station servers 1-4 via, for example, the Internet or a P2P (Peer to Peer) network to send and receive data.

[0037] The input unit 105 and the display unit 106 can be configured arbitrarily; for example, they become unnecessary if the intermediate server 100 is configured as a cloud service.

[0038] <Intermediate Server Functionality Blocks> Figure 2B is a functional block diagram showing the functions of the intermediate server 100. As shown in Figure 2B, the intermediate server 100 consists of a Web (World Wide Web) application firewall 110, a Web application gateway 120, and a Web API (Application Programming Interface) processing unit 130.

[0039] Web Application Firewall 110 monitors communications to web applications, such as websites and online services, in real time to protect against malicious data exchange and attacks.

[0040] The Web Application Gateway 120 manages the load balancer that controls communication for web applications and performs application authentication.

[0041] The WebAPI processing unit 130 comprises a reception unit 1011 and an access unit 133.

[0042] The reception unit 1011 receives timestamp requests from the client device 300. A timestamp request is a request for a program interface. The reception unit 1011 is composed of an authentication unit 131 and a configuration information acquisition unit 132.

[0043] The authentication unit 131 receives login and password input from the client device 300 and performs authentication processing using the user's ID and password stored in the ID (IDentity) password database 141.

[0044] The configuration information acquisition unit 132 acquires configuration information associated with the user's ID from the configuration information database 142 (see Figure 3), which will be described later, for users who have passed the authentication process of the intermediate server 100 by the authentication unit 131.

[0045] The access unit 133 comprises an acquisition unit 1012, a distribution destination determination unit 1013, and a request transfer unit 1014. Furthermore, the access unit 133 comprises a queue management unit 1015, a queue 1016, and queue processing units 1017 to 1020.

[0046] The acquisition unit 1012 obtains the number of pending requests currently being processed by each of the four TSA station servers 1 to 4. The acquisition unit 1012 posts a request for the number of pending requests to a Web API endpoint that retrieves the number of pending requests from TSA station servers 1 to 4. The acquisition unit 1012 then receives a response from the TSA station servers 1 to 4 with the number of pending requests.

[0047] The distribution destination determination unit 1013 determines which of the four TSA servers 1 to 4 to distribute the timestamp request received by the reception unit 1011 to, based on the current number of pending timestamp processing requests at each of the four TSA servers 1 to 4. In this embodiment, for example, as shown in Figure 3, the distribution destination determination unit 1013 decides to distribute the request to TSA server 1 from among the four TSA servers 1 to 4.

[0048] Here, the acquisition unit 1012 may simply compare the number of pending requests for each TSA station server 1 to 4 and select the TSA station server 1 to 4 with the fewest pending requests. Alternatively, the acquisition unit 1012 may compare the number of pending requests for each TSA station server 1 to 4 divided by a request threshold defined for each TSA station server 1 to 4 and select the TSA station server 1 to 4 with the smallest value.

[0049] The request thresholds defined for each TSA station server 1-4 indicate the processing capacity of each TSA station server 1-4. By dividing the current number of pending requests by the processing capacity, the relative processing load of each TSA station server 1-4 can be calculated. By selecting the TSA station server 1-4 with the lowest relative processing load, processing can be optimally handled.

[0050] Here, the distribution destination determination unit 1013 can determine the TSA selection policy determined by the user and the TSA stations 1 to 4 to which the number of pending requests for certified timestamp processing at each TSA station server 1 to 4 is less than or equal to the request threshold specified for each TSA station server 1 to 4, as destinations for distributing the timestamp request.

[0051] Furthermore, the distribution destination determination unit 1013 may determine the carrier server among the TSA station servers 1 to 4 to which the number of pending requests for certified timestamp processing currently being processed is less than or equal to the request threshold specified for the TSA station servers 1 to 4, and which has the lowest usage-based fee for timestamp requests, as the destination for distributing the timestamp requests. Alternatively, the distribution destination determination unit 1013 may be fixed to one of the TSA station servers 1 to 4, which have relatively few restrictions on access frequency.

[0052] Furthermore, the distribution destination determination unit 1013 may be configured to distribute timestamp requests for electronic data destined for overseas. In this case, the four TSA servers 1 to 4 correspond to time authentication authorities for overseas destinations.

[0053] The request forwarding unit 1014 forwards the timestamp request received by the receiving unit 1011 to the TSA station servers 1 to 4, which have been allocated by the distribution destination determination unit 1013. In this embodiment, for example, as shown in Figure 2, the request forwarding unit 1014 forwards the timestamp request obtained from the client device 300 to the TSA station server 1.

[0054] The queue 1016 is a matrix for processing timestamp requests sent from the client device 300 to the intermediate server 100 in the requested order. A timestamp request may be stored in the queue 1016 as soon as it is sent from the client device 300 to the intermediate server 100.

[0055] The queue management unit 1015 places the timestamp requests sent from the client device 300 to the intermediate server 100 into a queue for processing in the order of the queue 1016. The distribution destination determination unit 1013 distributes the timestamp requests to one of the TSA station servers 1 to 4 in order from the earliest request in the time series in the queue 1016. The queue management unit 1015 then adds the distributed timestamp requests to the queue processing units 1017 to 1020 corresponding to each of the TSA station servers 1 to 4.

[0056] Each queue processing unit 1017-1020 is provided, corresponding to TSA station servers 1-4. For example, queue processing unit 1017 is a TSA queue that sends timestamp requests to TSA station server 1. Queue processing unit 1018 is a TSA queue that sends timestamp requests to TSA station server 2. Queue processing unit 1019 is a TSA queue that sends timestamp requests to TSA station server 3. Queue processing unit 1020 is a TSA queue that sends timestamp requests to TSA station server 4.

[0057] Each queue processing unit 1017-1020 retrieves the TSA queue that is waiting to be processed first, in order of priority, and sends a timestamp request to the corresponding TSA station server 1-4.

[0058] <Overview of Intermediate Server Operation> Figure 3 is an explanatory diagram showing the schematic operation of the intermediate server 100 according to this embodiment. As shown in Figure 3, the intermediate server 100 is configured to include a Web application firewall 110, a Web application gateway 120, a Web API processing unit 130, an ID password database 141, and a configuration information database 142.

[0059] Web Application Firewall 110 monitors communications to web applications, such as websites and online services, in real time to protect against malicious data exchange and attacks.

[0060] The Web Application Gateway 120 manages the load balancer that controls communication for web applications and performs application authentication.

[0061] The WebAPI processing unit 130 is configured to include an authentication unit 131, a configuration information acquisition unit 132, and an access unit 133. The authentication unit 131 receives login and password input from the client device 300 and performs authentication processing using the user's ID and password stored in the ID / password database 141.

[0062] The configuration information acquisition unit 132 retrieves configuration information associated with the user's ID from the configuration information database 142 for users who have passed the authentication process of the intermediate server 100 by the authentication unit 131. The configuration information database 142 stores the configuration information for each TSA station server 1 to 4 that the client device 300 can communicate with.

[0063] The access unit 133 determines one of the four TSA stations 1 to 4 to request certified timestamp processing from the intermediate server 100, based on the configuration information obtained from the configuration information database 142. Then, the access unit 133 connects the TSA stations 1 to 4, which were determined to be the destination for the certified timestamp processing request, to the TSA stations 1 to 4 via a Web API using a predetermined communication protocol, sending a timestamp request and the authentication information of the corresponding TSA station.

[0064] Here, a Web API is a type of API implemented using web technologies such as HTTP and HTTPS. Furthermore, an API is a mechanism that allows one program to use the functions or parts of the functions of another program.

[0065] <Multi-TSA station distribution processing (overall operation)> Next, the overall operation of the service provision system 400 according to this embodiment will be explained using a sequence diagram.

[0066] Figures 4A and 4B are sequence diagrams showing the processing flow from when the client device 300 sends a timestamp request until it receives a timestamp response.

[0067] First, the client device 300 sends a timestamp request and authentication information for the intermediate server 100 along with the electronic data (sequence SQ001). Then, the intermediate server 100 receives the timestamp request and authentication information along with the electronic data from the client device 300 (sequence SQ003).

[0068] The intermediate server 100 authenticates the client device 300 using the authentication information obtained from the client device 300 in the authentication unit 131 (sequence SQ005). The intermediate server 100 performs authentication using, for example, an ID and password. The intermediate server 100 then obtains information associated with the ID of the client device 300. The intermediate server 100 also obtains, for example, configuration information acquisition unit 132 to obtain configuration information for authenticating the client device 300 to each TSA station server 1 to 4.

[0069] The intermediate server 100, in the distribution destination determination unit 1013, selects which of the four TSA station servers 1 to 4 to distribute the traffic to, based on the acquired configuration information (sequence SQ007). Here, the intermediate server 100 reads the TSA selection policy from the configuration information database 142, checks the service provision policy table for TSA station servers 1 to 4, such as whether there are access constraints such as access interval time, whether there are instructions for metered charges, and whether there are fixed connections for TSA station servers 1 to 4, and selects the candidate TSA station servers 1 to 4 to distribute the traffic to. Here, for example, access constraints are set, and TSA station server 1 and TSA station server 2 are selected as distribution destinations. The intermediate server 100 stores the service provision policy table for TSA station servers 1 to 4.

[0070] One possible TSA selection policy is to have an access interval of 0.5 seconds, allow pay-per-use pricing, and not assign fixed TSA servers 1-4. Another possible TSA selection policy is to have an access interval of 5 seconds or less, limit pricing to fixed rates only, and not assign fixed TSA servers 1-4.

[0071] Alternatively, the intermediate server 100 may place the timestamp request in the queue 1016 and select a TSA queue according to the policy from the state of the TSA queues provided for each TSA station server 1 to 4. The TSA queues will be explained using Figure 7.

[0072] The intermediate server 100, in its distribution destination determination unit 1013, checks the number of pending requests as a load check for, for example, the queue processing unit 1017 for TSA station server 1 (sequence SQ009). The queue processing unit 1017 returns the number of pending requests as the processing load (sequence SQ011). The intermediate server 100, in its distribution destination determination unit 1013, obtains the number of pending requests from the queue processing unit 1017 as a load response (sequence SQ013). For example, suppose the intermediate server 100, in its distribution destination determination unit 1013, obtains a number of pending requests of 5 as the load for the queue processing unit 1017 for TSA station server 1.

[0073] Furthermore, the intermediate server 100, in its distribution destination determination unit 1013, checks the number of pending requests as a load check for, for example, the queue processing unit 1018 for TSA station server 2 (sequence SQ015). The queue processing unit 1018 returns the number of pending requests as the processing load (sequence SQ017). The intermediate server 100, in its distribution destination determination unit 1013, obtains the number of pending requests from the queue processing unit 1018 as a load response (sequence SQ019). For example, suppose the intermediate server 100, in its distribution destination determination unit 1013, obtains a number of pending requests of 3 as the load for the queue processing unit 1018 for TSA station server 2.

[0074] The intermediate server 100 determines, based on the number of pending requests for certified timestamp processing in the queue processing unit 1017 for TSA station server 1 and the queue processing unit 1018 for TSA station server 2, that the queue processing unit 1018 for TSA station server 2 has fewer pending requests than the queue processing unit 1017 for TSA station server 1, and therefore distributes the timestamp request to the queue processing unit 1018 for TSA station server 2 (sequence SQ021). As a result, the intermediate server 100 adds the timestamp request to the queue processing unit 1018 for TSA station server 2 (sequence SQ023).

[0075] The queue processing unit 1018 retrieves timestamp requests from the TSA queue in the order they were added, and sends the electronic data, timestamp requests, and authentication information of the TSA station server 2 to the TSA station server 2 (sequence SQ025).

[0076] TSA station server 2 receives electronic data, a timestamp request, and authentication information for TSA station server 2 from the queue processing unit 1018 of intermediate server 100 (sequence SQ027), authenticates, and then generates a timestamp (sequence SQ029). TSA station server 2 adds a timestamp to the received electronic data and sends a timestamp response to the queue processing unit 1018 (sequence SQ031).

[0077] When the queue processing unit 1018 receives a timestamp response from the TSA station server 2, it transmits the timestamp response to the client device 300 (sequence SQ033). The client device 300 receives the timestamp response, which has a timestamp added to the electronic data, from the TSA station server 2 (sequence SQ035).

[0078] When the queue processing unit 1018 receives a timestamp response from the TSA station server 2, it deletes the timestamp request and terminates processing (sequence SQ037).

[0079] <Distribution process for intermediate servers> [First Embodiment] Next, the distribution process of the intermediate server 100 according to the first embodiment will be explained using a flowchart.

[0080] Figure 5 is a flowchart showing the distribution process of the intermediate server 100 according to the first embodiment.

[0081] The reception unit 1011 of the intermediate server 100 receives an API request and receives electronic data, a timestamp request, and authentication information from the client device 300 (step S01). Next, the intermediate server 100 performs authentication processing on the client device 300 using the ID and password (step S03).

[0082] If the authentication process for client device 300 is successful (Yes in step S05), the process proceeds to step S07. On the other hand, if the authentication process for client device 300 fails (No in step S05), the process proceeds to step S09. In this case, the intermediate server 100 notifies client device 300 of the error (step S09) and terminates the process.

[0083] In step S07, the intermediate server 100 obtains various configuration information associated with the ID. The acquisition unit 1012 of the intermediate server 100 also obtains, for example, the number of pending requests currently performing certified timestamp processing from TSA station server 1 and TSA station server 2 as load information.

[0084] The distribution destination determination unit 1013 determines, for example, which of the four TSA servers 1 to 4 to distribute the timestamp request received by the reception unit 1011 to, based on the number of pending requests for certified timestamp processing currently being handled by each of the TSA servers 1 to 4 (step S11). Specifically, the distribution destination determination unit 1013 determines the TSA server with the fewest pending requests for certified timestamp processing as the destination for the timestamp request. For example, the distribution destination determination unit 1013 decides to distribute it to TSA server 2.

[0085] The request forwarding unit 1014 sends an API request to the TSA station server 2 (step S13). In this case, the request forwarding unit 1014 forwards the timestamp request received by the receiving unit 1011 to the TSA station server 2, which has been allocated by the distribution destination determination unit 1013, and also sends the electronic data and the authentication information of the TSA station server 2.

[0086] Subsequently, when the intermediate server 100 receives a timestamp response from the TSA station server 2 indicating that the certified timestamp processing has been generated on the electronic data (step S15), it sends the received timestamp response back to the client device 300 (step S17).

[0087] The intermediate server 100 saves the timestamp request and timestamp response, which are the results of the Web API transmission and reception, to a log (step S19). After saving the Web API transmission and reception results to the log, the intermediate server 100 terminates the process.

[0088] As described above, the intermediate server 100 according to the first embodiment is configured to include a reception unit 1011, an acquisition unit 1012, a distribution destination determination unit 1013, and a request forwarding unit 1014. The reception unit 1011 receives a timestamp request from the client device 300. The acquisition unit 1012 acquires the number of pending requests for certified timestamp processing that each of the four TSA station servers 1 to 4 is currently processing. The distribution destination determination unit 1013 determines which of the four TSA station servers 1 to 4 to distribute the timestamp request received by the reception unit 1011 to, based on the number of certified timestamp processing that each of the four TSA station servers 1 to 4 is currently processing. The request forwarding unit 1014 forwards the timestamp request received by the reception unit 1011 to the TSA station server 2 that has been allocated by the distribution destination determination unit 1013.

[0089] The intermediate server 100 according to the first embodiment can distribute timestamp requests based on the number of certified timestamp processing operations per unit of time that each TSA station server 1 to 4 is currently processing. Therefore, even if access restrictions are imposed on each TSA station server 1 to 4, it can access them at a communication frequency that exceeds the restrictions imposed on each TSA station server 1 to 4.

[0090] As a result, the intermediate server 100 according to the first embodiment can increase the total number of timestamp processing operations.

[0091] For example, suppose that the access constraint for two TSA stations, TSA station server 1 and TSA station server 2, is a timestamp processing frequency constraint of once per second. The program interface request distribution system 200, which has an intermediate server 100, can perform certified timestamp processing twice per second. Furthermore, since the program interface request distribution system 200 has four TSA station servers 1 to 4, if, for example, the timestamp processing frequency constraint for each TSA station server 1 to 4 is once per second, then it can perform certified timestamp processing four times per second.

[0092] Furthermore, the intermediate server 100 according to the first embodiment can maintain high redundancy because, if a TSA station server 1 to 4 is shut down or experiences a server failure due to maintenance, it can distribute traffic to other TSA station servers 1 to 4.

[0093] Furthermore, the client device 300 does not need to manage authentication information for each of the TSA stations 1 to 4 that perform certified timestamp processing. Since it can switch to any of the TSA stations 1 to 4 simply by successfully authenticating with the intermediate server 100, users can easily select the operator of the TSA stations 1 to 4.

[0094] As a result, the intermediate server 100 according to the first embodiment can provide certified timestamp processing services to users in a suitable manner, without being bound by the service provision status of certified timestamp processing service providers, thereby improving user convenience.

[0095] Furthermore, the distribution destination determination unit 1013 of the intermediate server 100 may, for example, determine the TSA station servers 1 to 4 to which the number of pending requests for certified timestamp processing currently being processed is less than or equal to the request threshold specified for each TSA station server 1 to 4, as the destination for distributing the timestamp request.

[0096] Furthermore, the distribution destination determination unit 1013 of the intermediate server 100 may, for example, determine the carrier server among the TSA station servers 1 to 4 to which the number of pending requests for certified timestamp processing currently being processed is less than or equal to the request threshold specified for the TSA station servers 1 to 4, and which has the lowest usage-based fee for timestamp requests, as the destination for distributing the timestamp requests.

[0097] Furthermore, the distribution destination determination unit 1013 of the intermediate server 100 may monitor the load of each TSA station server 1 to 4 and dynamically determine the distribution destination. For example, the distribution destination determination unit 1013 may use the response speed from each TSA station server 1 to 4 as the load to distribute timestamp requests.

[0098] [Second Embodiment] Next, we will describe the intermediate server 100 according to the second embodiment. The intermediate server 100 according to the second embodiment is further configured to include a queue management unit 1015 that places timestamp requests from client devices 300 into a queue 1016.

[0099] In this case, the distribution destination determination unit 1013 of the intermediate server 100 retrieves the timestamp request from the queue 1016 and, based on the number of pending certified timestamp processing requests currently being handled by each of the TSA station servers 1 to 4, determines which of the TSA station servers 1 to 4 to distribute the timestamp request retrieved from the queue 1016 to.

[0100] Next, the distribution process of the intermediate server 100 according to the second embodiment will be explained using a flowchart.

[0101] Figure 6 is a flowchart showing the distribution process of the intermediate server 100 according to the second embodiment.

[0102] The reception unit 1011 of the intermediate server 100 receives an API request and receives electronic data, a timestamp request, and authentication information for the intermediate server 100 from the client device 300 (step S101). Next, the intermediate server 100 performs authentication processing on the client device 300 using the ID and password (step S103).

[0103] If the authentication process for client device 300 is successful (Yes in step S105), the process proceeds to step S107. On the other hand, if the authentication process for client device 300 fails (No in step S105), the process proceeds to step S109. In this case, the intermediate server 100 notifies client device 300 of the error (step S109) and terminates the process.

[0104] In step S107, the intermediate server 100 obtains various configuration information associated with the ID. Also, the queue management unit 1015 of the intermediate server 100 places the timestamp request obtained from the client device 300 into the queue 1016 (step S109).

[0105] The distribution destination determination unit 1013 selects TSA servers 1 to 4 based on the status of the TSA queue provided for each TSA server 1 to 4 and the user's TSA selection policy (step S111). In this case, the distribution destination determination unit 1013 retrieves the timestamp request from the queue 1016 and determines which of TSA servers 1 to 4 to distribute the timestamp request retrieved from the queue 1016 to, based on the number of pending requests for certified timestamp processing currently being handled by each of the TSA servers 1 to 4.

[0106] The distribution destination determination unit 1013 determines whether or not it is possible to add a timestamp request to the TSA queue of the selected (determined) TSA station servers 1 to 4 (step S113).

[0107] If a timestamp request is to be added (Yes in step S113), the distribution destination determination unit 1013 adds the timestamp request to the queue processing units 1017-1020, etc., of the selected TSA station servers 1-4 (step S115). Then, it executes the TSA queue.

[0108] If it is not possible to add a timestamp request (No. in step S113), the distribution destination determination unit 1013 notifies the client device 300 of an error indicating that there are too many timestamp requests at once (step S117). Then, it terminates the process.

[0109] <TSAキュー> Next, we will explain the TSA queue processing performed by the queue processing units 1017-1020 and others using a flowchart.

[0110] Figure 7 is a flowchart showing the TSA queue processing performed by queue processing units 1017-1020. Figure 7 specifically describes the case where queue processing unit 1018 sends a timestamp request to the TSA station server 2.

[0111] The queue processing unit 1018 determines whether or not there is a timestamp request (step S201). If there is no timestamp request (No in step S201), the queue processing unit 1018 waits until a timestamp request is added.

[0112] If there is a timestamp request (Yes in step S201), the queue processing unit 1018 retrieves the oldest pending timestamp request and sends it to the TSA station server 2 (step S203).

[0113] The queue processing unit 1018 transmits a timestamp request and electronic data, along with the authentication information of the TSA station server 2, from the intermediate server 100 to the TSA station server 2 (step S205).

[0114] Subsequently, the queue processing unit 1018 receives a timestamp response from the TSA station server 2, in which a timestamp has been generated on the electronic data, and sends it back to the client device 300 (step S207).

[0115] The queue processing unit 1018 deletes the processed timestamp request that was sent to the TSA station server 2 (step S209).

[0116] The queue processing unit 1018 waits for the interval time required to access the TSA station server 2 (step S211). Then, the queue processing unit 1018 returns to step S201 and waits for a timestamp request.

[0117] The access interval time is the time interval specified for each TSA station server. When an external device executes a timestamp request to a TSA station server, the TSA station server operator requests that the device wait for the access interval time before executing the next timestamp request.

[0118] As described above, the intermediate server 100 according to the second embodiment is further configured to include a queue management unit 1015 that places timestamp responses from the client device 300 into the queue 1016. The distribution destination determination unit 1013 of the intermediate server 100 retrieves a timestamp request from the queue 1016 and, based on the number of pending timestamp processing requests currently being processed by each of the TSA station servers 1 to 4, determines which of the TSA station servers 1 to 4 to distribute the timestamp request retrieved from the queue 1016 to.

[0119] In the second embodiment, for example, if the load on TSA station servers 1 to 4 prevents immediate execution of certified timestamp processing, timestamp requests can be accumulated in a queue 1016. This allows the intermediate server 100 to temporarily bypass access restrictions on TSA station servers 1 to 4, retrieve timestamp requests later, and have the queue processing units 1017 to 1020 execute certified timestamp processing.

[0120] Furthermore, the intermediate server 100 can reflect, based on the TSA selection policy, whether or not there are access restrictions, whether or not there are instructions for metered charges, and whether or not there are fixed connections for each TSA station server 1 to 4. In addition, it may be configured to assign priorities to the queue processing units 1017 to 1020 corresponding to TSA station servers 1 to 4. [Explanation of symbols]

[0121] 1-4 TSA Station Servers 100 intermediate servers 110 Web Application Firewall 120 Web Application Gateway 130 WebAPI Processing Unit 141 ID Password Database 142 Configuration Information Database 1011 Reception Department 1012 Acquisition Department 1013 Allocation Determination Department 1014 Request Transfer Unit 1015 Queue Management Department 1016 queue 1017-1020 Queue Processing Unit 200 Program Interface Request Distribution System 210 Total Time Certification Authority 300 client devices 400 Service Delivery Systems

Claims

1. A program interface request distribution system that receives program interface requests from external devices and distributes the program interface requests to one of several service provider servers, A receiving unit that receives requests for the program interface from an external device, An acquisition unit that acquires the number of pending requests for the program interface that each of the multiple service provider servers is currently processing, Based on the number of pending requests for the program interface currently being processed by each of the multiple service provider servers, the distribution destination determination unit determines which of the multiple service provider servers to distribute the program interface request received by the reception unit to. A request transfer unit transfers the program interface request received by the reception unit to the carrier server to which the distribution destination determination unit has assigned, A program interface request distribution system equipped with the following features.

2. The aforementioned distribution destination determination unit, Of the multiple service provider servers mentioned above, the service provider server whose number of pending requests for the program interface currently being processed is less than or equal to a request threshold specified for that service provider server is determined as the destination to which the program interface requests will be distributed. The program interface request distribution system according to claim 1.

3. The aforementioned distribution destination determination unit, Of the multiple carrier servers mentioned above, the carrier server to which the program interface requests are distributed is determined to be the one whose current number of pending requests for the program interface is less than or equal to the request threshold specified for that carrier server, and which also has the lowest usage-based fee for the program interface requests. The program interface request distribution system according to claim 1.

4. The system further includes a queue management unit that places requests for the program interface from the external device into a queue, The aforementioned distribution destination determination unit, The system retrieves the program interface request from the queue and determines which of the multiple service provider servers to distribute the retrieved program interface request to, based on the number of pending program interface requests currently being processed by each of the multiple service provider servers. The program interface request distribution system according to claim 1.

5. The request of the aforementioned program interface is a request to generate an accredited timestamp issued by a time authentication service provider. The program interface request distribution system according to claim 1.

6. A distribution method for a program interface request distribution system that receives a program interface request from an external device and distributes the program interface request to one of several service provider servers, The receiving unit receives a request for the program interface from an external device, The acquisition unit includes the step of acquiring the number of pending requests for the program interface that each of the multiple service provider servers is currently processing, The distribution destination determination unit determines, based on the number of pending requests for the program interface currently being processed by each of the multiple carrier servers, which of the multiple carrier servers the reception unit will distribute the program interface request received by the reception unit to. The request forwarding unit forwards the program interface request received by the receiving unit to the carrier server that has been allocated by the distribution destination determination unit. A distribution method for a program interface request distribution system comprising the following:

7. A reception unit that receives program interface requests from external devices, An acquisition unit that acquires the number of requests per hour for the program interface currently being processed by each of the multiple service provider servers, Based on the number of pending requests for the program interface currently being processed by each of the multiple service provider servers, the distribution destination determination unit determines which of the multiple service provider servers to distribute the program interface request received by the reception unit to. A request transfer unit transfers the program interface request received by the reception unit to the carrier server to which the distribution destination determination unit has assigned, An intermediate server equipped with the following features.

8. The reception unit receives a request for a program interface from an external device, The acquisition unit includes the step of acquiring the number of pending requests for the program interface that each of the multiple service provider servers is currently processing, The distribution destination determination unit determines, based on the number of pending requests for the program interface currently being processed by each of the multiple carrier servers, which of the multiple carrier servers the reception unit will distribute the program interface request received by the reception unit to. The request forwarding unit forwards the program interface request received by the receiving unit to the carrier server that has been allocated by the distribution destination determination unit. A request distribution method for an intermediate server, comprising the following features.

9. The computers that make up the intermediate server, Procedure for accepting program interface requests from external devices. A procedure for obtaining the number of pending requests for the program interface that each of the multiple service provider servers is currently processing, A procedure for determining which of the multiple service provider servers to distribute a received request for the program interface to, based on the number of pending requests for the program interface currently being processed by each of the multiple service provider servers. A procedure for forwarding the received program interface request to the assigned carrier server, A request distribution program to execute the following.

Citation Information

Patent Citations

  • Service providing system utilizing computer network

    JP1999265344A