Information processing device

JP2025033425A5Pending Publication Date: 2026-04-08JVC KENWOOD CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-29
Publication Date
2026-04-08

AI Technical Summary

Benefits of technology

【0008】 本発明によれば、リクエストに対する処理の結果をレスポンスとして送信する情報処理装置において、複数のリクエストに対する処理を効率的に実行できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a technique for efficiently executing processing for a plurality of requests.SOLUTION: A request reception unit 1801 receives, from an external device, a read request to request a response that is a processing result to a command request. A response transmission unit 1803 transmits, when the request reception unit 1801 receives the read request, a response that is read from a response area corresponding to identification information included in the read request. An area management unit 1806 maintains, when the response is read from the response area assigned to the command request, the response area in a state where the response can be read until a predetermined period of time has passed after the response is read.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing technique, and more particularly to an information processing device that transmits a result of processing in response to a request as a response. [Background technology]

[0002] ISO / IEC14443-4, one of the communication standards for NFC (Near Field Communication) readers and NFC tags, specifies the protocol until an NFC reader detects an NFC tag. In addition, the communication formats specified in the file communication standards ISO / IEC7816-3 and ISO / IEC7816-4 are mainly used for file selection and file reading and writing after an NFC tag is detected. In ISO / IEC7816-3 and ISO / IEC7816-4, files are accessed mainly using three commands: a command to select a file, a command to read data from the selected file, and a command to write data to the selected file. The main purpose is to write data to a file with the write command and to read the data written to the file. When you want to read data written to a file, you read the data from the file to which it was written. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] ISO / IEC14443-4 [Non-Patent Document 2] ISO / IEC7816-3 [Non-Patent Document 3] ISO / IEC7816-4 Summary of the Invention [Problem to be solved by the invention]

[0004] ISO / IEC7816-4 does not assume usage such as reading data from a file other than the file it was written in. However, in order to efficiently execute processing for multiple requests, it is required to read data from a file other than the file it was written in.

[0005] The present invention has been made in consideration of the above circumstances, and has as its object to provide a technique for efficiently executing processing for multiple requests in an information processing device that transmits the results of processing for each request as a response. [Means for solving the problem]

[0006] In order to solve the above problems, an information processing device of one aspect of the present invention includes a request receiving unit that receives a command request, which is a processing request, from an external device; an area management unit that, when the request receiving unit receives a command request, allocates, for each received command request, one of a plurality of response areas formed by dividing a recording area and for storing responses to the command request; a request processing unit that generates an acknowledgement including identification information of the response area allocated by the area management unit in response to the command request received by the request receiving unit; a response sending unit that transmits the acknowledgement generated in the request processing unit; and a command processing unit that processes commands included in the command request received by the request receiving unit. The request processing unit further generates a response based on the processing result of the command processing unit when the command processing unit processes a command and stores the generated response in the response area allocated by the area management unit, and the request receiving unit receives a read request from the external device requesting a response which is the processing result for the command request, and the response sending unit further sends a response read from the response area corresponding to the identification information included in the read request when the request receiving unit receives a read request, and when a response is read from the response area allocated to the command request, the area management unit maintains the response area in a state in which the response can be read until a certain period of time has elapsed since the response was read.

[0007] Any combination of the above components, and any transformation of the present invention into a method, device, system, recording medium, computer program, etc., are also effective as aspects of the present invention. Effect of the Invention

[0008] According to the present invention, in an information processing device that transmits a result of processing in response to a request as a response, processing in response to a plurality of requests can be efficiently executed. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a communication system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram showing the configuration of the CE device in FIG. [Diagram 3] FIG. 3 is a diagram showing a data structure of a recording area in FIG. 2. [Figure 4] 2 is a sequence diagram showing a communication procedure in the communication system of FIG. 1. [Diagram 5] 3 is a diagram showing the structure of a request header received by the CE device of FIG. 2. [Figure 6] 3 is a diagram showing a configuration of command request data received by the CE device of FIG. 2. [Figure 7] FIG. 7 is a diagram showing the configuration of a flag in FIG. 6. [Figure 8] 3 is a diagram showing the configuration of an acknowledgement transmitted from the CE device of FIG. 2. [Figure 9] 3 is a diagram showing response area information managed in an area management unit in FIG. 2. [Figure 10] 3 is a state transition diagram of a response area managed in the area management unit of FIG. 2. [Figure 11] 3 is a diagram showing a configuration of timeout information generated in a timer management unit in FIG. 2; [Figure 12] 3 is a flowchart showing a procedure for allocating a response area by an area management unit in FIG. 2; [Figure 13] 3 is a diagram showing response information contained in a response area managed in the management area section of FIG. 2. [Figure 14] 3 is a diagram showing a configuration of read request data received by the CE device of FIG. 2. [Figure 15] 3 is a diagram showing the structure of a response transmitted from the CE device in FIG. 2. [Figure 16] 3 is a flowchart showing a procedure for receiving a command request by the CE device of FIG. 2. [Figure 17]3 is a flowchart showing a procedure for receiving a read request by the CE device of FIG. 2. [Figure 18] 2 is a sequence diagram showing the procedure for creating, updating, and modifying a timer in the communication system of FIG. 1. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Before describing this embodiment in detail, an overview will be given first. This embodiment relates to a communication system including an NFC reader device and a CE device. The CE device is, for example, a recording device such as an NFC tag. The CE device only provides the information it holds in response to a read request from the NFC reader device, and provides a function to rewrite the information it holds in response to a write request. Therefore, the NFC reader device corresponds to a master device, and the CE device corresponds to a slave device. When used as a slave device, it is necessary to return a response to a request sent from the master device. In response to a request from the master device, the slave device returns an acknowledgement indicating that the request has been accepted. The response, which is the result of processing the request, is acquired by polling the response area assigned to the master device until a response indicating that processing of the request has been completed can be acquired. The CE device is also called an information processing device.

[0011] In such a communication system, as described above, it is required to efficiently execute processing for a plurality of requests. In this embodiment, in order to process a plurality of requests simultaneously, a response area obtained by dividing a recording area into a plurality of parts is assigned to each request. The assignment of a response area is released when data is read from the response area. Since the recording area is limited, an expiration date is set for the assignment of the response area in order to reuse the assigned response area. Furthermore, assuming a case in which the master device fails to receive a response, data can be read from the deallocated response area before the expiration date of the deallocated response area expires or until the area is reallocated as a response area for a new request. The deallocated response area can be reallocated as a response area for a new request even if the expiration date has not expired.

[0012] 1 shows the configuration of a communication system 100. In the communication system 100, a CE device 104 and an NFC reader device 105 communicate with each other via a communication medium 103. As described above, the NFC reader device 105 is a master device, and the CE device 104 is a slave device that records information such as an NFC tag. For example, the CE device 104 operates in a card emulation mode that emulates an NFC tag. An example of the communication medium 103 is near field communication (NFC) using a frequency of 13.56 MHz. The communication medium 103 may be wired communication.

[0013] NFC is used as a communication means for, for example, electronic money for transportation, and payment data and the like are communicated by touching CE device 104 to NFC reader device 105. NFC is primarily used for short-term communication to exchange small amounts of data, but the NFC standard does not place a limit on communication time. When CE device 104 comes within the detection range of NFC reader device 105, the NFC reader establishes a connection with CE device 104, enabling communication between CE device 104 and NFC reader device 105. The connection between CE device 104 and NFC reader device 105 is disconnected in the following two cases: (1) The NFC reader device 105 disconnects the connection with the CE device 104. (2) The CE device 104 moves out of range of the NFC reader device 105. In this embodiment, an object is to improve the efficiency of communication when communication between the CE device 104 and the NFC reader device 105 continues for a long period of time.

[0014] 2 shows the configuration of CE device 104. CE device 104 includes a request receiving unit 1801, a request processing unit 1802, a response transmitting unit 1803, a command processing unit 1804, a timer management unit 1805, an area management unit 1806, and a recording area 1600. Request receiving unit 1801 receives a request transmitted from NFC reader device 105 (FIG. 1), and outputs the request to request processing unit 1802. Request processing unit 1802 processes the request received from request receiving unit 1801.

[0015] The response sending unit 1803 receives a response to a request from the request processing unit 1802, and transmits the response to the NFC reader device 105. The response also includes an acknowledgement. The command processing unit 1804 processes a command sent in the command data. The timer management unit 1805 creates timeout information, updates the timer, modifies the timeout time, manages the timer list TL1, and performs timer processing. The area management unit 1806 manages a list including response area information regarding the response area included in the recording area 1600, and provides functions related to the response area information.

[0016] The recording area 1600 records responses and the like that are the results of command processing. FIG. 3 shows the data structure of the recording area 1600. The recording area 1600 is divided into a plurality of areas, and an area ID is assigned to each area. The recording area 1600 includes, as an example, five areas: a command receiving area 1611 to which an area ID 1601 is assigned, a response area 1612 to which an area ID 1602 is assigned, a response area 1613 to which an area ID 1603 is assigned, a response area 1614 to which an area ID 1604 is assigned, and a data area 1615 to which an area ID 1605 is assigned. The command receiving area 1611 is an area for receiving a command request transmitted from the NFC reader device 105. The response area 1612 to the response area 1614 are areas for saving responses that are the results of executing the command request. The data area 1615 is an area for saving data, and is illustrated to show that it can coexist with an area necessary for communication. Each area ID does not need to be stored in the recording area 1600 , and may be managed separately from the recording area 1600 in the CE device 104 .

[0017] The following describes the processing of the communication system 100 in FIG. 1 and the CE device 104 in FIG. 2, with reference to FIG. 4 as well. FIG. 4 is a sequence diagram showing a communication procedure by the communication system 100. The NFC reader device 105 transmits a command request (S601) and requests the CE device 104 to process a command. The request receiving unit 1801 of the CE device 104 receives the command request, which is a processing request, from the NFC reader device 105, which is an external device. The command request includes a request header 1400 and command request data 200. FIG. 5 shows the configuration of the request header 1400 received by the CE device 104. The request header 1400 includes an access type 1401, an offset 1402, a data length 1403, and an area ID 1404. The access type 1401 is used for writing as a command request and for reading as a read request. The offset 1402 specifies an offset from the beginning of the area in which data is written and read. A data length 1403 specifies the length of the request data to be added to the request header 1400. An area ID 1404 specifies the area ID to be read or written. The request header 1400 may use CLA and INS defined in ISO7816-3 as the access type 1401, P1 and P2 as the offset 1402, and Lc as the data length 1403. Return to FIG. 4.

[0018] For a command request, the access type 1401 in the request header 1400 specifies writing, the area ID 1404 specifies the area ID 1601 (command receiving area), and the data length 1403 specifies the length of the data to be added. Also, the offset 1402 specifies the offset from the beginning of the area ID 1601 to which the data is to be written.

[0019] 6 shows the structure of command request data 200 received by CE device 104. Command request data 200 includes a flag 201, a sequence number 202, an area ID 203, and command data 204. If it is not possible to transmit all of the command data in one communication, the command data is divided into multiple command requests and transmitted.

[0020] 7 shows the configuration of the flag 201. The flag 201 includes an S bit 1701, an E bit 1702, and a Reserved bit 1703. When the S bit 1701 is set, it indicates that the command request data 200 includes the first command data 204, and when the E bit 1702 is set, it indicates that the command request data 200 includes the last command data 204. The Reserved bit 1703 is a reserved bit for the future. When all command data is included in one command request, the S bit 1701 and the E bit 1702 are set. When neither the S bit 1701 nor the E bit 1702 is set, it indicates that the command request includes intermediate command data. Return to FIG. 6.

[0021] The sequence number 202 is a number for identifying the command data. When one command data is sent in multiple command requests, the same value is used for the sequence number 202. The area ID 203 specifies the area ID of the response area allocated to store the response to the command data. In the command request data 200 including the first command data, an area ID indicating an invalid area is set. For example, 0 is used as the area ID indicating an invalid area.

[0022] The request processing unit 1802 checks that the combination of sequence number 202 and area ID 203 contained in the second and subsequent command request data 200 that are divided and transmitted matches the combination in the assigned response area. The command data 204 is data that includes the contents of the command to be processed by the CE device 104. The contents of the command data 204 can be determined using known technology, so a description thereof will be omitted here. Return to FIG. 4.

[0023] Request processing unit 1802 generates an acknowledgement for the command request received by request receiving unit 1801. Response transmitting unit 1803 of CE device 104, which has processed the command request, transmits the acknowledgement generated by request processing unit 1802 to NFC reader device 105 (S602). FIG. 8 shows the structure of an acknowledgement transmitted from CE device 104. The acknowledgement is composed of area ID 301 and status 302. Area ID 301 is the area ID of a response area allocated for returning a response to command data 204. The area ID of the response area is identification information for the response area, and the response area is allocated by area management unit 1806. Status 302 indicates the result of processing the command request. Status 302 has a value indicating success if the command request reception process was successful, and a value indicating the cause of failure if the process failed. Return to FIG. 4.

[0024] Here, the allocation of the response area by the area management unit 1806 will be described. When the request receiving unit 1801 receives a command request, the area management unit 1806 allocates, for each received command request, one of a plurality of response areas that are a plurality of response areas obtained by dividing the recording area 1600 and are for storing responses to the command request. At this time, the area management unit 1806 classifies and manages each of the plurality of response areas into one of the states of an allocatable state, an allocated state, and a deallocated state. A response area in an allocatable state corresponds to an allocatable state that is an area that can be allocated to a new command request. A response area in an allocated state corresponds to an allocated area that has been allocated to a command request. A response area in a deallocated state corresponds to a deallocated area where a certain period of time has not yet elapsed since a response was read from the allocated area. Furthermore, the area management unit 1806 has an allocatable list L1, an allocated list L2, and a deallocated list L3, and includes information indicating the state of each response area (hereinafter referred to as "response area information 700") in one of the lists.

[0025] FIG. 9 shows response area information 700 managed by the area management unit 1806. The response area information 700 is information related to the response area. The response area information 700 includes an area ID 701, a sequence number 702, a timer ID 703, and an area allocation state 704. The area ID 701 is an area ID of the response area allocated by the area management unit 1806. For example, the area ID 701 is set to one of the values ​​from the area ID 1602 to the area ID 1604. The allocation of the response area by the area management unit 1806 will be described later. The sequence number 702 is set to the sequence number 202 of the command request data 200 transmitted in the command request. The timer ID 703 is set to the timer ID 801 of the timeout information 800 described later. The area allocation state 704 is set to one of three states: allocatable S1, allocated S2, and unallocated S3. The initial state is set to the allocatable S1 state.

[0026] When the area allocation status 704 is set to allocatable S1, the area management unit 1806 includes the response area information 700 in the allocatable list L1. When the area allocation status 704 is set to allocated S2, the area management unit 1806 includes the response area information 700 in the allocated list L2. When the area allocation status 704 is set to deallocated S3, the area management unit 1806 includes the response area information 700 in the deallocation list L3. Each list operates as a FIFO (First In First Out).

[0027] 10 is a state transition diagram of the response area managed by the area management unit 1806. This can also be said to be a state transition diagram showing the transitions between the states of allocatable S1, allocated S2, and deallocated S3. When allocatable S1, the state is allocatable 901, when allocated S2, the state is allocated 902, and when deallocated S3, the state is deallocated 903.

[0028] In the allocatable 901 state, when an allocation 910 event occurs indicating that an area for saving a response to the command data 204 has been allocated, the state transitions to allocated 902. That is, when the area management unit 1806 acquires a new command request, if an allocatable area exists, the area management unit 1806 allocates the allocatable area to the acquired command request. When the allocation 910 event occurs, the timer management unit 1805 creates timeout information 800. The timeout information 800 is managed by a timer list TL1. FIG. 11 shows the configuration of the timeout information 800 generated by the timer management unit 1805. The timeout information 800 includes a timer ID 801 and a timeout time 802. The timer ID 801 is a value assigned to uniquely identify the timeout information 800. The timeout time 802 is a timeout time for waiting for completion of processing of the command sent in the command data 204. The timeout time when the allocation 910 event occurs is set to T1.

[0029] A timeout 914 occurs when, in the allocated 902 state, processing of the command specified in the command data 204 is not completed before the timeout time 802 has elapsed, and when a read request is not received from the NFC reader device 105. In other words, if no response is read within a first predetermined time (T1) after the area management unit 1806 has shifted the allocatable area to the allocated area in response to a command request, it shifts the allocated area to the allocatable area.

[0030] When the last part of the response is read in the allocated 902 state, a read complete 912 event occurs, and the state transitions to the deallocated 903 state. When the read complete 912 event occurs, the time required for retrying when the NFC reader device 105 fails to receive a response to a read request for reading the last part of the response is set as T2 in the timeout period 802, and the timer elapsed time is reset. T2 can be set to a time shorter than T1. In other words, when a response is read from the response area allocated to a command request, the area management unit 1806 maintains the response in a state in which it is possible to read the response until the second predetermined period (T2) has elapsed since the response was read. The response area maintained in a state in which it is possible to read the response is the deallocated area. In this way, the area management unit 1806 maintains the response in a state in which it is possible to read the response from the deallocated area.

[0031] When the timeout period 802 set to T2 has elapsed, a timeout 913 event occurs and the state transitions to allocatable 901. In other words, the area management unit 1806 transitions the deallocated area to an allocatable area after the second predetermined period (T2) has elapsed since the response was read from the deallocated area.

[0032] When the allocatable list L1 does not contain response area information 700 and it becomes necessary to allocate a response area, the response area information 700 contained in the deallocation list L3 is allocated and an event of allocation 911 occurs. When the event of allocation 911 occurs in the deallocation 903 state, the state transitions to allocated 902. When the event of allocation 911 occurs, the timeout information 800 is created in the same way as when the event of allocation 910 occurs. In other words, when the area management unit 1806 receives a new command request and there is no allocatable area, it allocates a deallocation area to the received command request.

[0033] 12 is a flowchart showing a procedure for allocating a response area by the area management unit 1806. The area management unit 1806 judges whether a response area can be allocated from the allocatable list L1 (S1001). If it can be allocated (Y in S1001), the area management unit 1806 sets the area allocation status 704 of the allocated response area to allocated S2, deletes the response area information from the allocatable list L1, and inserts it into the allocated list L2 (S1003). If it cannot be allocated (N in S1001), the area management unit 1806 judges whether a response area can be allocated from the deallocation list L3 (S1002). If it can be allocated (Y in S1002), the area management unit 1806 sets the area allocation status 704 of the allocated response area to allocated S2, deletes the response area information from the deallocation list L3, and inserts it into the allocated list L2 (S1004). If it cannot be allocated (N in S1002), the process is terminated.

[0034] 2 processes the command included in the command request received by the request receiving unit 1801. A known technique may be used for processing the command, and therefore a description thereof will be omitted here. The request processing unit 1802 stores a response generated based on the result of command processing by the command processing unit 1804 in a response area allocated by the area management unit 1806. Each response area includes response information 1500.

[0035] FIG. 13 shows response information 1500 included in the response area managed by the area management unit 1806. The response information 1500 includes a command processing status 1501, a command processing result 1502, a sequence number 1503, a data length 1504, and data 1505. In the command processing status 1501, one of the following is set: "Command Receiving" C1 indicating that command data 204 transmitted in a plurality of command requests is being received; "Command Processing" C2 indicating that a command received in the command data 204 is being processed; or "Command Processing Completed" C3 indicating that command processing has been completed. The command processing result 1502 has a valid value only when the command processing status 1501 is "Command Processing Completed" C3, and is a value indicating that command processing was successful or a value indicating the reason for failure. The sequence number 1503 is set to the sequence number 202 of the command request data 200 received in the command request. The data length 1504 and the data 1505 may not be present when the command processing status 1501 is other than "Command Processing Completed" C3. Data length 1504 indicates the length of data 1505. If command processing result 1502 is a value indicating success, data 1505 indicates the response content of the command processing, and if it is a value indicating failure, data 1505 may not exist or may indicate a detailed reason for failure. Return to FIG. 4.

[0036] The NFC reader device 105 transmits a read request to the CE device 104 to obtain the processing result of the command transmitted in the command request (S603). The request receiving unit 1801 of the CE device 104 receives a read request from the NFC reader device 105, which is an external device, requesting a response which is the processing result for the command request. The read request has a request header 1400 in which the access type 1401 specifies reading, the area ID 1404 specifies the area ID 301 returned in the acknowledgement, and the data length 1403 specifies the length of the data to be added. The offset 1402 specifies the offset for reading the data in the response area specified by the area ID 1404.

[0037] Read request data 400 is added to the read request. Fig. 14 shows the structure of read request data 400 received by CE device 104. Read request data 400 includes sequence number 401, which is set to sequence number 202 included in command request data 200 sent in the command request, and data length 402, which is the length of the data to be read. Return to Fig. 4.

[0038] When the request receiving unit 1801 receives a read request, the response transmitting unit 1803 transmits a response read from a response area corresponding to the area ID (identification information) included in the read request to the NFC reader device 105 (S604). FIG. 15 shows the structure of a response transmitted from the CE device 104. The response includes response data 501 and status 502. The response data 501 includes the above-mentioned response information 1500. The status 502 sets the processing result for the read request. If the processing of the read request is successful, the status 502 has a value indicating success, and if it fails, a value indicating the reason for failure. The response data 501 may not exist if the area ID 1404 specified in the read request is already in an allocatable state and cannot be read, or if the sequence number 401 does not match the sequence number 1503 of the response information 1500.

[0039] This configuration can be realized in hardware terms by the CPU, memory, and other LSIs of any computer, and in software terms by programs loaded into memory, but here we depict functional blocks realized by the cooperation of these. Therefore, it will be understood by those skilled in the art that these functional blocks can be realized in various forms by hardware alone, software alone, or a combination of both.

[0040] The operation of communication system 100 with the above configuration will be described. Fig. 16 is a flow chart showing the procedure for receiving a command request by CE device 104. Request receiving unit 1801 receives a command request (S1201). Request receiving unit 1801 outputs the received command request to request processing unit 1802. Request processing unit 1802 determines whether the request is a new request by determining whether S bit 1701 is set (S1202). If S bit 1701 is set (Y in S1202), request processing unit 1802 requests area management unit 1806 to allocate a response area (S1203).

[0041] The request processing unit 1802 determines whether the allocation of the response area was successful (S1205). If the allocation was successful (Y in S1205), the request processing unit 1802 requests the timer management unit 1805 to create timeout information and start the timer (S1208). A value that can uniquely identify the timeout information 800 is set as the timer ID 801, and timeout information 800 is created in which T1 is set as the timeout time 802. There may be multiple types of T1 depending on the type of command included in the command data.

[0042] The request processing unit 1802 adds command data 204 to the position of offset 1402 in the command buffer held internally as command request processing (S1210). The length of the command data 204 to be added is the value obtained by subtracting the lengths of the flag 201, sequence number 202, and area ID 203 from the data length 1403. If the E bit 1702 is set in the flag 201 of the command request data 200, the request processing unit 1802 requests the command processing unit 1804 to issue a command.

[0043] The request processing unit 1802 sets the assigned area ID in the area ID 301, and creates an acknowledgement in which a value indicating success is set in the status 302 (S1211). The request processing unit 1802 outputs the created acknowledgement to the response transmitting unit 1803, and the response transmitting unit 1803 transmits the acknowledgement to the NFC reader device 105 (S1212).

[0044] If the allocation fails (N in S1205), the request processing unit 1802 creates an acknowledgement (error acknowledgement) in which a value indicating an error is set in the status 302 (S1209). "0", which indicates invalidity, is set in the area ID 301. After this, the process proceeds to step S1212.

[0045] If the S bit 1701 is not set (N in S1202), the request processing unit 1802 inquires of the area management unit 1806 whether a response area matching the combination of the sequence number 202 and area ID 203 of the command request data 200 included in the command request is included in the allocated list L2 (S1204).

[0046] If it is included in the assigned list L2 (Y in S1204), the request processing unit 1802 causes the timer management unit 1805 to update the timeout timer (S1206). That is, the request processing unit 1802 requests the timer management unit 1805 to reset the elapsed time of the timer managed by the timeout information that matches the timer ID 703 in the response area information 700 of the assigned response area. After this, the process proceeds to step S1210.

[0047] If the area is not included in the allocated list L2 (N in S1204), the request processing unit 1802 creates an acknowledgement (error acknowledgement) in which a value indicating an error is set in the status 302 (S1207). The area ID 301 is set to "0" indicating invalidity. After this, the process proceeds to step S1212.

[0048] 17 is a flowchart showing the procedure for receiving a read request by the CE device 104. The request receiving unit 1801 receives the read request (S1301). The request receiving unit 1801 outputs the received read request to the request processing unit 1802. The request processing unit 1802 inquires of the area management unit 1806 whether a response area corresponding to the combination of the area ID 1404 and sequence number 401 is included in the allocated list L2 (S1302).

[0049] If the response area is included in the allocated list L2 (S1302Y), the request processing unit 1802 reads the contents of the response area with area ID 1404 from the recording area 1600 (S1303). The request processing unit 1802 creates a response by setting the read data in response data 501 and setting a value indicating success in status 502. The offset 1402 is used as the start position of the response area to be read, and the data length 402 of the read request data 400 is used as the length of the data to be read.

[0050] The request processing unit 1802 checks whether the value of the command processing status 1501 in the read response information 1500 is command processing completed C3 (S1305). If it is command processing completed C3 (Y in S1305), the request processing unit 1802 determines whether all of the data 1505 indicated by the data length 1504 has been read from the offset 1402 and data length 402 (S1308).

[0051] If all have been read (Y in S1308), the request processing unit 1802 requests the area management unit 1806 to change the state of the response area matching the area ID 1404 to deallocation S3 (S1309). The area management unit 1806 changes the area allocation state 704 of the response area information 700 of the response area matching the area ID 1404 included in the allocated list L2 to the value of deallocation S3, and moves the response area information 700 from the allocated list L2 to the deallocation list L3.

[0052] The request processing unit 1802 changes the timeout period 802 of the timeout information 800 matching the timer ID 703 of the response area information 700 in the response area matching the area ID 1404 to T2, and requests the timer management unit 1805 to reset the elapsed time of the timer (S1311). The request processing unit 1802 outputs the created response to the response transmitting unit 1803, and the response transmitting unit 1803 transmits the response to the NFC reader device 105 (S1312).

[0053] If not all have been read (N in S1308), the request processing unit 1802 requests the timer management unit 1805 to reset the elapsed time of the timer managed by the timeout information 800 that matches the timer ID 703 of the response area information 700 of the response area that matches the area ID 1404 (S1310). After this, proceed to step S1312. If the command processing is not completed C3 (N in S1305), proceed to step S1312.

[0054] If the response area is not included in the allocated list L2 (S1302N), the request processing unit 1802 inquires of the area management unit 1806 whether a response area matching the combination of area ID 1404 and sequence number 401 is included in the deallocation list L3 (S1304).

[0055] If the response area is included in the deallocation list L3 (Y in S1304), the request processing unit 1802 reads the contents of the response area with the area ID 1404 from the recording area 1600 (S1306). After that, the process proceeds to step S1312.

[0056] If the response area is not included in the deallocation list L3 (N in S1304), the request processing unit 1802 sets a value indicating the reason for the failure in the status 502, and creates a response for which the response data 501 does not exist (S1307). After this, the process proceeds to step S1312.

[0057] 18 is a sequence diagram showing the procedure for creating, updating, and modifying a timer by the communication system 100. In the following, the request receiving unit 1801, request processing unit 1802, and response transmitting unit 1803 are collectively referred to as the "CE device front unit 1150." Also, it is assumed that the command data to be sent is of a size that can be sent with two command requests, and the data received as a response is of a size that can be received with two read requests from the response area included in the allocated list L2. Also, it is assumed that reception of a response to the second read request fails, and one retry is performed.

[0058] NFC reader device 105 transmits a command request to CE device front unit 1150 (S1110). Because S bit 1701 is set in the command request, CE device front unit 1150 transmits a timeout creation to timer management unit 1805 (S1111). The timeout creation is transmitted in the processing of step S1208 described above. As a processing result of the command request, CE device front unit 1150 transmits an acknowledgement to NFC reader device 105 (S1112).

[0059] The NFC reader device 105 transmits a command request to the CE device front unit 1150 (S1113). Since the S bit 1701 is not set in the command request, the CE device front unit 1150 transmits a timer update to the timer management unit 1805 (S1114). The timer update is transmitted in the process of step S1206 described above. Since the E bit 1702 is set in the command request, the CE device front unit 1150 transmits a command issue to the command processing unit 1804 (S1115). The command issue is transmitted in the process of step S1210 described above. As a result of the command request processing, the CE device front unit 1150 transmits an acknowledgement to the NFC reader device 105 (S1116). The timer update is necessary to prevent a timeout from occurring when transmitting multiple command requests because the timer has already been started.

[0060] The NFC reader device 105 transmits a read request to the CE device front unit 1150 to obtain the result of the command resulting from the command request transmitted twice (S1117). Because command processing is not complete, the CE device front unit 1150 sets response information 1500, in which command processing status 1501 has been set to command processing in progress C2, as response data 501, and transmits a response in which status 502 has been set to a value indicating success to the NFC reader device 105 (S1119). When processing of the command requested by the command issuance is complete, the command processing unit 1804 transmits a command completion to the CE device front unit 1150 (S1120).

[0061] The NFC reader device 105 transmits a read request to the CE device front unit 1150 (S1122). Since the command processing status 1501 is command processing complete C3 and not all response information stored in the response area has been read, the CE device front unit 1150 transmits a timer update to the timer management unit 1805 (S1123). The timer update is performed in the process of step S1310 described above. By resetting the elapsed time of the timer set to T1 by the timer update, it is possible to prevent the timeout 914 from occurring when acquiring response information with multiple read requests. Since the interval between calls of a read request of the NFC reader device 105 can generally be made shorter than T1, the timer may be modified to a timeout time shorter than T1 to promote reuse of the response area when a timeout occurs without a read request being generated. As a result of the read request processing, the CE device front unit 1150 transmits a response to the NFC reader device (S1124).

[0062] The NFC reader device 105 transmits a read request to the CE device front unit 1150 (S1125). Since all response information stored in the response area has been read, the CE device front unit 1150 transmits a timer correction to the timer management unit 1805 (S1126). The timer correction is transmitted in the process of step S1311 described above. As a result of the processing of the read request, the CE device front unit 1150 transmits a response to the NFC reader device (S1127).

[0063] If the NFC reader device 105 fails to receive the response, it transmits a read request to the CE device front unit 1150 as a retry (S1128). On receiving the read request, the CE device front unit 1150 reads response information from the response area included in the allocation release list L3 and transmits it as a response to the NFC reader device 105 (S1129). The read request in step S1128 and the response in step S1129 are the same data as the read request in step S1125 and the response in step S1127, respectively. This series of processes is performed in the order of steps S1301, S1302, S1304, S1306, and S1312 described above.

[0064] According to this embodiment, a response area is prepared for each request, so that processing for multiple requests can be efficiently executed. Furthermore, when a response is read from the response area, the response is maintained in a state in which it can be read until the time T2 has elapsed since the response was read, so that the response area can be efficiently reused in response to a retry due to a failure to read the response. Furthermore, the response area is managed by classifying it into three states: available for allocation, deallocated, and allocated, so that the response area can be efficiently used. Furthermore, the response is read from a response area in the allocated and deallocated states, so that the response area can be efficiently used. Furthermore, after a response is read from the response area, the response area is in the deallocated state, so that the response area can be efficiently used.

[0065] Furthermore, if an allocatable area exists, the allocatable area is allocated to the acquired command request, simplifying processing. If an allocatable area does not exist, a deallocated area is allocated to the acquired command request, making it possible to allocate a response area even if an allocatable area does not exist. Furthermore, if no response is read within T1 after the allocatable area is transferred to the allocated area, the allocated area is transferred to the allocatable area, allowing effective use of the response area.

[0066] The present invention has been described above based on the embodiments. The above-mentioned embodiments and modifications are merely examples, and it will be understood by those skilled in the art that various modifications are possible in the combination of each component or each treatment process, and that such modifications are also within the scope of the present invention. In addition, each embodiment can be combined in any desired manner. [Explanation of symbols]

[0067] 100 communication system, 103 communication medium, 104 CE device, 105 NFC reader device, 1801 request receiving unit, 1802 request processing unit, 1803 response transmitting unit, 1804 command processing unit, 1805 timer management unit, 1806 area management unit.

Claims

1. Command requests, which are requests to write data from external devices, and requests to read data. A receiving unit that receives a read request, Multiple response files for storing the response to the command request in the recording area The response area is divided into a response area, and when the command request is received, the response area is divided into a response area. The area management unit that allocates space for each command request, A transmission unit that transmits the identification information of the response area to the external device, Equipped with, The area management unit receives the read request and the read request includes When the response is read from the response area corresponding to the identification information, The response will remain in read until a certain period of time has elapsed since the response was read. Maintain the response area in a state where it can be read. Information processing device.

2. The transmitting unit, in response to the read request received by the receiving unit, The response area corresponding to the identification information contained in the response is read out from the response area The response is sent to the external device. The information processing apparatus according to claim 1.

3. The area management unit can allocate the response area to a new processing request. The available area is an area that can be allocated, and the allocated area has been allocated in response to the processing request. , a certain period of time has elapsed since the processing result data was read from the allocated area. It is classified into areas that have not been allocated and areas that have not been allocated. The holding control unit enables the reading of the processing result data from the deallocation area. The state is maintained, and the processing result data is read from the deallocation area. After a certain period of time has elapsed since then, the unassigned area is moved to the assignable area. To transition to the region The information processing apparatus according to claim 1 or 2.

4. When the area management unit receives a new processing request, it will determine if the allocatable area exists. In this case, the assignable area is assigned to the acquired processing request, and the assignable area If no available area exists, the deallocation area is allocated to the acquired processing request. Teru, The information processing apparatus according to claim 3.

5. If the aforementioned fixed period is referred to as the second predetermined period, then the first predetermined period is longer than the second predetermined period. A period is defined, The area management unit responds to the processing request by assigning the available area to the already assigned area If, after transitioning to the region, the processing result data is not read within the first predetermined period, The allocated area is moved to the available area. The information processing apparatus according to claim 3 or 4.