Data processing system and data processing method

The data processing system addresses data collisions and maintains service function efficiency by implementing user-specific routing and priority control, ensuring optimal resource utilization for multiple users in Service Function Chaining.

JP7789529B2Active Publication Date: 2025-12-22NIPPON TELEGRAPH & TELEPHONE CORP +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021184725
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-12
Publication Date
2025-12-22
Estimated Expiration
2041-11-12

AI Technical Summary

Technical Problem

Conventional Service Function Chaining (SFC) technologies do not account for multiple users, leading to data collisions and reduced utilization efficiency of service functions due to resource allocation and management overhead, resulting in decreased performance when handling packets from different users.

Method used

A data processing system and method that includes a user management device to manage user information and control packet transfer, a data processing device for service functions, a communication management device for route calculation, and an external transmission device to handle packet routing, utilizing tags for user-specific routing and priority control to prevent data collisions and optimize resource utilization.

Benefits of technology

The system effectively manages data for each user, preventing collisions and maintaining service function efficiency even with multiple users, by using user-specific tags and priority control, thereby enhancing processing performance and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007789529000001
    Figure 0007789529000001
  • Figure 0007789529000002
    Figure 0007789529000002
  • Figure 0007789529000003
    Figure 0007789529000003
Patent Text Reader

Abstract

To avoid collision of data in a data processing device and suppress decrease in utilization efficiency of service functions.SOLUTION: User management devices 1-1 to 1-3 add tags with route information written to packets received from users and send them to data transfer devices 2-1 to 2-9. The data transfer devices 2-1 to 2-9 transfer the packets to subordinate data processing devices or other data transfer devices based on the route information contained in the tags added to the received packets. Data processing devices 3-1 to 3-13 perform data processing for service functions on data contained in the received packets. A communication management device 5 calculates routes of service chains necessary to realize services requested by the users and sends route information to the user management devices 1-1 to 1-3.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a data processing system and a data processing method for providing a service to a user by using a service function chaining technique. [Background technology]

[0002] Service Function Chaining (SFC) is being considered to flexibly provide end-to-end services (Non-Patent Document 1). SFC is a technology that freely combines service functions (SFs) scattered across a network, and by using SFC, it is possible to provide optimal services for each user.

[0003] In a network using SFC, as shown in Figure 17, a classifier 10 at the entrance adds a tag to packets 11 for each user, and a service function forwarder (SFF) 12 forwards the packets 11 to the appropriate SF based on the tag. In Figure 17, 13 represents a server that realizes the SF, and 14 represents a service chain that links together SFs provided to users. SFC allows users to build their own unique services by combining SFs that suit their own purposes.

[0004] SFC is being developed primarily for network services. SFs are expected to include firewalls, DPI (Deep Packet Inspection), and load balancing. These functions complete processing for each packet, so there is no need to consider users or packet order.

[0005] SFC is also a useful technology for cloud services. For example, Non-Patent Document 2 discloses a video surveillance service that combines two types of image processing functions as an image processing service using SFC. However, the technology disclosed in Non-Patent Document 2 does not anticipate situations in which multiple users use the network, and problems may arise when users each operate their own services.

[0006] A user who uses a cloud service generally divides data into multiple packets (data packets) and sends them to server 13, as shown in Fig. 18. In Fig. 18, 11A represents a data packet of user A, and 11B represents a data packet of user B. Also, 14A represents a service chain in which SFs provided to user A are strung together, and 14B represents a service chain in which SFs provided to user B are strung together.

[0007] Conventional SFC does not take into account users or packet order. Therefore, in a cloud service using conventional SFC, data packets 11A and 11B from different users may arrive consecutively at the server 13. In this case, the server 13 cannot guarantee appropriate results if the data packets 11A and 11B from different users are mixed.

[0008] If the server 13 sorts data packets for each user, it will be necessary to allocate computational resources to this. Also, memory resources will be required to hold the data packets. If the server 13 manages users in this way, the resources that can be allocated to SFs will be reduced. Furthermore, since a user management function is required for each server 13, many resources will be consumed by the entire system. Therefore, the implementation efficiency of SFs will be low relative to the system scale. It is possible to allocate different SFs between service chains without sharing them, but this will increase waiting times and reduce the utilization efficiency of SFs. [Prior art documents] [Non-patent literature]

[0009] [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]

[0010] The present invention has been made to solve the above-mentioned problems, and aims to provide a data processing system and a data processing method that can avoid data collisions in data processing devices and suppress a decrease in the utilization efficiency of service functions even when used by multiple users. [Means for solving the problem]

[0011] The data processing system of the present invention comprises a user management device configured to manage information of users who have applied to use a service and to control the transfer of packets received from the users; a data processing device configured to perform data processing of service functions on data included in received packets; one or more data transfer devices that have one or more of the data processing devices under their control; a communication management device configured to calculate a route of a service chain required to realize a service requested by a user, transmit route information to the user management device, and update a routing table registered in the data transfer device on the calculated route based on the result of the route calculation; and an external transmission device configured to return packets to the user after all data processing of the service chain has been completed, wherein the user management device: a tag generation unit configured to generate a tag describing route information received from the communication management device; a tag addition unit configured to add the tag to a packet received from the user; a packet transmission unit configured to transmit the packet with the tag added to the data transfer device; a QoS control unit configured to determine a priority of packet transfer for each user based on user information managed by the user management unit; and a data management unit configured to transfer packets received from users to the tag addition unit at a timing according to the priority, wherein the user ID is added to the packet received from the user; The data transfer device forwards the packet to the subordinate data processing device or another data transfer device based on the route information contained in the tag attached to the received packet and the routing table, and the data processing device returns the packet after data processing is completed to the data transfer device that sent it.

[0013] In addition, one configuration example of the data processing system of the present invention further includes a memory unit for temporarily storing packets received from a user, and the data management unit includes a user selection unit configured to selectively retrieve packets from the memory unit based on the priority information, a user determination unit configured to determine whether the packet received from the user has the same user ID as the user ID of the packet currently being output to the tagging unit, and an output selection unit configured to selectively output packets output from either the user determination unit or the user selection unit to the tagging unit, and the user determination unit transfers the packet received from the user to either the memory unit or the output selection unit based on the result of the determination. In addition, in one configuration example of the data processing system of the present invention, the data management unit is characterized in that it further comprises a packet distribution unit configured to include a plurality of memory controllers each consisting of the user determination unit, the user selection unit, and the output selection unit, determine the memory controller to which a packet received from a user is to be distributed, and output the packet received from the user to the determined memory controller, and an output control unit configured to select packets output from each output selection unit of the plurality of memory controllers in accordance with a predetermined control method and output the packets to the tag addition unit.

[0014] In addition, in one configuration example of the data processing system of the present invention, the user management device is characterized in that before a user uses a service, it transmits user-specific parameters required for processing the service function to the data processing device on the route of the service chain based on the route information, and recovers the parameters from the data processing device after the service use is completed. In addition, in one configuration example of the data processing system of the present invention, when a new service function is required to realize a service requested by a user, the communication management device adds the necessary service function to the data processing device that is not in operation, and after the use of the service has ended, deletes the service function from the data processing device that was used to realize this service.

[0015] Furthermore, a data processing method of the present invention includes a first step in which a user management device transmits information of a user who has applied to use a service to a communication management device and an external transmission device; a second step in which the communication management device calculates a route of a service chain required to realize the service requested by the user based on service information included in the user information, transmits the route information to the user management device, and updates a routing table registered in a data transfer device on the calculated route based on the result of the route calculation; and a second step in which the user management device adds a tag describing the route information to a packet received from the user and transmits the packet to the data transfer device. a third step in which the data transfer device transfers the packet to a subordinate data processing device or another data transfer device based on the route information contained in the tag attached to the received packet and a routing table managed by the data transfer device itself; a fifth step in which the data processing device performs data processing of a service function on the data contained in the received packet and returns the packet after data processing has been completed to the data transfer device that sent it; and a sixth step in which the external transmitting device returns the packet after all data processing in the service chain has been completed to the user.

[0016] Furthermore, one configuration example of the data processing method of the present invention is characterized in that it further includes a seventh step in which the user management device transmits user-specific parameters required for processing the service function to the data processing device on the route of the service chain based on the route information before the user uses the service, and an eighth step in which the user management device retrieves the parameters from the data processing device after the user has finished using the service. [Effects of the Invention]

[0017] According to the present invention, by providing a user management device, a data processing device, a data transfer device, a communication management device, and an external transmission device, data is managed for each user using the user management device, and control is exercised so that only one user's data flows per service chain. This invention avoids data collisions in the data processing device and allows multiple users to use one data processing device (service function), thereby suppressing a decrease in the utilization efficiency of the service function even when used by multiple users.

[0018] In addition, in this invention, the user management device is composed of a user management unit, a tag generation unit, a tag addition unit, a packet transmission unit, a QoS control unit, and a data management unit, and by adding a tag containing route information to packets received from a user, packet communication within the data processing system can be realized. Also, in this invention, by providing a QoS control unit, it is possible to control the packet transfer priority for each user.

[0019] In addition, in the present invention, by configuring the data management unit from a user selection unit, a user determination unit, and an output selection unit, packets received from a user can be transferred to the tagging unit at a timing according to the transfer priority.

[0020] In addition, in the present invention, by providing multiple memory controllers each consisting of a user determination unit, a user selection unit, and an output selection unit, access to the memory unit can be parallelized, thereby improving processing performance.

[0021] Furthermore, in the present invention, before a user uses a service, the user management device transmits user-specific parameters required for processing service functions to a data processing device on the route of the service chain based on route information, and retrieves the parameters from the data processing device after service use has ended, thereby allowing parameters to be swapped for each user and data processing to be performed with parameters suitable for the user.

[0022] In addition, in the present invention, when a new service function is required to realize a service requested by a user, the communication management device adds the necessary service function to a data processing device that is not in operation, and after the service has finished being used, deletes the service function from the data processing device that was used to realize the service, thereby making it possible to add and delete service functions as appropriate. [Brief explanation of the drawings]

[0023] [Figure 1] FIG. 1 is a block diagram showing the configuration of a data processing system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the configuration of a user management device according to an embodiment of the present invention. [Figure 3] FIG. 3 is a flowchart illustrating the operation of the user management device according to the embodiment of the present invention. [Figure 4] FIG. 4 is a block diagram showing the configuration of the data management unit of the user management device according to the embodiment of the present invention. [Figure 5] FIG. 5 is a block diagram showing the configuration of a data transfer device and a data processing device according to an embodiment of the present invention. [Figure 6] FIG. 6 is a flowchart illustrating the operation of a data transfer device according to an embodiment of the present invention. [Figure 7] FIG. 7 is a flowchart illustrating the operation of a data processing device according to an embodiment of the present invention. [Figure 8] FIG. 8 is a flowchart illustrating the operation of the communication management device according to the embodiment of the present invention. [Figure 9] FIG. 9 is a diagram showing an example of a network connection configuration of a data processing system according to an embodiment of the present invention. [Figure 10] FIG. 10 is a diagram showing another example of a network connection configuration of a data processing system according to an embodiment of the present invention. [Figure 11] FIG. 11 is a diagram showing another example of a network connection topology of a data processing system according to an embodiment of the present invention. [Figure 12] FIG. 12 is a diagram showing another example of a network connection topology of a data processing system according to an embodiment of the present invention. [Figure 13] FIG. 13 is a sequence diagram illustrating the operation of the data processing system according to the embodiment of the present invention. [Figure 14] FIG. 14 is a sequence diagram illustrating another operation of the data processing system according to the embodiment of the present invention. [Figure 15] FIG. 15 is a diagram showing the format of packets transmitted and received between a user terminal and a data processing system and within the data processing system according to an embodiment of the present invention. [Figure 16] FIG. 16 is a block diagram showing an example of the configuration of a computer that realizes a data processing system according to an embodiment of the present invention. [Figure 17] FIG. 17 is a diagram for explaining a conventional service function chaining technique. [Figure 18] FIG. 18 is a diagram for explaining the problems with the conventional service function chaining technology. DETAILED DESCRIPTION OF THE INVENTION

[0024] An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a data processing system according to an embodiment of the present invention. The data processing system includes user management devices 1-1 to 1-3 that manage information about users who have applied to use a service and control the forwarding of packets received from the users, one or more data transfer devices 2-1 to 2-9 that forward packets, data processing devices 3-1 to 3-13 that perform SF data processing on data contained in the received packets, and external transmission devices 4-1 to 4-3 that return packets to the user after all data processing in the service chain has been completed. The data processing system also includes a communication management device 5 that calculates a route for a service chain required to realize a service requested by a user, transmits route information to the user management devices 1-1 to 1-3, and updates routing tables registered in the data transfer devices 2-1 to 2-9 on the calculated route based on the results of the route calculation.

[0025] The data processing devices 3-1 to 3-13 include a central processing unit (CPU), a field-programmable gate array (FPGA), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), and the like.

[0026] In this embodiment, a service customized for each user is provided by combining SFs realized by data processing devices 3-1 to 3-13. Specifically, communication occurs between data transfer devices 2-1 to 2-9, and data packets sent from users are transferred to the appropriate SF. Once data processing in an SF is complete, the data packet is transferred to another SF for further data processing. As a result, in this embodiment, the processing content is changed for each user, providing a service tailored to the user's purpose.

[0027] The communication path that a data packet follows is called a service chain. As in FIG. 17, 14 in FIG. 1 represents a service chain. If multiple users use the service chain simultaneously, data will collide at SF, and appropriate results cannot be guaranteed. Therefore, in this embodiment, data packets are managed by user management devices 1-1 to 1-3 at the entrance of the data processing system, and control is exercised so that only one user can use the service chain.

[0028] The user management devices 1-1 to 1-3 also add tags to data packets. The tags contain route information for the service chain. The data transfer devices 2-1 to 2-9 route the data packets based on the tags. Specific examples of tags include NSH (Network Service Header), MPLS (Multi-Protocol Label Switching) header, and SRv6 (Segment Routing over IPv6). Original headers may also be defined.

[0029] In routing using MAC (Media Access Control) addresses or IP (Internet Protocol) addresses, the data transfer devices 2-1 to 2-9 must have a large routing table. On the other hand, in routing using tags as in this embodiment, the size of the routing table can be reduced by including route information in the data packets, thereby reducing the computational resources and memory resources required for routing.

[0030] The external transmitting devices 4-1 to 4-3 add destination information to data packets after all data processing has been completed and send them back to the user. The reason why the external transmitting devices 4-1 to 4-3 are necessary is that the protocols used inside and outside the data processing system are different. TCP / IP is used as a global standard for communications outside the data processing system. On the other hand, within the data processing system, packet communication is performed using tags for the reasons mentioned above. Therefore, the external transmitting devices 4-1 to 4-3 are used to absorb the difference in protocols inside and outside the data processing system.

[0031] 2 is a block diagram showing the configuration of the user management device 1-1. The user management device 1-1 includes a packet receiving unit 100, a packet sending unit 101, a packet analyzing unit 102 that analyzes received packets, a packet type determining unit 103 that determines the type of the received packets, a user information extracting unit 104 that extracts user information from the packets, a data managing unit 105 that transfers packets received from users to a tagging unit 107 at a timing according to the priority, a memory unit 106 that temporarily stores packets received from users, a tagging unit 107 that adds tags to packets received from users, a data communication control unit 108, a user management unit 109 that manages information about users who have applied to use the service, issues user IDs, and notifies the users of the issued user IDs, a QoS (Quality of Service) control unit 110 that determines the priority of packet transfer for each user based on the user information managed by the user management unit 109, and a tag generating unit 111 that generates tags describing route information received from the communication management device 5.

[0032] 3 is a flowchart illustrating the operation of user management device 1-1. When packet receiver 100 of user management device 1-1 receives a packet (step S1 in FIG. 3), packet analyzer 102 first analyzes the packet (step S2 in FIG. 3). The packet type determination unit 103 determines the packet type based on the analysis result by the packet analysis unit 102 (step S3 in FIG. 3). The packet types include "service use application" and "service use."

[0033] The packet type determination unit 103 sends packets whose packet type is “service use application” to the user information extraction unit 104 , and sends packets whose packet type is “service use” to the data management unit 105 .

[0034] The user information extraction unit 104 acquires the user information (IP address, port number, contract number, service information, priority, etc.) written in the packet received from the packet type determination unit 103 (step S4 in FIG. 3). The user information extraction unit 104 sends the acquired user information to the user management unit 109.

[0035] The user management unit 109 manages the user information received from the user information extraction unit 104. The user management unit 109 issues a user ID for the user to use the service (step S5 in FIG. 3), and transfers the user information together with the user ID to the communication management device 5 (step S6 in FIG. 3).

[0036] The QoS control unit 110 determines the packet transfer priority for each user based on the priority and service information requested by the user, and registers the priority information (QoS information) in the data management unit 105 (step S7 in FIG. 3).

[0037] The tag generation unit 111 receives the route information from the communication management device 5 and generates a tag describing the route information. Then, the tag generation unit 111 associates the generated tag with the user ID issued by the user management unit 109 and registers them in the tag addition unit 107 (step S8 in FIG. 3).

[0038] The data management unit 105 receives packets determined to be "service usage" by the packet type determination unit 103, sorts the received packets by user, and temporarily stores them in the storage unit 106. Then, the data management unit 105 retrieves packets of a specific user for each service chain from the storage unit 106 based on the priority information registered by the QoS control unit 110, and transfers them to the tagging unit 107 (step S9 in FIG. 3).

[0039] When a user ID is issued to a user, the user adds the user ID to packets whose packet type is "service use" as described below. The tag addition unit 107 adds a tag corresponding to the user ID added to the packet received from the data management unit 105, among the tags registered by the tag generation unit 111, to the received packet, and outputs the tagged packet to the packet transmission unit 101 (step S10 in Figure 3).

[0040] The packet transmitting unit 101 transmits the packet output from the tagging unit 107 to the nearest data transfer device 2-1 to 2-9 (step S11 in FIG. 3). As mentioned above, specific examples of tags include NSH and MPLS headers. Alternatively, a unique header may be defined. It is also possible to use MAC addresses or IP addresses instead of tags. However, methods using MAC addresses or IP addresses require the data transfer devices 2-1 to 2-9 to have large routing tables, which consumes more computational and memory resources than methods using tags.

[0041] In the examples of FIGS. 2 and 3, the user management device 1-1 is used as an example for explanation, but the configuration and operation of the user management devices 1-2 and 1-3 are similar to that of the user management device 1-1.

[0042] 4 is a block diagram showing the configuration of data management unit 105 of user management devices 1-1 to 1-3. Data management unit 105 is made up of packet distribution unit 1050, one or more user determination units 1051-1 to 1051-N (N is an integer equal to or greater than 1), one or more user selection units 1052-1 to 1052-N, one or more output selection units 1053-1 to 1053-N, and output control unit 1054.

[0043] The user determination unit 1051-1, the user selection unit 1052-1, and the output selection unit 1053-1 constitute a memory controller 1055-1. Similarly, the user determination unit 1051-N, the user selection unit 1052-N, and the output selection unit 1053-N constitute a memory controller 1055-N. Each of the memory controllers 1055-1 to 1055-N stores and retrieves data packets in the storage unit 106. Although one memory controller may be used, providing multiple memory controllers allows access to the storage unit 106 to be parallelized, thereby improving processing performance.

[0044] The data management unit 105 manages the data packets received from the packet type determination unit 103 for each user, and outputs them to the tag addition unit 107 at the subsequent stage at an appropriate timing. The packet sorting unit 1050 determines a memory controller that controls storage of the data packet received from the packet type determination unit 103, and outputs the data packet to the user determination unit 1051 (1051-1 to 1051-N) of the determined memory controller. Note that if part of the user ID is used as the memory controller number, the packet sorting unit 1050 can sort packets at high speed. The memory controller to which the packet is sorted may be determined appropriately depending on, for example, the availability of processing in the memory controller.

[0045] User determination units 1051-1 to 1051-N refer to the user ID of the packet received from packet distribution unit 1050, and decide whether to transfer the packet to storage unit 106 or output selection units 1053-1 to 1053-N.

[0046] Specifically, when the user determination units 1051-1 to 1051-N receive a packet having the same user ID as the user ID of a packet currently being output by the output selection units 1053-1 to 1053-N that belong to the same memory controller as the user determination units 1051-1 to 1051-N, the user determination units 1051-1 to 1051-N transfer the received packet to the output selection units 1053-1 to 1053-N that belong to the same memory controller as the user determination units 1051-1 to 1051-N. Also, when the user determination units 1051-1 to 1051-N receive a packet having a user ID different from the user ID of the packet currently being output by the output selection units 1053-1 to 1053-N that belong to the same memory controller as the user determination units 1051-1 to 1051-N, the user determination units 1051-1 to 1051-N temporarily store the received packet in the storage unit 106.

[0047] User selection units 1052-1 to 1052-N selectively retrieve data packets from storage unit 106 based on QoS information (priority information) registered by QoS control unit 110. When QoS control is not performed, user selection units 1052-1 to 1052-N retrieve the data packet of the user that was stored earliest from among the data packets stored in storage unit 106.

[0048] The output selection units 1053-1 to 1053-N select from which of the user determination units 1051-1 to 1051-N and the user selection units 1052-1 to 1052-N that belong to the same memory controller as the output selection units 1053-1 to 1053-N to output data packets received from them. Because back pressure is applied to the user selection units 1052-1 to 1052-N, data packets received from the user determination units 1051-1 to 1051-N are given priority for output. This selection may result in a change in the packet order. For this reason, the data processing devices 3-1 to 3-13 must be equipped with a packet order control function.

[0049] The output control unit 1054 outputs the packets output from the output selection units 1053-1 to 1053-N to the tag addition unit 107. When there are multiple memory controllers (output selection units 1053-1 to 1053-N), the output control unit 1054 controls which memory controller outputs packets to the tag addition unit 107. The control method may be a round robin method, a best effort method, or a DiffServ method (QoS).

[0050] When the user determination units 1051-1 to 1051-N receive a packet having a user ID different from the user ID of a packet currently being output by the output selection units 1053-1 to 1053-N that belong to the same memory controller as the user determination units 1051-1 to 1051-N, the user determination units 1051-1 to 1051-N may store the received packet as is in the storage unit 106. At this time, when a packet having the same user ID as the received packet has already been stored in the storage unit 106, the user determination units 1051-1 to 1051-N may store the stored packet and the received packet in the storage unit 106 so as to combine them, thereby allowing the storage unit 106 to hold larger data.

[0051] FIG. 5 is a block diagram showing the configuration of the data transfer device 2-8 and the data processing devices 3-9 and 3-10. The data transfer device 2 - 8 is made up of a packet receiving unit 200 , a packet transmitting unit 201 , a packet analyzing unit 202 , a transfer control unit 203 , and a data communication control unit 204 .

[0052] The data processing devices 3-9 and 3-10 each include a payload acquisition unit 300, a data construction unit 301, a data processing unit 302, a register management unit 303, a packet creation unit 304, and a tag update unit 305.

[0053] FIG. 6 is a flowchart for explaining the operation of the data transfer device 2-8, and FIG. 7 is a flowchart for explaining the operation of the data processing devices 3-9 and 3-10. When the packet receiving unit 200 of the data transfer device 2-8 receives a data packet from a previous user management device or another data transfer device (step S20 in FIG. 6), the packet analyzing unit 202 analyzes the data packet, obtains the tag attached to the data packet, and outputs the received data packet to the transfer control unit 203 (step S21 in FIG. 6).

[0054] Based on the route information contained in the tag acquired by the packet analysis unit 202 and the routing table registered in itself, the transfer control unit 203 transfers the data packet output from the packet analysis unit 202 to the data processing device 3-9 or 3-10 via the data communication control unit 204, or transfers the data packet output from the packet analysis unit 202 to an adjacent data transfer device via the packet transmission unit 201 (step S22 in Figure 6).

[0055] The payload acquisition unit 300 of the data processing device 3-9 or 3-10 extracts the payload from the data packet received from the data transfer device 2-8 (steps S30 and S31 in FIG. 7). At this time, the payload acquisition unit 300 passes the user ID and tag added to the received data packet to the packet creation unit 304.

[0056] The data constructor 301 of the data processing device 3-9 or 3-10 reconstructs the original data by combining the payloads acquired from the multiple data packets by the payload acquirer 300 (step S32 in FIG. 7). Because the order of the arriving packets may be out of order, the data constructor 301 performs packet order control to arrange the data extracted from the multiple packets in the correct order. This order control is performed based on sequence numbers, which will be described later. When the data constructor 301 is ready for data processing, it transmits the reconstructed data to the data processor 302.

[0057] Data processing unit 302 performs a predetermined process on the data received from data construction unit 301 and transmits the processed data to packet creation unit 304 (step S33 in FIG. 7). Packet creation unit 304 packetizes the data received from data processing unit 302 and transmits the generated packet to tag update unit 305 (step S34 in FIG. 7). At this time, packet creation unit 304 adds the user ID and tag received from payload acquisition unit 300 to the generated packet.

[0058] The tag update unit 305 refers to the route information included in the tag attached to the packet received from the packet creation unit 304, updates the route information included in the tag so that its own device (data processing device 3-9 or 3-10) is removed from the route of the service chain, and transmits the updated packet to the data transfer device 2-8 (step S35 in FIG. 7).

[0059] The register management unit 303 registers and acquires parameters in the data processing unit 302. Specifically, the register management unit 303 acquires user-specific parameters required for SF processing from the user management devices 1-1 to 1-3 (step S36 in FIG. 7), as will be described later, and registers the acquired parameters in the data processing unit 302 (step S37 in FIG. 7). Parameters are registered for each user (each user ID).

[0060] Furthermore, upon receiving a collection request packet from user management device 1-1 to 1-3 (step S38 in FIG. 7), register management unit 303 deletes from data processing unit 302 the parameters corresponding to the user ID included in the collection request packet. Packet creation unit 304 of the data processing device packetizes the parameters registered in data processing unit 302 and returns the packet to user management device 1-1 to 1-3 that issued the request (step S39 in FIG. 7). In this way, the parameters are managed in user management devices 1-1 to 1-3 in association with the user ID. With these parameter registration and collection functions, parameters can be swapped for each user, enabling data processing to be performed using parameters suited to the user.

[0061] The data processing unit 302 executes a predetermined process on the data received from the data construction unit 301 using a parameter corresponding to the user ID acquired by the payload acquisition unit 300, among the parameters registered by the register management unit 303.

[0062] The packet analysis unit 202 of the data transfer device 2-8 analyzes the packet received from the data processing device 3-9 or 3-10 via the data communication control unit 204, obtains the tag attached to the packet, and outputs the received packet to the transfer control unit 203 (steps S20 and S21 in FIG. 6).

[0063] Based on the route information included in the tag acquired by the packet analysis unit 202 and the routing table registered in itself, the transfer control unit 203 transfers the data packet output from the packet analysis unit 202 to the data processing device 3-9 or 3-10 via the data communication control unit 204, or transfers the data packet output from the packet analysis unit 202 to an adjacent data transfer device via the packet transmission unit 201 (step S22 in FIG. 6). At this time, due to the tag update by the tag update unit 305, a data transfer device (SF) that has already completed processing is not selected as the transfer destination.

[0064] In this way, SF processing is executed by the data processing device 3-9 or 3-10. If multiple data processing devices 3-9 and 3-10 are connected in parallel to the data transfer device 2-8, as in the example of Figure 5, it is possible to access each of the data processing devices 3-9 and 3-10 with little overhead. Furthermore, by making the data processing devices 3-9 and 3-10 independent of the data transfer device 2-8, it is possible to add or remove new data processing devices without disrupting communication between the existing data processing devices 3-9 and 3-10 and the data transfer device 2-8.

[0065] For example, a CPU or GPU may be used as the data processing devices 3-9 and 3-10, and the processing of the data processing devices 3-9 and 3-10 may be executed by software, or for example, an FPGA may be used as the data processing devices 3-9 and 3-10, and the processing of the data processing devices 3-9 and 3-10 may be executed by hardware. However, since hardware generally has higher packet processing performance, it is better to use hardware to realize a high-speed network.

[0066] In the examples of Figures 5, 6, and 7, the data transfer device 2-8 and the data processing devices 3-9 and 3-10 are used as examples for explanation, but the configuration and operation of the data transfer devices 2-1 to 2-7 and 2-9 are similar to that of the data transfer device 2-8, and the configuration and operation of the data processing devices 3-1 to 3-8 and 3-11 to 3-13 are similar to that of the data processing devices 3-9 and 3-10.

[0067] 8 is a flowchart explaining the operation of the communication management device 5. The communication management device 5 cooperates with the user management devices 1-1 to 1-3, receives user information and information on the end of service usage, and transmits route information to the user management devices 1-1 to 1-3. The communication management device 5 also manages the routing tables registered in the transfer control units 203 of the data transfer devices 2-1 to 2-9, and controls the addition / deletion of SFs in each of the data processing devices 3-1 to 3-13.

[0068] When the communication management device 5 receives the information of the end of service usage, it deletes the SF from the corresponding data processing device 3-1 to 3-13 (step S100 in FIG. 8). Specifically, if the data processing device is configured with, for example, a CPU or a GPU, the SF program can be deleted from the memory of the CPU or GPU. Also, if the data processing device is configured with, for example, an FPGA, the circuit configuration of the FPGA can be updated to delete the circuit for the SF. By deleting the SF, it is possible to reduce the power consumption of the data processing system.

[0069] When communications management device 5 receives user information and a user ID from user management unit 109 of user management devices 1-1 to 1-3 (Yes in step S101 in FIG. 8), it acquires service information included in the user information (step S102 in FIG. 8).

[0070] Then, based on the acquired service information, the communication management device 5 calculates a route that passes through the SFs necessary to realize the service requested by the user (step S103 in FIG. 8). In this calculation, the arrangement of the operating SFs, the bandwidth used between the data transfer devices 2-1 to 2-9, and the bandwidth used within the data transfer devices 2-1 to 2-9 are taken into consideration so that the new service chain does not affect others. For example, a placement and wiring method such as the maze method or a genetic algorithm can be used for the route calculation.

[0071] When there are many running services, it may be impossible to realize a new service using only the existing SFs. Therefore, an SF may be added to the data processing devices 3-1 to 3-13 that are out of operation. When it is necessary to add an SF, the communication management device 5 adds the desired SF to a data processing device that is out of operation and is located at the position of the desired SF on the route that passes through the SFs required for the new service chain (step S104 in FIG. 8).

[0072] If the data processing device is configured with, for example, a CPU or GPU, the communication management device 5 may transfer the program of the desired SF to the data processing device and store it in the memory of the data processing device. Also, if the data processing device is configured with, for example, an FPGA, the communication management device 5 may transfer data for updating the circuit configuration of the FPGA to the data processing device and add a circuit for the desired SF.

[0073] If the route calculation is successful, the communications management device 5 transmits the route information and the user ID to the user management device that is the starting point of the calculated route among the user management devices 1-1 to 1-3 (step S105 in FIG. 8). By transmitting the route information only to the user management device that is the starting point of the route in this way, each of the user management devices 1-1 to 1-3 can store only the route information related to itself in association with the user ID.

[0074] The communication management device 5 also transfers the user information and the user ID to one of the external transmission devices 4-1 to 4-3 that is the end point of the calculated route (step S106 in FIG. 8). By transferring the user information only to the external transmission device that is the end point of the route in this way, each of the external transmission devices 4-1 to 4-3 can hold only the user information related to itself in association with the user ID.

[0075] When the destination user management devices 1-1 to 1-3 and external transmission devices 4-1 to 4-3 accept the information sent from the communication management device 5, the communication management device 5 updates the routing tables registered in the transfer control units 203 of the data transfer devices 2-1 to 2-9 on the calculated route based on the results of the route calculation (step S107 in FIG. 8). That is, the routing table is updated so that the "service use" packet sent from the user who requested the new service follows the calculated route. In this embodiment, by limiting the targets of the routing table update to a minimum number of data transfer devices, it is possible to prevent the routing table from becoming bloated.

[0076] If the route calculation fails, or if the information sent from the communication management device 5 is not accepted by the destination user management device 1-1 to 1-3 or external transmission device 4-1 to 4-3, the communication management device 5 notifies the user via the user management device 1-1 to 1-3 that the service cannot be started.

[0077] The communications management device 5 repeatedly executes the above process until the operation of the data processing system is completed (Yes in step S108 in FIG. 8).

[0078] Next, the network connection topology of the data processing system of this embodiment will be described. As the network connection topology of this embodiment, a configuration in which specific user management devices 1-1 to 1-6 and specific external transmission devices 4-1 to 4-6 are connected to specific data transfer devices 2-1 to 2-9 as shown in Fig. 9 can be considered.

[0079] Another possible network connection configuration is one in which all of the user management devices and external transmission devices 1a-1 to 1a-9 are connected to all of the data transfer devices 2-1 to 2-9, as shown in Figure 10. As is clear from the names, the user management devices and external transmission devices 1a-1 to 1a-9 combine the functions of a user management device and an external transmission device. Note that data processing devices are omitted from Figures 9 and 10.

[0080] In this embodiment, the communication within the system is packet communication, and the connection configuration between the data transfer devices 2-1 to 2-9 is arbitrary. The connection configuration between the data transfer devices 2-1 to 2-9 may be, for example, a bus type, a star type, a line type, a tree type, a ring type, a torus type, a mesh type, or a combination of these types.

[0081] As shown in FIG. 1, packets from users can be input to any of the user management devices 1-1 to 1-6 or any of the user management device / external transmission devices 1a-1 to 1a-9 using a load balancer 6 external to the data processing system.

[0082] When the input and output locations are fixed, as in the configuration shown in Figure 9, route calculation is easy. However, as the number of users (= number of service chains) increases, it becomes difficult to obtain the optimal route, which may worsen service latency. In the worst case, service provision may not be possible.

[0083] To send a packet for which all data processing has been completed back to the user from any of the external transmission devices 4-1 to 4-6 or any of the user management devices and external transmission devices 1a-1 to 1a-9, one possible method is to transfer the user information (IP address, etc.) held by the user management devices 1-1 to 1-6 (or the functional section of the user management device in the user management devices and external transmission devices 1a-1 to 1a-9) to the external transmission devices 4-1 to 4-6 (or the functional section of the external transmission device in the user management devices and external transmission devices 1a-1 to 1a-9) via the communication management device 5.

[0084] As described in Figure 8, the communication management device 5 transfers the user information to the external transmission device or user management device / external transmission device that is the end point of the calculated route, among the external transmission devices 4-1 to 4-6 or the user management device / external transmission devices 1a-1 to 1a-9 (step S106).

[0085] The external transmitting devices 4-1 to 4-6 or the user management device / external transmitting devices 1a-1 to 1a-9 identify the user to whom the packet is addressed based on the user ID attached to the packet for which data processing has been completed, and send the packet for which data processing has been completed back to the user based on the user information transferred from the communication management device 5.

[0086] In order to increase the degree of freedom of communication paths and because the data processing system is universal from the viewpoint of scalability, the configuration shown in Fig. 10, in which all user management devices and external transmission devices 1a-1 to 1a-9 are connected to all data transfer devices 2-1 to 2-9, is desirable. This configuration is suitable for data centers because the input and output are close to each other.

[0087] As described above, the calculation of the route of the service chain is performed by the communication management device 5. One communication management device 5 is placed in each domain, and the communication management device 5 transmits route information to the user management devices 1-1 to 1-6 in charge within the domain. By calculating the route using one communication management device 5, unexpected route duplication can be avoided.

[0088] When the system scale becomes large, the domain is divided into two, for example, as shown in Figure 11, and each domain 7-1, 7-2 is managed by a single communication management device 5-1, 5-2. The route between the domains 7-1, 7-2 is determined in cooperation between the adjacent communication management devices 5-1, 5-2. As a result, in this embodiment, an appropriate route can be assigned to each service chain.

[0089] In the data processing system of this embodiment, the data transfer devices 2-1 to 2-9 and the data processing devices 3-1 to 3-13 are separate, so that a bus type network or a partial mesh type network, which has also been considered in the conventional SFC, can be realized.

[0090] Fig. 12 is a diagram showing an example of a bus network. In the configuration of Fig. 12, a user management device 1, data transfer devices 2-1 to 2-3, and an external transmission device 4 are connected in series. In a bus network, the data route is simple. However, since all service chains pass through the same data transfer devices 2-1 to 2-3, there is a problem that the communication bandwidth is likely to become a bottleneck.

[0091] To solve this problem, branching points can be created at the data transfer devices 2-1 to 2-3. From an economical point of view, it is desirable to create branching points only at necessary points. A bus-type network is suitable for a carrier network because the input and output are separated.

[0092] 13 is a sequence diagram illustrating the operation of the data processing system of this embodiment. A user who wants to use the data processing system of this embodiment uses his / her own user terminal 8 to apply for service use to the data processing system before using the service (step S200 in FIG. 13).

[0093] When the user information extraction unit 104 of the user management device 1 receives a packet with a packet type of "service use application" from the user terminal 8, it acquires the user information described in the packet. The user management unit 109 of the user management device 1 issues a user ID and transfers the user information and user ID to the communication management device 5 (Step S201 in FIG. 13).

[0094] When the communication management device 5 receives the user information, it calculates the route of the service chain based on the service information contained in the user information, and transmits the route information and the user ID to the user management device 1 that is the starting point of the calculated route among the multiple user management devices (step S202 in Figure 13).

[0095] The communication management device 5 also transmits the user information and the user ID to the external transmission device 4 that is the end point of the calculated route among the multiple external transmission devices (step S203 in FIG. 13). Although not shown in FIG. 13, the communication management device 5 also updates the routing table registered in the transfer control unit 203 of the data transfer device on the calculated route based on the result of the route calculation. In this way, the communication management device 5 prepares an environment in which the user can use the service.

[0096] In response to the "service use application" packet, user management unit 109 of user management device 1 returns a packet including the issued user ID to user terminal 8, thereby notifying the user of the user ID (step S204 in FIG. 13).

[0097] When starting to use the service, the user to whom the user ID has been issued notifies the data processing system of the start of use of the service using his / her own user terminal 8 (step S205 in FIG. 13).

[0098] When user management unit 109 of user management device 1 receives a packet with a packet type of "service usage start" from user terminal 8, it identifies the user based on the user ID added to the packet and generates user-specific parameters required for data processing in SF based on service information included in user information managed in association with the user ID. Then, user management unit 109 transmits the user-specific parameters to data processing devices 3-1 to 3-N (SF) on the route of the service chain based on route information managed in association with the user ID (step S206 in FIG. 13).

[0099] 13 does not show data transfer devices, the user-specific parameters are packetized and transmitted from the user management device 1 to the nearest data transfer device. Based on the results of packet analysis by the packet analysis unit 202, the transfer control unit 203 of each data transfer device transfers the packetized parameters to the data processing device connected to the own device among the data processing devices 3-1 to 3-N (SF) to which the parameters are to be transmitted.

[0100] The register management unit 303 of the data processing devices 3-1 to 3-N (SF) that received the packetized parameters registers the parameters in the data processing unit 302 in association with the user ID added to the received packet.

[0101] To use the service, the user transmits a data packet to the data processing system using his / her user terminal 8 (step S207 in FIG. 13). The data packet of the packet type "service usage" transmitted from the user terminal 8 has a user ID added thereto.

[0102] Tagging unit 107 of user management device 1 adds a tag corresponding to the user ID added to the packet of packet type "service usage" received from user terminal 8, and outputs the tagged packet to packet sending unit 101. Packet sending unit 101 of user management device 1 transmits the packet output from tagging unit 107 to the nearest data transfer device.

[0103] 13 does not show data transfer devices, the packet analysis unit 202 of each data transfer device analyzes the received packet and acquires the tag added to the packet. The transfer control unit 203 of the data transfer device transfers the packet to the data processing device connected to itself among the data processing devices 3-1 to 3-N (SF) on the route of the service chain, in accordance with the route information included in the tag acquired by the packet analysis unit 202 (step S208 in FIG. 13).

[0104] Each data processing device 3-1 to 3-N (SF) receives a packet from a data transfer device connected to itself, and transmits the packet after processing by the SF to the data transfer device. In this way, packets are transferred to the data processing device (SF) multiple times by the data transfer device on the route of the service chain, and the packet after all data processing is completed is transferred by the data transfer device to the external transmission device 4, which is the end point of the route of the service chain (step S209 in FIG. 13).

[0105] The external transmitting device 4 identifies the user to whom the packet is addressed based on the user ID added to the received packet, removes the tag from the packet, and then adds TCP / IP destination information to the packet based on the user information corresponding to the user ID and sends the packet back to the user terminal 8 (step S210 in FIG. 13).

[0106] When another user uses the same FS, at the timing when the user switches, the user management unit 109 of the user management device 1 transmits a packet requesting the retrieval of parameters specific to the user who has finished using the service to the data processing devices 3-1 to 3-N (SF) on the route of the service chain based on the route information managed in association with the user ID of the user. The transfer control unit 203 of each data transfer device transfers the retrieval request packet from the user management device 1 to the data processing device connected to its own device among the data processing devices 3-1 to 3-N (SF), based on the result of packet analysis by the packet analysis unit 202.

[0107] When the register management unit 303 of the data processing device receives a collection request packet from the user management device 1, it deletes the parameters corresponding to the user ID included in the collection request packet from the data processing unit 302. The packet creation unit 304 of the data processing device packetizes the parameters registered in the data processing unit 302 and transmits them to the data transfer device connected to the data processing device. The packetized parameters are transferred from the data transfer device to the user management device 1 (step S211 in FIG. 13).

[0108] The user management unit 109 of the user management device 1 manages the parameters collected from the data processing devices 3-1 to 3-N (SF) via the data transfer device in association with the user ID of the user who has finished using the service. The user management device 1 also notifies the user terminal 8 that service usage has ended (step S212 in FIG. 13). A packet indicating the end of service usage is also sent from the user management device 1 to the communication management device 5.

[0109] The system determines that service usage has ended when the user notifies it that they will stop using the service, or when no data is sent for a certain period of time (timeout). In either case, the system notifies the user terminal 8 that service usage has ended. At that time, if there are any parameters for that user remaining in the data processing devices 3-1 to 3-N (SF), they are collected (destroyed) and parameters for the next user are sent.

[0110] If a user is using a service but another user is waiting, after using the service for a certain period of time, the service is temporarily suspended as a result of QoS control or when instructed externally, and the data processing devices 3-1 to 3-N (SF) are handed over to the next user. At that time, parameters are retrieved from the data processing devices 3-1 to 3-N (SF) and the parameters of the next user are transmitted. However, the timing of the handover is when the data processing has been completed. For example, in an image processing service, processing is performed for each frame, so the parameter update process begins after the transmission of one frame of data has been completed.

[0111] Figure 14 is a sequence diagram illustrating another operation of the data processing system of this embodiment. The data processing system of this embodiment can also provide services that do not require user-specific parameters. If user-specific parameters are not used, the processes of steps S206 and S211 described in Figure 13 are unnecessary. The other processes are the same as those in Figure 13.

[0112] An example of a service that does not use parameters is a network service, such as a firewall, DPI, or load balancing, which is designed to handle multiple traffic flows simultaneously and does not require parameter switching.

[0113] Even in cloud services, for example, if the same learning data is used in machine learning or the same parameters can be used in image processing, parameter switching is not necessary and the service can be treated as one that does not use parameters.

[0114] The data processing system of this embodiment can use a general IP network for communication with the user terminal 8. In this case, the data processing system uniquely identifies the user from the IP address and port number written in the packet received from the user terminal 8, and issues a user ID.

[0115] Figure 15(A) shows the format of the packet sent from user terminal 8 when applying to use the service, Figure 15(B) shows the format of the packet sent and received between user terminal 8 and the data processing system when using the service, and Figure 15(C) shows the format of the packet sent and received within the data processing system when using the service.

[0116] The “service use application” packet includes an Ethernet (registered trademark) header 400 , an IP header 401 , a TCP or UDP header 402 , a payload 403 , and an FCS (Frame Check Sequence) 404 . When applying for service use, the user terminal 8 stores packet type information (405 in FIG. 15A) indicating "application for service use" in the payload 403 of the packet and transmits it to the data processing system.

[0117] As described above, the user management unit 109 of the user management device 1 uniquely identifies the user from the source IP address and source port number extracted from the "service use application" packet, and issues a user ID. The user management unit 109 returns a packet in which the issued user ID is stored in the location 405 in Figure 15(A) to the user terminal 8.

[0118] When using a service, the user terminal 8 stores the user ID, sequence number, and packet type information indicating "service usage" in the location indicated by 405 in payload 403 of the packet in Figure 15(B), and stores a data head flag, data, and data tail flag in the location indicated by 406 in payload 403. The user terminal 8 transmits the "service usage" packet generated in this way to the data processing system. The data head flag, data tail flag, and sequence number are information necessary for the data processing device (SF) to reconstruct the data.

[0119] When a service is used, packets in the format shown in Fig. 15(C) are sent and received within the data processing system. This packet includes an Ethernet header 400, a tag 407, a payload 403, and an FCS 404. A user ID, a sequence number, and packet type information are stored in the location indicated by 408 in the payload 403, and a data start flag, data, and a data end flag are stored in the location indicated by 409 in the payload 403. Packet communication is performed within the data processing system using the tag 407. By describing route information to the destination SF in each tag 407, packets are transferred according to the route information, and data processing is performed in the SF corresponding to the service requested by the user.

[0120] Each of the user management devices 1, 1-1 to 1-6, user management device / external transmission devices 1a-1 to 1a-9, data transfer devices 2-1 to 2-9, data processing devices 3-1 to 3-13, external transmission devices 4, 4-1 to 4-6, communication management devices 5, 5-1, 5-2, and user terminal 8 described in this embodiment can be realized by a computer equipped with a CPU (or GPU), a storage device, and an interface, and a program that controls these hardware resources. An example configuration of this computer is shown in FIG. 16. The computer includes a CPU 500 (or GPU), a storage device 501, and an interface device 502. In such a computer, a program for implementing the data processing method of the present invention is stored in the storage device 501. The CPU 500 (or GPU) of each device executes the processing described in this embodiment in accordance with the program stored in the storage device 501.

[0121] At least some of the user management devices 1, 1-1 to 1-6, user management device / external transmission devices 1a-1 to 1a-9, data transfer devices 2-1 to 2-9, data processing devices 3-1 to 3-13, external transmission devices 4, 4-1 to 4-6, and communication management devices 5, 5-1, and 5-2 may be configured using FPGAs or ASICs. In particular, by performing some of the packet processing and data processing using these hardware, improved processing performance can be expected. [Industrial Applicability]

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

[0123] 1, 1-1 to 1-6...user management device, 1a-1 to 1a-9...user management device and external transmission device, 2-1 to 2-9...data transfer device, 3-1 to 3-13...data processing device, 4, 4-1 to 4-6...external transmission device, 5, 5-1, 5-2...communication management device, 6...load balancer, 7-1, 7-2...domain, 8...user terminal, 100, 200...packet receiving unit, 101, 201...packet sending unit, 102, 202...packet analysis unit, 103...packet type determination unit, 104...user information extraction unit, 105...data management unit, 106...storage unit, 107...tag addition unit, 108...data communication control unit, 109...user management unit, 110...QoS control unit, 111...tag generation unit, 203...transfer control unit, 204...data communication control unit, 300...payload acquisition unit, 301...data construction unit, 302...data processing unit, 303...register management unit, 304...packet creation unit, 305...tag update unit, 1050...packet distribution unit, 1051-1 to 1051-N...user determination unit, 1052-1 to 1052-N...user selection unit, 1053-1 to 1053-N...output selection unit, 1054...output control unit, 1055-1 to 1055-N...memory controller.

Claims

1. a user management device configured to manage information of users who have applied to use the service and to control the forwarding of packets received from the users; a data processing device configured to perform data processing of a service function on data contained in the received packets; one or more data transfer devices each having one or more of the data processing devices under its control; a communication management device configured to calculate a route of a service chain required to realize a service requested by a user, transmit route information to the user management device, and update a routing table registered in the data transfer device on the calculated route based on the result of the route calculation; an external transmitting device configured to return to a user a packet for which all data processing in the service chain has been completed; the user management device, a user management unit configured to manage information of users who have applied to use the service, issue user IDs, and notify the users of the issued user IDs; a tag generation unit configured to generate a tag describing the route information received from the communication management device; a tagging unit configured to add the tag to packets received from a user; a packet transmitter configured to transmit the tagged packet to the data transfer device; a QoS control unit configured to determine a priority of packet transfer for each user based on user information managed by the user management unit; a data management unit configured to transfer packets received from a user to the tagging unit at a timing according to the priority; The user ID is added to a packet received from the user, the data transfer device transfers the packet to the data processing device or another data transfer device under its control based on the route information included in the tag added to the received packet and the routing table; The data processing system is characterized in that the data processing device returns a packet for which data processing has been completed to the data transfer device that sent the packet.

2. 2. The data processing system of claim 1, further comprising a storage unit for temporarily storing packets received from a user; The data management unit a user selection unit configured to selectively retrieve packets from the storage unit based on the priority information; a user determination unit configured to determine whether a packet received from a user has the same user ID as the user ID of a packet currently being output to the tagging unit; an output selection unit configured to selectively output packets output from either the user determination unit or the user selection unit to the tagging unit; The data processing system is characterized in that the user determination unit transfers a packet received from the user to either the storage unit or the output selection unit based on a result of the determination.

3. 3. The data processing system of claim 2, The data management unit a plurality of memory controllers each including the user determination unit, the user selection unit, and the output selection unit; a packet distribution unit configured to determine the memory controller to which a packet received from a user is to be distributed and to output the packet received from the user to the determined memory controller; an output control unit configured to select packets output from the output selection units of each of the plurality of memory controllers in accordance with a predetermined control method and output the selected packets to the tag addition unit.

4. 4. The data processing system according to claim 1, A data processing system characterized in that the user management device sends user-specific parameters required for processing the service function to the data processing device on the route of the service chain based on the route information before the user uses the service, and recovers the parameters from the data processing device after the service use is completed.

5. 5. The data processing system according to claim 1, A data processing system characterized in that, when a new service function is required to realize a service requested by a user, the communication management device adds the necessary service function to the data processing device that is not in operation, and after the service has ended, deletes the service function from the data processing device that was used to realize the service.

6. a first step in which the user management device transmits information of a user who has applied to use the service to the communication management device and an external transmission device; a second step in which the communication management device calculates a route of a service chain required to realize the service requested by the user based on the service information included in the user information, transmits the route information to the user management device, and updates a routing table registered in a data transfer device on the calculated route based on the result of the route calculation; a third step in which the user management device adds a tag describing the route information to a packet received from the user and transmits the packet to a data transfer device; a fourth step in which the data transfer device transfers the packet to a subordinate data processing device or another data transfer device based on the route information included in the tag added to the received packet and a routing table managed by the data transfer device; a fifth step in which the data processing device performs data processing of a service function on the data included in the received packet and returns the packet after the data processing is completed to the data transfer device that is the sender; and a sixth step in which the external transmitting device returns to the user the packet for which all data processing in the service chain has been completed.

7. 7. The data processing method according to claim 6, a seventh step in which the user management device transmits user-specific parameters required for processing the service function to the data processing device on the route of the service chain based on the route information before the user uses the service; and an eighth step in which the user management device retrieves the parameters from the data processing device after use of the service has ended.

Citation Information

Patent Citations

  • Service providing system, service providing method, and service providing program

    JP2016225877A

  • System and method for service function control, service control node and program

    JP2017060079A

  • Mobile service routing in a network environment

    US20120281540A1

  • Service function chaining based on resource availability in the time dimension

    US20180262431A1

  • Data processing device, network system, packet order control circuit and data processing method

    WO2018159677A1