Data processing apparatus and data processing method

The data processing device dynamically determines packet destinations based on function processing results, optimizing network resource use and load balancing in service function chains.

JP2026034958APending Publication Date: 2026-03-04NIPPON TELEGRAPH & TELEPHONE CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024137665
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2026-03-04

AI Technical Summary

Technical Problem

Existing service function chaining technologies fail to control the next destination of packet forwarding based on the results of function processing, leading to inefficient use of network resources and increased processing load.

Method used

A data processing device that constructs processing data, performs functions, and determines the destination based on processing results using a tag acquisition unit and encapsulation unit, allowing dynamic adjustment of packet forwarding.

Benefits of technology

Enables efficient packet forwarding based on processing results, reducing network overhead and improving load balancing in service function chains.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026034958000001_ABST
    Figure 2026034958000001_ABST
Patent Text Reader

Abstract

To provide a data processor capable of setting a destination to which a packet is transmitted according to a processing result of a function.SOLUTION: The data processing apparatus of the present invention constructs processing data to be processed in the data processing apparatus for each function by using a received packet, outputs an identifier for identifying a function chain, performs processing corresponding to the function on the processing data, outputs a search key for searching for a destination to which a processing result of the function chain is transmitted, acquires a tag corresponding to the identifier of the function chain and the search key from a tag list in which a correspondence relationship between the function chain and a tag indicating the processing result is registered, and creates a packet to be transmitted by using the processing result and the tag.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a data processing device in service function chaining. [Background technology]

[0002] Service Function Chaining (SFC) is being considered to flexibly provide end-to-end services (see, for example, Non-Patent Document 1). SFC is a technology that allows for the free combination of service functions (SFs) scattered across a network, and by using SFC, it is possible to combine any service functions to build a service function chain that meets the user's objectives.

[0003] In SFC, as shown in Fig. 8, a classifier 100 installed at the entrance adds a tag to a packet, and service function forwarders (SFFs) (200-1 to 200-4) refer to the tag and forward the packet to the function of the appropriate data processing device (300-1 to 300-4). In SFC, different function combinations can be realized by changing the tag added to the packet, so different services according to the user's purpose can be provided within a single network.

[0004] While typical SFCs aim to provide network services by combining virtualized network functions using NFV (Network Function Virtualization) technology, SFC is also an effective technology for more advanced cloud services.

[0005] For example, Non-Patent Document 2 considers an image processing service using SFC, and aims to provide a highly accurate object detection service that is independent of the scene by changing the feature extraction function appropriate for the scene. [Prior art documents] [Non-patent literature]

[0006] [Non-Patent Document 1] RFC 7665 - Service Function Chaining (SFC) Architecture, Internet Engineering Task Force (IETF), October 2015,<https: / / datatracker.ietf.org / doc / html / rfc7665> [Non-patent document 2] Yuta UKON, Koji YAMAZAKI, Koyo NITTA, “Real-Time Image Processing Based on Service Function Chaining Using CPU-FPGA Architecture”, IEICE Transactions on Communications, Vol. E103-B, No. 1, pp. 11-19, 2020,<https: / / search.ieice.org / bin / summary.php?id=e103-b_1_11> Summary of the Invention [Problem to be solved by the invention]

[0007] Advanced cloud services that use SFC need to control the next destination based on the results of function processing. For example, in a video surveillance service that combines a function for object detection and a function for anomaly detection, it is desirable to perform anomaly detection only when an object is detected in order to reduce the processing load on the system. However, with existing technology, packets are always forwarded to the same function according to the tag added by the classifier, making it impossible to select a function based on the results of that function's processing.

[0008] The present invention has been made to solve the above-mentioned problems, and has as its object to provide a data processing device that can set a destination to which a packet is to be sent in accordance with the processing result of a function. [Means for solving the problem]

[0009] In order to solve the above problem, the data processing device of the present invention is a data processing device that executes functions included in a function chain, and includes: a data construction unit that uses multiple received packets to construct processing data to be processed in the data processing device for each function and outputs a first identifier that identifies the function chain; one or more data processing units that perform processing corresponding to the function on the processing data, output the processing result of the processing, and output a search key for searching for a destination to send the processing result to based on the processing result; a tag acquisition unit that acquires the tag corresponding to the first identifier and the search key from a tag list in which correspondences between the function chain and the processing result and tags indicating the destination to send the processing result are registered; and an encapsulation unit that uses the processing result and the tag to create a packet to be sent to the destination.

[0010] In order to solve the above problem, the data processing method of the present invention is a data processing method executed in a data processing device that performs processing corresponding to the functions included in a function chain, the data processing device comprising: a data construction unit that constructs processing data in the data processing device, one or more data processing units that perform processing corresponding to the functions, a tag acquisition unit that acquires a tag indicating a destination to which the processing results of the data processing units are to be sent, and an encapsulating unit that creates a packet to send the processing results, the data construction unit uses the received multiple packets to construct processing data to be processed in the data processing device for each of the functions, and outputs a first identifier that identifies the function chain, the data processing unit performs processing corresponding to the function on the processing data, outputs the processing result of the processing, and outputs a search key for searching for a destination to send the processing result according to the processing result, the tag acquisition unit has a tag list in which correspondences between the function chain and the processing result, and tags indicating the destination to send the processing result are registered, and acquires the tag corresponding to the first identifier and the search key from the tag list, and the encapsulating unit uses the processing result and the tag to create a packet to send to the destination. [Effects of the Invention]

[0011] According to the present invention, it is possible to provide a data processing device that can set the destination to which a packet is to be sent in accordance with the processing result of a function. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 shows an example of the configuration of a function chaining system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the configuration of a data processing device according to an embodiment of the present invention. [Figure 3] FIG. 3 is a block diagram showing another configuration of the data processing device according to the embodiment of the present invention. [Figure 4]FIG. 4 is a block diagram showing the configuration of a tag acquisition unit and a tag list according to the embodiment of the present invention. [Figure 5] FIG. 5 shows an example of the structure of a tag list according to an embodiment of the present invention. [Figure 6] FIG. 6 shows another example of the structure of a tag list according to an embodiment of the present invention. [Figure 7] FIG. 7 is a flowchart showing the operation of the tag acquisition method in the data processing method according to the embodiment of the present invention. [Figure 8] FIG. 8 shows an example of the configuration of a conventional function chaining system. DETAILED DESCRIPTION OF THE INVENTION

[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention can be embodied in many different forms and should not be construed as being limited to the embodiments of the present invention described below.

[0014] <Configuration of Service Function Chaining System> 1 is a block diagram showing an example of the configuration of a service function chaining system (SFCS) 1 according to an embodiment of the present invention. The SFCS includes a tagging device 10 that adds a tag header to a received packet, data transfer devices (20-1 to 20-3) that refer to the tag and transfer the packet to a data processing device in which an appropriate function is implemented, data processing devices (30-1 to 30-4) that perform data processing according to the implemented function, an external transmission device 50 that removes the tag header from the packet after processing is complete and transmits the packet to an external network, and a control device 40 that controls the installation of functions in the data processing device and registers function chain information in the tagging device, data transfer device, and external transmission device.

[0015] When the SFCS receives a data packet, the tagging device 10 identifies the packet by IP address or the like and adds a tag header to the packet. The tag header includes an identifier (Function chain Identifier) ​​"FCID" for identifying the function chain and a tag for transferring the packet within the SFCS. "FCID" is an identifier for identifying the desired function chain created based on the user's service usage request. Here, the "FCID" may be included in advance in packets sent by the user, and the packet may be identified according to the "FCID" and a tag header may be added.

[0016] The data transfer devices (20-1 to 20-3) that receive packets with tag headers attached transfer the packets to the data processing devices (30-1 to 30-4) in the order of the tags written in the tag headers. The data processing devices (30-1 to 30-4) process the data according to the installed functions.

[0017] Once all data processing is complete, the tag header is removed from the packet in the external transmitting device 50, and the packet is then output to a network outside the SFCS. Data transfer using tags can be achieved, for example, by using the NSH (Network Service Header) defined in RFC8300. When the NSH is used, the "FCID" corresponds to the SPI (Service Path Identifier), and the tag corresponds to the SI (Service Index). This can also be achieved using segment routing such as SR-MPLS or SRv6.

[0018] The control device 40 creates a function chain having multiple functions based on a user's service usage request, and generates a tag for transferring a packet to a desired function according to the created function chain. The created tag information and routing information are registered in the tagging device 10, data transfer devices (20-1 to 20-3), and data processing devices (30-1 to 30-4).

[0019] The devices that make up SFCS are, specifically, general-purpose servers, network equipment, and hardware accelerators, and can perform packet processing and data processing using CPUs, GPUs, FPGAs (Field-Programmable Gate Arrays), and ASICs (Application Specific Integrated Circuits).

[0020] <Configuration of data processing device> 2 is a block diagram showing the configuration of a data processing device according to an embodiment of the present invention. Data processing device 30 includes a packet receiving unit 31 that receives packets, a data constructing unit 32 that reconstructs original data (e.g., video data) from a plurality of received packets, a data processing unit 33 that performs data processing corresponding to a function on the reconstructed original data (processed data), an encapsulating unit 34 that encapsulates the processing results to create packets, and a packet transmitting unit 35 that outputs the packets.

[0021] The data processing unit 33 that performs data processing can be realized using a CPU, GPU, FPGA, or ASIC. By installing a program corresponding to a function in the data processing unit 33, the data processing device 30 that executes a desired function can be configured.

[0022] The data processing device 30 further includes a tag list 38 in which the correspondence between the processing results of functions in the data processing unit 33 and tags indicating destinations to which the processing results are to be sent is registered, a tag acquisition unit 36 ​​that acquires tags indicating destinations to which the processing results are to be sent from the tag list 38 in accordance with the processing results in the data processing unit 33, and a list registration unit 37 that controls the registration of tag information in the tag list 38. The list registration unit 37 registers tag information in the tag list 38 in accordance with instructions from the control device 40 in Fig. 1, and can notify the tag acquisition unit 36 ​​of the status of updates and editing of the tag information.

[0023] Generally, large amounts of data such as image data are transmitted in multiple packets. Therefore, before data processing, data processing device 30 must reconstruct the original data by combining the data fragments stored in each of the multiple packets. In this embodiment, data processing device 30 temporarily stores the data fragments that make up the original data in data construction unit 32, and when all the necessary data fragments are collected, reconstructs the original data (processed data) and transfers it to data processing unit 33.

[0024] The data construction unit 32 acquires the function chain identifier "FCID" (first identifier) ​​from the packet header or the like, and notifies the tag acquisition unit 36. "FCID" is an identifier for identifying the desired function chain created based on the user's service usage request. "FCID" may be acquired from the packet header, or may be calculated from the IP address and port number included in the header of the original packet.

[0025] When data processing is complete, data processing unit 33 transmits the processing result to encapsulating unit 34 and outputs a "search key" corresponding to the processing result to tag acquisition unit 36. This "search key" is used by tag acquisition unit 36 ​​to search for a destination to which the function processing result should be sent. The "search key" is created according to the function processing result, and is information that can identify the processing result.

[0026] The tag acquisition unit 36 ​​uses the received "FCID" and "search key" to acquire a tag indicating the destination to which the processing result of the function is to be sent from a tag list 38 in which the correspondence between the processing result of the function and the tag indicating the destination to which the processing result is to be sent is registered, and transmits the tag to the encapsulation unit 34.

[0027] The encapsulating unit 34 generates a packet using the processing result of the data processing unit 33, the tag sent from the tag acquiring unit 36, and the "FCID" acquired by the data constructing unit 32, and transmits the packet to the packet sending unit 35. Here, the encapsulating unit 34 may receive the "FCID" acquired by the data constructing unit 32 via the data processing unit 33 or via the tag acquiring unit 36.

[0028] The packet transmitting unit 35 outputs the packet generated by the encapsulating unit 34 to a data transfer device for the next processing in the function chain. The data transfer device to which the packet is transferred routes the packet by referencing the tag of the transferred packet, so that the packet can be transferred to a data processing device 30 in which an appropriate function is installed.

[0029] Figure 3 shows another example of the configuration of a data processing device according to an embodiment of the present invention. Data processing device 30 in Figure 3 differs from the configuration in Figure 2 in that data processing unit 33 is made up of multiple data processing units (33-1, 33-2) and an output control unit 39 is added to control the output of the processing results of the data processing units (33-1, 33-2) and the "search key."

[0030] The output control unit 39 is configured to control the order in which the processing results of each data processing unit (33-1, 33-2) are transferred, transfer the processing results to the encapsulating unit 34, and send a "search key" corresponding to each processing result to the tag acquisition unit 36. The "search key" indicating the processing result of the data processing units (33-1, 33-2) is sent to the tag acquisition unit 36 ​​via the output control unit 39, so that tags indicating the destinations to which each processing result is to be sent can be acquired in accordance with the order in which the processing results are sent.

[0031] The tag acquisition unit 36, similar to the tag acquisition unit 36 ​​in Figure 2, uses the received ``FCID'' and ``search key'' to acquire a tag indicating the destination to which the packet is to be sent from the tag list 38, and transfers the acquired tag to the encapsulation unit 34.

[0032] 2, the encapsulating unit 34 generates packets using the processing results of the data processing units (33-1, 33-2) and the "FCID" acquired by the data constructing unit 32. Here, the encapsulating unit 34 may receive the "FCID" acquired by the data constructing unit 32 via the data processing units (33-1, 33-2) and the output control unit 39, or may receive it via the tag acquiring unit 36.

[0033] 2, the packet transmitting unit 35 outputs the packet generated by the encapsulating unit 34 to the data transfer device for the next processing in the function chain. The data transfer device to which the packet is transferred routes the packet by referencing the tag of the transferred packet, so that the packet can be transferred to the data processing device 30 in which the appropriate function is installed.

[0034] In this way, by providing the output control unit 39, even when the data processing device 30 performs multiple different processes, the destination to which the packet is to be sent can be determined based on the processing results of each of the multiple data processing units (33-1, 33-2).

[0035] According to this embodiment, a tag indicating the destination of the processing result is obtained using a "search key" corresponding to the processing result in the data processing unit 33, and a packet is generated using the obtained tag, thereby making it possible to reflect the processing result of the function in the destination of the packet.

[0036] Furthermore, in this embodiment, the destination to which a packet is sent is determined in the data processing device 30, so the tag header of the packet does not need to have destination information for all functions that make up the function chain, and only one piece of tag information is required. Therefore, in an SFCS that uses the data processing device 30 of this embodiment, the overhead caused by the tag header is small, and it is possible to efficiently use the network bandwidth for data transfer.

[0037] Furthermore, in the data processing device 30 of this embodiment, the control device 40 described in Figure 1 can edit the tag list 38 via the list registration unit 37, making it possible to easily change the function chain.

[0038] For example, it is possible to change the data processing unit 33 that constitutes the function chain, or if the load on the data processing device 30 at the subsequent stage increases, it is possible to change the destination of the packet to a data processing device 30 with a lower load, so it is also possible to change the data processing device 30 that sends the packet while taking load balancing into consideration.

[0039] <Tag acquisition section, tag list configuration> 4 is a block diagram showing the configuration of a tag acquisition unit and tag list according to an embodiment of the present invention. The tag acquisition unit 36 ​​includes an address generation unit (36-1) that generates a "memory address" using the "FCID" sent from the data construction unit 32 and the "search key" sent from the data processing unit 33, a memory control unit (36-2) that controls access to the tag list 38, and an output determination unit (36-3) that determines whether the tag acquired from the tag list 38 is valid.

[0040] The tag list 38 stores the correspondence between the processing results of the function and the tag indicating the destination to which the processing results are to be sent. In the configuration example of Fig. 4, a "tag (destination)" indicating the destination to which the processing results are to be sent is registered for each "memory address" corresponding to the "FCID" sent from the data construction unit 32 and the "search key" sent from the data processing unit 33.

[0041] The configuration of the "memory address" in this tag list 38 and the correspondence between the "memory address" and the "tag (destination)" can be updated and edited via the list registration unit 37 in accordance with instructions from the control device 40. In this embodiment, the "memory address" is configured by concatenating the "FCID'" (second identifier), which is obtained by converting the "FCID" (first identifier) ​​into a value with a shorter bit length, with the "search key."

[0042] When the tag acquisition unit 36 ​​receives the "FCID" and the "search key", it uses the "FCID" and the "search key" to generate a "memory address" corresponding to the tag list 38, and uses the generated "memory address" to acquire a "tag (destination)" corresponding to the generated "memory address" from the tag list 38. In this embodiment, the "FCID" is converted into a value "FCID'" with a shorter bit length corresponding to the tag list 38, and the "memory address" is generated by concatenating this with the "search key".

[0043] The number of function chains to be processed by the tag acquisition unit 36 ​​is extremely small compared to the number of all function chains identified by "FCID." Therefore, the tag acquisition unit 36 ​​does not need to identify all "FCIDs," and it is sufficient if it has information with a number of bits that can identify the function chains processed in each data processing device.

[0044] In this embodiment, by converting "FCID" to a value "FCID'" with a shorter bit length, it is possible to prevent memory consumption by creating many tag lists for unrelated function chains that are not the target of processing by the tag acquisition unit 36. This method of converting "FCID" can be changed as appropriate according to instructions from the control unit 40. For example, it may be performed according to a "conversion table" received from the control unit 40 via the list registration unit 37.

[0045] In the tag list 38 of the configuration example in Fig. 4, a "memory address" is generated by combining a 4-bit "FCID" and a 4-bit "search key." In the configuration example in Fig. 4, the tag list 38 can register up to 16 tags (destinations) for up to 16 types of function chains.

[0046] In the configuration example in Figure 4, if the memory address [00000001] is generated by combining the 4-bit "FCID'"

[0000] and the 4-bit "search key"

[0000] , tag [B] can be obtained as the destination to send the packet corresponding to memory address [00000001]. For the same "FCID'"

[0000] , a tag indicating a different destination can be obtained than when the "search key" is

[0000] .

[0047] Here, since the tag list 38 may be updated or edited via the list registration unit 37 in accordance with instructions from the control device 40, it is possible that the acquired tag may not be valid while the tag list 38 is being updated. For this reason, the tag acquisition unit 36 ​​is equipped with an output determination unit (36-3), which is configured to check the update or editing operation of the tag list 38 by the list registration unit 37 and determine the validity of the acquired tag. For example, while the tag list 38 is being updated, the output determination unit (36-3) may determine that the acquired tag is invalid, and it is possible to suspend acquisition of the tag until the update of the tag list 38 is completed.

[0048] It is also possible that the program installed in the data processing unit 33 of the data processing device 30 does not correspond to this embodiment, and a "search key" is not input according to the results of data processing. In this case, the tag acquisition unit 36 ​​may be configured to generate a "memory address" using a predetermined constant instead of a "search key" and acquire a default tag. Even if a "search key" is not input, the tag acquisition unit 36 ​​can search the tag list 38 to acquire a tag, thereby making it possible to utilize functions in a service function chain designed in the past.

[0049] Fig. 5 shows an example of the configuration of a tag list according to an embodiment of the present invention. In the tag list 38 of Fig. 5, in order to accommodate cases where it is desired to send the processing results of the data processing unit 33 to multiple destinations, multiple tags are registered for one "memory address" in the tag list 38. By using such a tag list 38, it becomes possible to obtain the multiple tags registered for one "memory address" and send the processing results to multiple destinations.

[0050] For example, in the configuration example of Fig. 5, searching for "memory address" [00000000] will obtain tags [D] and [E]. In the encapsulating unit 34, by combining the processing results of the data processing unit 33 with each of the multiple tags, two packets destined for different destinations can be created.

[0051] In addition, the processing results can be discarded as having no destination depending on the processing results by not registering tags in part of the tag list 38. As shown in Fig. 5, if no tag is registered for the "memory address" [00000000] and the "search key" is

[0001] , the processing results are discarded.

[0052] Fig. 6 shows another example of the configuration of a tag list according to an embodiment of the present invention. In the example of the configuration in Fig. 6, tag list (38-1) and tag list (38-2) are tag lists relating to function #1 and function #2, respectively.

[0053] In the tag list (38-1), for each "memory address," in addition to a tag indicating the packet destination, an "FCID" ("FCID0" or "FCID1": third identifier) ​​is registered. In the tag list (38-2), for each "memory address," a tag indicating the packet destination corresponding to the "FCID" (third identifier) ​​registered in the tag list (38-1) is registered.

[0054] The data processing device 30 that executes function #1 is configured to obtain a tag and "FCID" (third identifier) ​​from the tag list (38-1) based on the processing result of the data processing unit, and to generate a packet using the obtained tag and "FCID" values.

[0055] The encapsulating unit 34 of the data processing device 30 described in Figures 2 and 3 generated packets using the processing results of the data processing unit 33, the tag sent from the tag acquisition unit 36, and the "FCID" acquired by the data construction unit 32.

[0056] 6 is configured to generate packets using the processing results of the data processing unit 33 and the tag and "FCID" sent from the tag acquisition unit 36. When the tag list (38-1) of FIG. 6 is used, the "FCID" (first identifier) ​​acquired by the data construction unit 32 is reset to the "FCID" (third identifier) ​​sent from the tag acquisition unit 36.

[0057] Here, assume that there is a function chain consisting of functions #1 to #4, and either function #3 or #4 is used depending on the processing result of function #1 (#1 → #2 → #3 or #4).

[0058] In this case, if a tag list 38 in which only tags are set is used as in Figures 4 and 5, only the processing result of function #2 can be taken into consideration, so it is not possible to select either function #3 or #4 depending on the processing result of function #1.

[0059] Meanwhile, in the data processing device 30 executing function #1 having the tag list (38-1) of Fig. 6, both the tag and "FCID" are obtained from the tag list (38-1) of Fig. 6, and a packet is generated. Depending on the processing result of function #1, a different "FCID" ("FCID0" or "FCID1") and a common tag ("2") are set in the packet, and the packet is sent to the data processing device 30 executing function #2.

[0060] The data processing device 30 executing function #2 obtains a different tag ("3" or "4") according to the reset "FCID" ("FCID0" or "FCID1") from the tag list (38-2) in Fig. 6. This makes it possible to select the appropriate data processing device 30 executing function chain #3 or #4 depending on the processing result of function #1 and transmit the packet, even if the processing result of function #2 is the same.

[0061] In this way, by using the tag list (38-1) in which tags and "FCIDs" are registered for "memory addresses," it becomes possible to set both a tag (destination) and an "FCID" to a packet according to the processing result of the data processing unit 33, thereby improving the flexibility of the function chain. For example, as described above, in a function chain consisting of multiple functions, it becomes possible to set the tag (destination) of a packet taking into account the processing result of a distant function.

[0062] <Flowchart of tag acquisition method> 7 is a flowchart showing the operation of the tag acquisition method in the data processing method according to the embodiment of the present invention. After the processing of the data processing unit 33 in FIG. 2 is completed, the flow of this tag acquisition method is executed in the tag acquisition unit 36.

[0063] The tag acquisition unit 36 ​​acquires the "FCID" from the data construction unit 32 and converts it into an "FCID'" having a shorter bit length (steps S1-1 and S1-2).

[0064] The tag acquisition unit 36 ​​acquires a "search key" corresponding to the processing result from the data processing unit 33 (step S1-3).

[0065] If both the "FCID" and the "search key" have been acquired (step S1-4: Yes), the tag acquisition unit 36 ​​combines the "FCID" and the "search key" to generate a "memory address" (step S1-5).

[0066] On the other hand, if the "search key" is not input from the data processing unit and only the "FCID" is obtained (step S1-4: No), the tag obtaining unit 36 ​​generates a "memory address" using the "FCID" and a predetermined constant instead of the "search key" (step S1-6).

[0067] The tag acquisition unit 36 ​​confirms that the tag list is not being updated (step S1-7: No), acquires the tag corresponding to the memory address generated from the tag list, and transmits it to the encapsulating unit 34 (step S1-8). If the tag list 38 is being updated (step S1-7: Yes), tag acquisition is suspended until the update of the tag list 38 is completed.

[0068] <Extended embodiment> Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration of the present invention within the scope of the present invention.

[0069] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0070] [Appendix 1] A data processing device that executes a function included in a function chain, a data constructing unit that constructs processing data to be processed in the data processing device for each of the functions using the received packets, and outputs a first identifier that identifies the function chain; one or more data processing units that perform processing corresponding to the function on the processing data, output a processing result of the processing, and output a search key for searching for a destination to which the processing result is to be sent according to the processing result; a tag acquisition unit that acquires the tag corresponding to the first identifier and the search key from a tag list in which correspondences between the function chain and the processing result, and tags indicating destinations to which the processing result is to be sent are registered; an encapsulating unit that uses the processing result and the tag to create a packet to be transmitted to the destination; A data processing device comprising: [Appendix 2] an output control unit that outputs the processing results of the plurality of data processing units to the encapsulating unit; The output control unit Controlling the order in which the processing results in the plurality of data processing units are output to the encapsulating unit, and outputting a search key for searching for a destination to which the processing results in the plurality of data processing units are to be sent. 2. A data processing device according to claim 1. [Appendix 3] The tag list includes: the tag corresponding to an address is registered using information formed by a combination of a second identifier obtained by converting the first identifier to have a shorter bit length and the search key; and The tag acquisition unit converting the first identifier into the second identifier, combining the second identifier with the search key to generate an address used to acquire the tag, and acquiring the tag corresponding to the generated address from the tag list; It is configured as follows: 10. A data processing device according to claim 1 or 2. [Appendix 4] The tag list includes: In addition to the tag indicating a destination to which the processing result is to be sent, a third identifier that is set according to the processing result is registered; The tag acquisition unit configured to acquire the tag and the third identifier corresponding to the first identifier and the search key; The encapsulating portion is and creating a packet to be sent to the destination using the processing result, the tag, and the third identifier. A data processing device according to any one of Supplementary Note 1 to Supplementary Note 3. [Appendix 5] A data processing method executed in a data processing device that performs processing corresponding to a function included in a function chain, comprising: The data processing device includes: a data construction unit that constructs processing data in the data processing device; one or more data processing units that perform processing corresponding to the functions; a tag acquisition unit that acquires a tag indicating a destination to which a processing result of the data processing unit is to be transmitted; and an encapsulation unit that creates a packet to transmit the processing result. Equipped with The data construction unit constructing processing data to be processed in the data processing device for each of the functions using the received plurality of packets, and outputting a first identifier for identifying the function chain; The data processing unit performing a process corresponding to the function on the processing data, outputting a processing result of the process, and outputting a search key for searching for a destination to which the processing result is to be sent according to the processing result; The tag acquisition unit a tag list in which a correspondence relationship between the function chain and the processing result, and a tag indicating a destination to which the processing result is to be sent is registered, and the tag corresponding to the first identifier and the search key is acquired from the tag list; The encapsulating portion is The processing result and the tag are used to create a packet to be sent to the destination. Data processing methods. [Appendix 6] The data processing device includes: an output control unit that outputs the processing results of the plurality of data processing units to the encapsulating unit; The output control unit Controlling the order in which the processing results in the plurality of data processing units are output to the encapsulating unit, and outputting a search key for searching for a destination to which the processing results in the plurality of data processing units are to be sent. 5. A data processing method as set forth in Appendix 5. [Appendix 7] The tag list includes: the tag corresponding to an address is registered using information formed by a combination of a second identifier obtained by converting the first identifier to have a shorter bit length and the search key; and The tag acquisition unit converting the first identifier into the second identifier, combining the second identifier with the search key to generate an address used to acquire the tag, and acquiring the tag corresponding to the generated address from the tag list; 10. A data processing method as defined in Appendix 5 or Appendix 6. [Appendix 8] The tag list includes: In addition to the tag indicating a destination to which the processing result is to be sent, a third identifier that is set according to the processing result is registered; The tag acquisition unit configured to acquire the tag and the third identifier corresponding to the first identifier and the search key; The encapsulating portion is A packet to be sent to the destination is created using the processing result, the tag, and the third identifier. A data processing method according to any one of Supplementary Notes 5 to 7. [Industrial Applicability]

[0071] The present invention can be applied to service function chaining technology. [Explanation of symbols]

[0072] 1...service function chaining system, 10...tag adding device, 20-1 to 20-3...data transfer devices, 30-1 to 30-4...data processing devices, 40...control device, 50...external transmission device.

Claims

1. A data processing device that executes a function included in a function chain, a data constructing unit that constructs processing data to be processed in the data processing device for each of the functions using the received packets, and outputs a first identifier that identifies the function chain; one or more data processing units that perform processing corresponding to the function on the processing data, output a processing result of the processing, and output a search key for searching for a destination to which the processing result is to be sent according to the processing result; a tag acquisition unit that acquires the tag corresponding to the first identifier and the search key from a tag list in which correspondences between the function chain and the processing result, and tags indicating destinations to which the processing result is to be sent, are registered; an encapsulating unit that uses the processing result and the tag to create a packet to be transmitted to the destination; A data processing device comprising:

2. an output control unit that outputs the processing results of the plurality of data processing units to the encapsulating unit; The output control unit Controlling the order in which the processing results in the plurality of data processing units are output to the encapsulating unit, and outputting a search key for searching for a destination to which the processing results in the plurality of data processing units are to be sent.

2. The data processing device according to claim 1.

3. The tag list includes: the tag corresponding to an address is registered using information formed by a combination of a second identifier obtained by converting the first identifier to have a shorter bit length and the search key; and The tag acquisition unit converting the first identifier into the second identifier, combining the second identifier with the search key to generate an address used to acquire the tag, and acquiring the tag corresponding to the generated address from the tag list; It is configured as follows:

2. The data processing device according to claim 1.

4. The tag list includes: In addition to the tag indicating a destination to which the processing result is to be sent, a third identifier that is set according to the processing result is registered, The tag acquisition unit configured to acquire the tag and the third identifier corresponding to the first identifier and the search key; The encapsulating portion is and creating a packet to be sent to the destination using the processing result, the tag, and the third identifier.

2. The data processing device according to claim 1.

5. A data processing method executed in a data processing device that performs processing corresponding to a function included in a function chain, comprising: The data processing device includes: a data constructing unit that constructs processing data in the data processing device; one or more data processing units that perform processing corresponding to the functions; a tag acquiring unit that acquires a tag indicating a destination to which a processing result of the data processing unit is to be transmitted; and an encapsulating unit that creates a packet to transmit the processing result. Equipped with The data construction unit constructing processing data to be processed in the data processing device for each of the functions using the received plurality of packets, and outputting a first identifier for identifying the function chain; The data processing unit performing a process corresponding to the function on the processing data, outputting a processing result of the process, and outputting a search key for searching for a destination to which the processing result is to be sent according to the processing result; The tag acquisition unit a tag list in which a correspondence relationship between the function chain and the processing result, and a tag indicating a destination to which the processing result is to be sent is registered, and the tag corresponding to the first identifier and the search key is acquired from the tag list; The encapsulating portion is The processing result and the tag are used to create a packet to be sent to the destination. Data processing methods.

6. The data processing device includes: an output control unit that outputs the processing results of the plurality of data processing units to the encapsulating unit; The output control unit Controlling the order in which the processing results in the plurality of data processing units are output to the encapsulating unit, and outputting a search key for searching for a destination to which the processing results in the plurality of data processing units are to be sent.

6. The data processing method according to claim 5.

7. The tag list includes: the tag corresponding to an address is registered using information formed by a combination of a second identifier obtained by converting the first identifier to have a shorter bit length and the search key; and The tag acquisition unit converting the first identifier into the second identifier, combining the second identifier with the search key to generate an address used to acquire the tag, and acquiring the tag corresponding to the generated address from the tag list; 6. The data processing method according to claim 5.

8. The tag list includes: In addition to the tag indicating a destination to which the processing result is to be sent, a third identifier that is set according to the processing result is registered, The tag acquisition unit configured to acquire the tag and the third identifier corresponding to the first identifier and the search key; The encapsulating portion is A packet to be sent to the destination is created using the processing result, the tag, and the third identifier.

6. The data processing method according to claim 5.