US20150281108A1 - Communication method and apparatus in a network including a plurality of devices - Google Patents

Communication method and apparatus in a network including a plurality of devices Download PDF

Info

Publication number
US20150281108A1
US20150281108A1 US14/672,863 US201514672863A US2015281108A1 US 20150281108 A1 US20150281108 A1 US 20150281108A1 US 201514672863 A US201514672863 A US 201514672863A US 2015281108 A1 US2015281108 A1 US 2015281108A1
Authority
US
United States
Prior art keywords
packet
information
path
destination
link setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/672,863
Other versions
US9967171B2 (en
Inventor
Marcin Rafal FURTAK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FURTAK, MARCIN RAFAL
Publication of US20150281108A1 publication Critical patent/US20150281108A1/en
Application granted granted Critical
Publication of US9967171B2 publication Critical patent/US9967171B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines

Definitions

  • the present disclosure relates to a communication method and an apparatus in a network including a plurality of devices. More particularly, the present disclosure relates to a communication method and an apparatus using a software defined networking (SDN) technology in a network including a plurality of devices.
  • SDN software defined networking
  • the SDN is a technology, which separates hardware from software and controls the network.
  • a network device is not controlled by various software sets by separating hardware from software.
  • software which meets the user's needs and environment may be developed or introduced, and thus it is possible for each individual to implement an optimized network environment by selecting only functions which are needed in the network environment.
  • an aspect of the present disclosure is to provide a communication method and an apparatus using a software defined networking technology in a network including a plurality of devices.
  • a method of communication by a first device includes selecting, by the first device, one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links, generating link setting information needed to transmit a packet to the destination device through a second device based on information of a second device included in the selected path, generating a first packet by inserting path information into the packet based on the link setting information, and transmitting the first packet to the destination device through the second device.
  • the generating of the link setting information may include generating index information which indicates the link setting information.
  • the generating of the first packet by inserting the path information may include generating a rule for inserting the path information into the packet based on the link setting information and generating the first packet by inserting the path information into the packet according to the generated rule.
  • the generating of the first packet by inserting the path information may include inserting the generated index information into a source port of a packet header of the packet and inserting address information of the second device into a destination port of the packet header of the packet.
  • the selecting may include selecting a path including a quickest link, from among available links by each device within the network, based on information of the available links.
  • a first device which communicates through a second device.
  • the first device includes a first packet controller configured to select one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links, and to generate link setting information, which is needed to transmit a packet to the destination device through the second device based on information of the second device included in the selected path, a first packet generation unit configured to generate a first packet by inserting path information into the packet based on the link setting information, and a first transmission unit configured to transmit the first packet to the destination device through the second device.
  • the first packet controller may further generate index information which indicates the link setting information.
  • the first packet controller may further generate a rule for inserting the path information into the packet based on the link setting information
  • the first packet generation unit may further generate the first packet by inserting the path information into the packet based on the generated rule.
  • the first packet generation unit may further insert the generated index information into a source port of a packet header of the packet and generate the first packet by inserting address information of the second device into a destination port of the packet header of the packet.
  • the first packet controller may further select the path including a quickest link, from among available links by each device within the network, based on a state of the available links.
  • a method of communication by a second device includes receiving, by the second device, a first packet from a first device, determining whether the received first packet passes through the second device based on path information included in the received first packet, generating a second packet by changing the path information according to link setting information based on a result of the determination, and transmitting the second packet to a destination device.
  • the determining may determine whether index information, which indicates the link setting information, is included in the path information.
  • the generating of the second packet may include generating a rule for changing the path information included in the received first packet, based on the link setting information, and changing the path information included in the received first packet according to the generated rule.
  • the changing of the path information may include inserting target address information into a destination port of the received first packet and inserting address information of the second device into a source port of the received first packet.
  • the method may further include receiving a response packet in response to the transmitted second packet, generating a third packet by changing path information of the response packet based on the link setting information, and transmitting the third packet to the first device.
  • the generating of the third packet may include generating a rule for changing the path information included in the response packet, based on the link setting information, and generating the third packet by changing the path information included in the response packet based on the generated rule.
  • the generating of the third packet may include generating the third packet by inserting address information of the first device into a destination port of the response packet and inserting destination address information of a source port of the response packet.
  • a second device in accordance with an aspect of the present disclosure, includes a second reception unit configured to receive a first packet from a first device, a second packet controller configured to determine whether the received first packet passes through the second device based on path information included in the received first packet, a second packet generation unit configured to generate a second packet by changing the path information according to link setting information based on a result of the determination of the second packet controller, and a second transmission unit configured to transmit the second packet to a destination device.
  • the second packet controller may further determine whether the packet passes through the second device based on whether index information, which indicates the link setting information, is included in the path information.
  • the second packet controller may further generate a rule for generating the second packet based on the link setting information, and the second packet generation unit may further generate the second packet by changing the path information included in the received first packet according to the generated rule.
  • the changing of the path information may include inserting destination address information into a destination port of the received first packet and inserting address information of the second device into a source port of the received first packet.
  • the second reception unit may further receive a response packet in response to the transmitted second packet
  • the second packet controller may further generate a third packet by changing path information of the response packet based on the link setting information
  • the second transmission unit may further transmit the third packet to the first device.
  • the second packet controller may further generate a rule for changing the path information included in the response packet, based on the link setting information, and the second packet generation unit may further generate the third packet by changing the path information included in the response packet based on the generated rule.
  • the generating of the third packet may include inserting address information of the first device into a destination port of the response packet and inserting address information of a destination into a source port of the response packet.
  • a non-transitory computer-readable storage medium stores instructions that, when executed, cause at least one processor to perform the above methods of communication.
  • FIG. 1 illustrates various communications according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart illustrating a method of generating and transmitting a first packet by a first device according to an embodiment of the present disclosure
  • FIG. 3 is a flowchart illustrating a method of generating and transmitting a second packet by a second device according to an embodiment of the present disclosure
  • FIG. 4 is a flowchart illustrating a method of receiving a response packet and generating and transmitting a third packet by a second device according to an embodiment of the present disclosure
  • FIG. 5 is a block diagram of a first device according to an embodiment of the present disclosure.
  • FIG. 6 is a block diagram of a second device according to an embodiment of the present disclosure.
  • FIG. 7 is a detailed flowchart illustrating a method of performing communication using a packet generated by a first device according to an embodiment of the present disclosure
  • FIG. 8 is a block diagram of a first packet according to an embodiment of the present disclosure.
  • FIG. 9 is a block diagram of a second packet according to an embodiment of the present disclosure.
  • FIG. 10 is a block diagram of a third packet according to an embodiment of the present disclosure.
  • FIG. 11 illustrates a structure of a device to explain a method of communication according to an embodiment of the present disclosure.
  • FIGS. 1 through 11 discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way that would limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged communications system.
  • the terms used to describe various embodiments are exemplary. It should be understood that these are provided to merely aid the understanding of the description, and that their use and definitions in no way limit the scope of the present disclosure. Terms first, second, and the like are used to differentiate between objects having the same terminology and are in no way intended to represent a chronological order, unless where explicitly stated otherwise.
  • a set is defined as a non-empty set including at least one element.
  • FIG. 1 illustrates various communications according to an embodiment of the present disclosure.
  • devices within a network may use a software defined networking (SDN) technology.
  • SDN software defined networking
  • a first device 110 , a second device 120 and a router 140 are illustrated, where the first device 110 and the second device 120 may be devices which use the SDN technology, where the router 140 , for example, cannot use the SDN technology.
  • the SDN technology is a technology which controls the network by separating hardware from software.
  • the network device is specialized in transmission and thus is optimized in transmission, and the functions related with the other operations or function implementation are separately processed by software, so that all network devices within the network are managed by software.
  • the SDN is easy to one of ordinary skill in the art, and thus detailed explanation of the SDN is omitted here.
  • the existing router 140 as illustrated in FIG. 1 , generally cannot use the SDN technology.
  • hardware and software are integrated, and thus the network device can be controlled by only the software corresponding to the hardware.
  • the first device 110 may obtain information of links which may be used by each device within the network. Furthermore, the first device 110 may select a path which is the combination of quickest links in order to transmit the packet to a destination device 130 according to the information of links. For example, the first device 110 may obtain information of a first link 150 , a second link 160 , and a third link 170 , and may select the quickest link by using the obtained information.
  • the first device 110 may select the second link 160 .
  • the first device 110 cannot communicate with the destination device 130 through the second link using a general communication method.
  • a general network devices are connected based on the router 140 , and the devices connected to the router 140 can communicate with the destination device 130 only through the router 140 .
  • the first device 110 needs to communicate with the destination device 130 using the third link 170 via the router 140 .
  • the first device 110 cannot communicate with the destination device 130 using a path including the quickest link.
  • a method and apparatus for communicating with the destination device 130 by the first device 110 which uses the SDN technology by using a path including the quickest link within a network including a router 140 which is the existing network device.
  • FIG. 2 is a flowchart illustrating a method of generating and transmitting a first packet by a first device according to an embodiment of the present disclosure.
  • the first device may vary.
  • the first device may be a computer, a notebook computer, a mobile device, a mobile phone, a tablet computer, etc.
  • the first device may use the SDN technology.
  • the first device 110 as illustrated in FIG. 1 , may control network devices within the network using software.
  • the first device 110 may be prepared to use the SDN technology or use the SDN technology through software installation.
  • a flowchart illustrating a method is illustrated, such that in operation S 210 , a first device 110 , as illustrated, in FIG. 1 , selects one of paths to the destination device based on information of available links which may be used by each device within the network.
  • the first device 110 may obtain information of links which may be used by each device within the network.
  • the first device 110 may obtain such information as the first link 150 , the second link 160 , and the third link 170 , as illustrated in FIG. 1 .
  • the link may be defined as a path which is used or usable when each device communicates with the destination device 130 , as illustrated in FIG. 1 .
  • the link may include Wi-Fi, worldwide interoperability for microwave access (WiMAX), third generation (3G), and fourth generation (4G) connections, and is not limited thereto.
  • information of links may include state information on links.
  • information of links may include traffic information, error information, link speed, and link usage, etc.
  • the first device 110 may select one of paths to the destination device based on the information of links. For example, the first device 110 may determine the quickest link from among the first link 150 , the second link 160 , and the third link 170 so as to select the path to the destination device 130 . If the first device 110 determines that the second link 160 is quickest, the first device 110 may select the path which transmits the packet to the destination device 130 via the second device 120 , as illustrated in FIG. 1 , including the second link 160 . When a plurality of links are included in the path to the destination device 130 , the path to the destination device 130 may be selected by determining combination of the quickest links.
  • the first device 110 In operation S 220 , the first device 110 generates link setting information which is needed to transmit the packet to the destination device through the second device 120 based on the information of the second device included in the selected path.
  • the second device 120 may vary.
  • the second device 120 may be a computer, a mobile device, a mobile phone, a tablet computer, etc.
  • the second device 120 may use the SDN technology.
  • the second device 120 may control network devices within the network using software.
  • the second device 120 may be prepared to use the SDN technology or may use the SDN technology through software installation.
  • it is assumed that the second device 120 is singular for the convenience of description. If a plurality of devices, which may use the SDN technology, are included in the path selected by the first device 110 , there may be a plurality of second devices 120 .
  • the first device 110 may generate link setting information based on information of the second device 120 included in the selected path.
  • the link setting information is defined as information which is needed for the first device 110 to communicate with the destination device 130 using the path selected by the first device 110 .
  • the link setting information may include address information of the second device 120 , port information of the second device 120 , address information of the first device, 110 , port information of the first device 110 , address information of the destination device 130 , port information of the destination device 130 , setting information on transmission control protocol/internet protocol (TCP/IP) 4 layers of the first device 110 and the second device 120 .
  • TCP/IP transmission control protocol/internet protocol
  • link setting information generated by the first device 110 may be shared by devices which may use the SDN technology within the network.
  • the link setting information generated by the first device 110 may be used by the second device 120 .
  • the first device 110 may generate index information along with link setting information.
  • the index information is defined as information which indicates whether the packet is a packet which passes the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information.
  • the second device 120 may determine that the packet passes the second device 120 , and may obtain the address information of the destination device of the packet received in the link setting information which is indicated by the index information.
  • the first device 110 may generate the index information in various methods.
  • the first device 110 may use a hash code, which is generated using the hash function, as index information.
  • the first device 110 According to operation S 230 , the first device 110 generates a first packet 800 , as illustrated in FIG. 8 , by inserting path information to the packet based on the generated link setting information.
  • the first device 110 may generate a packet to be transmitted to the destination device.
  • the first device 110 may generate the first packet 800 by inserting path information to the packet based on the link setting information so that the transmitted packet may pass through the second device 120 . Furthermore, the first device 110 may generate a rule which inserts the path information to the packet using generated link setting information.
  • the rule which inserts path information is defined as a method which inserts path information to the packet so that the first device 110 may communicate with the destination device 130 through the selected path. For example, the first device 110 may generate a rule of inserting generated index information on the source port of the packet header and inserting the address information of the second device on a destination port of the packet header. The first device 110 may generate the first packet 800 depending on the rule.
  • the first device transmits the generated first packet 800 .
  • the first device 110 may transmit the first packet 800 using a wired, wireless, and home network.
  • the first device 110 may transmit the first packet 800 using the connected router 140 , as illustrated in FIG. 1 .
  • the address information of the second device is inserted in a destination port of the first packet, and thus the router 140 , which receives the first packet 800 , may transmit the first packet 800 to the second device 120 .
  • the second device 120 receives the first packet 800 and transmits the received first packet 800 to the destination device, and the operation performed by the second device 120 is described below with reference to FIG. 3 .
  • FIG. 3 is a flowchart illustrating a method of generating and transmitting a second packet by a second device, according to an embodiment of the present disclosure.
  • a flowchart is illustrated, such that in operation S 310 , a second device 120 , as illustrated in FIG. 1 , receives a packet from the first device 110 , as illustrated in FIG. 1 .
  • the second device 120 may receive the first packet 800 , as illustrated in FIG. 8 , using a wired, wireless, and home network from the first device 110 .
  • the second device 120 may receive the first packet 800 using the router 140 , as illustrated in FIG. 1 .
  • the second device 120 determines whether the received packet is a packet which passes through the second device 120 based on the path information included in the received packet.
  • the second device 120 may determine whether the received packet is a packet which passes through the second device 120 by the information on whether index information indicating the link setting information is included. For example, if the index information is included in the packet received by the second device 120 , the second device 120 may determine the received packet as the first packet 800 , which is transmitted to the destination device 130 , as illustrated in FIG. 1 , via the second device 120 according the path selected by the first device 110 .
  • the second packet 900 is generated by changing the path information according to the link setting information based on the result of the determination performed in operation S 320 .
  • the second device 120 may generate the second packet 900 by changing the path information included in the packet according to the link setting information which is indicated by the index information of the received packet. Furthermore, the second device 120 may generate a rule which changes the path information included in the packet using link setting information.
  • the rule which changes the path information is defined as a method which changes path information of the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • the second device 120 may generate a rule of inserting address information of the second device 120 into a source port of a packet header, and inserting the address information of the destination device 130 into a destination port of the packet header.
  • the second device 120 may generate the second packet 900 by changing the path information included in the packet according to the generated rule.
  • the second device 120 transmits the generated second packet 900 to the destination device 130 .
  • the second device 120 may transmit the second packet 900 to the destination device 130 through the link selected by the first device 110 .
  • the second device 120 may transmit the generated second packet 900 to the destination device 130 through the second link 160 which has determined that the first device 110 is the quickest.
  • FIG. 4 is a flowchart illustrating a method of receiving a response packet and generating and transmitting a third packet by a second device, according to an embodiment of the present disclosure.
  • FIG. 4 a flowchart is illustrated, such that in operation S 410 , the second device 120 , as illustrated in FIG. 1 , receives a response packet in response to the transmitted second packet 900 , as illustrated in FIG. 9 .
  • the second device 120 may receive a response packet in response to the second packet 900 transmitted from the destination device 130 , as illustrated in FIG. 1 .
  • the second device 120 may determine whether the received packet is a response packet by various information sets included in a header. For example, the second device 120 may determine whether the received packet is a response packet based on a TCP/user datagram protocol (UDP) header of the received packet. In detail, if the address information included in a source port of the TCP/UDP header of the second packet 900 transmitted by the second device 120 is included in a destination port of the TCP/UDP header included in the packet received from the destination device 130 , the second device 120 may determine that the received packet is a response packet to the second packet 900 .
  • UDP user datagram protocol
  • the second device 120 may generate a third packet by changing the path information of the response packet based on the link setting information.
  • the second device 120 may determine that the actual destination of the response packet is not the second device 120 , but the first device 110 . Hence, a third packet including the address information of the first device 110 may be generated to be transmitted the third packet to the first device 110 .
  • the second device 120 may generate the third packet by changing path information included in the response packet. Furthermore, the second device 120 may generate a rule which changes path information included in the response packet using link setting information. For example, the second device 120 may generate a rule of inserting address information of the destination device 130 into the source port of the response packet header, and inserting the address information of the first device 110 into a destination port of the packet header. The second device 120 may generate the third packet 1000 , as illustrated in FIG. 10 , by changing the path information included in the response packet according to the generated rule.
  • the second device 120 transmits the generated third packet to the first device 110 .
  • the second device 120 may transmit the third packet 1000 using a wired, wireless, and home network.
  • the second device 120 may transmit the third packet 1000 through the connected router 140 , as illustrated in FIG. 1 .
  • the address information of the first device 110 has been inserted into a destination port of the third packet 1000 which is transmitted by the second device 120 , and thus the router 140 , which has received the third packet 1000 , may transmit the third packet 1000 to the first device 110 .
  • FIG. 5 is a block diagram of a first device, according to an embodiment of the present disclosure.
  • a first device 110 is illustrated, where the first device 110 of the present disclosure may include a packet controller 510 , a packet generation unit 520 , a transmission unit 530 , and a reception unit 540 .
  • the packet controller 510 of the first device 110 may obtain information of links, which may be used by each device within the network.
  • the packet controller 510 of the first device 110 may obtain information such as the first link 150 , as illustrated in FIG. 1 , the second link 160 , as illustrated in FIG. 1 , and the third link 170 , as illustrated in FIG. 1 . That is, information on each path within the network may be obtained.
  • the packet controller 510 of the first device 110 may select one of paths to the destination device 130 , as illustrated in FIG. 1 , based on information of links. For example, the packet controller 510 of the first device 110 may select the path to the destination device 130 by determining the quickest link from among the first link 150 , the second link 160 , and the third link 170 , based on link information. If the first device 110 determines that the second link 160 is the quickest, the first device 110 may select the path to transmit the packet to the destination device 130 via the second device 120 including the second link 160 . When a plurality of links are included in the path to the destination device 130 , the path to the destination device 130 may be selected by determining a combination of the quickest links.
  • the packet controller 510 of the first device 110 may generate link setting information based on information of the second device 120 included in the selected path.
  • the link setting information is defined as information which is needed for the first device 110 to communicate with the destination device 130 using the selected path.
  • link setting information generated by the first device 110 may include address information of the second device 120 , port information of the second device 120 , address information of the first device 110 , port information of the first device 110 , address information of the destination device 130 , port information of the destination device 130 , and setting information for TCP/IP 4 layers of the first device 110 and the second device 120 .
  • the packet controller 510 of the first device 110 may generate index information along with the link setting information.
  • the index information is defined as information which indicates whether the packet is a packet which passes the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information.
  • the second device 120 may determine that the packet passes through the second device 120 , and may obtain the address information of the destination device of the packet received in the link setting information which is indicated by the index information.
  • the packet controller 510 of the first device 110 may generate index information in various methods.
  • the first device 110 may use a hash code, which is generated using a hash function, as index information.
  • the packet generation unit 520 of the first device 110 may generate the first packet 800 , as illustrated in FIG. 8 , by inserting the path information into the packet based on the link setting information so that the packet transmitted by the first device 110 may pass through the second device 120 .
  • the packet controller 510 of the first device 110 may generate a rule which inserts the path information into the packet using generated link setting information.
  • the rule, which inserts path information is defined as a method of inserting path information into the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • the packet controller 510 of the first device 110 may generate a rule of inserting index information into a source port of a packet header and inserting address information of the second device 120 into a destination port of the packet header so that the generated packet may use the second link 160 .
  • the packet generation unit 520 of the first device 110 may generate the first packet 800 by inserting path information of the packet according to the rule.
  • the transmission unit 530 of the first device 110 may transmit the first packet 800 through a wired, wireless, and home network.
  • the transmission unit 530 of the first device 110 may transmit the first packet 800 through the connected router 140 , as illustrated in FIG. 1 .
  • the address information of the second device has been inserted into a destination port of the first packet 800 which is transmitted by the transmission unit 530 , and thus the router 140 , which receives the first packet 800 , may transmit the first packet 800 to the second device 120 .
  • FIG. 6 is a block diagram of a second device, according to an embodiment of the present disclosure.
  • a second device 120 is illustrated, where the second device 120 of the present disclosure may include a packet controller 610 , a packet generation unit 620 , a transmission unit 630 , and a reception unit 640 .
  • the reception unit 640 of the second device 120 may receive a packet from the first device 110 , as illustrated in FIG. 1 , through a wired, wireless, and home network.
  • the reception unit 640 of the second device 120 may receive a packet using the router 140 , as illustrated in FIG. 1 .
  • the packet controller 610 of the second device 120 may determine whether the received packet is a packet which passes through the second device 120 based on information included in the received packet. For example, if index information is included in the packet received by the reception unit 640 of the second device 120 , the packet controller 610 of the second device 120 may determine the received packet as the first packet 800 , as illustrated in FIG. 8 , which is transmitted to the destination device 130 , as illustrated in FIG. 1 , via the second device 120 according to the path selected by the first device 110 . The second device 120 may determine that the packet received based on another piece of information set included in the received packet, not index information, is the first packet 800 which is transmitted via the second device 120 .
  • the packet generation unit 620 of the second device 120 may generate the second packet 900 , as illustrated in FIG. 9 , by changing path information included in the packet according to the link setting information indicated by the index information of the received packet.
  • the packet controller 610 of the second device may generate a rule which changes path information included in the packet using the link setting information.
  • the rule, which changes the path information is defined as a method in which the first device 110 changes information included in the packet for communication with the destination device 130 .
  • the packet controller 610 of the second device 120 may generate a rule of inserting the address information of the second device 120 into a source port of a packet header and inserting address information of the destination device 130 into a destination port of the packet header so that the generated packet may use the second link 160 , as illustrated in FIG. 1 .
  • the packet generation unit 620 of the second device 120 may generate the second packet 900 by changing the path information of the packet according to the rule.
  • the transmission unit 630 of the second device 120 may transmit the generated second packet to the destination device 130 through the link selected by the first device.
  • the second device 120 may transmit the generated second packet to the destination device 130 through the second link 160 which has determined that the first device 110 is the quickest.
  • the reception unit 640 of the second device 120 may receive a response packet to the second packet which is transmitted from the destination device 130 .
  • the packet controller 610 of the second device 120 may determine whether the received packet is a response packet based on the header of the received packet. For example, if address information included in a source port of a TCP/UDP header of the second packet transmitted by the second device 120 is included in a destination port of the TCP/UDP header included in the packet received from the destination device 130 , the packet controller 610 may determine that the received packet is a response packet to the second packet.
  • the packet controller 610 of the second device may generate a third packet 1000 , as illustrated in FIG. 10 , by changing path information included in the response packet using the packet generation unit 620 .
  • the packet controller 610 of the second device 120 may generate a rule which changes path information included in the response packet using the link setting information.
  • the rule, which changes the path information is defined as a method of changing the information included in the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • the packet controller 610 of the second device 120 may generate a rule of inserting address information of the destination device 130 into the source port of the packet header and inserting address information of the first device 110 into a destination port of the packet header so that the response packet may be transmitted to the first device 110 .
  • the packet generation unit 620 of the second device 120 may generate the third packet 1000 by changing the path information of the packet according to the rule.
  • the transmission unit 630 of the second device 120 may transmit the third packet 1000 to the first device 110 through the existing network.
  • the address information of the first device 110 is included in the destination information of the third packet 1000 which is transmitted by the transmission unit 630 of the second device 120 , and thus the second device 120 may transmit the third packet to the first device through the router 140 .
  • FIG. 7 is a detailed flowchart illustrating a method of performing communication using a packet generated by a first device, according to an embodiment of the present disclosure.
  • a flowchart is illustrated, such that in operation S 710 , a first device 110 may obtain information of available links which may be used by each device within a network.
  • the first device 110 may obtain information such as the first link 150 , as illustrated in FIG. 1 , the second link 160 , as illustrated in FIG. 1 , and the third link 170 , as illustrated in FIG. 1 . Furthermore, the first device 110 may select one of paths to a destination device 130 based on information of available links by each device within the network. For example, the first device 110 may select the path to the destination device 130 by determining the quickest link from among the first link 150 , the second link 160 , and the third link 170 based on link information.
  • the first device 110 may select the path which transmits the packet to the destination device 130 via a second device 120 including the second link 160 .
  • the path to the destination device 130 may be selected by determining the combination of the quickest links.
  • the first device 110 may generate link setting information needed to transmit a packet to the destination device 130 through the second device 120 based on information of the second device 120 that is included in the selected path.
  • the link setting information is defined as information which is needed to communicate with the destination device 130 using the path selected by the first device 110 .
  • the link setting information may include address information of the second device 120 , port information of the second device 120 , address information of the first device 110 , port information of the first device 110 , address information of the destination device 130 , port information of the destination device 130 , and setting information on TCP/IP 4 layers of the first device 110 and the second device 120 .
  • the first device 110 may generate index information along with link setting information.
  • the index information is defined as information which indicates whether the packet is a packet which passes through the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information.
  • the second device 120 may determine that the packet passes the second device 120 , and may obtain the address information of the destination device 130 of the packet received in the link setting information which is indicated by the index information.
  • the first device 110 may generate index information in various methods.
  • the first device 110 may use a hash code, which is generated using the hash function, as index information.
  • the first device 110 may generate the first packet 800 , as illustrated in FIG. 8 , by inserting path information into the packet based on the link setting information so that the transmitted packet may pass through the second device 120 .
  • the first device 110 may generate a rule which inserts the path information into the packet using the generated link setting information.
  • the rule, which inserts path information is defined as a method of inserting path information into the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • the first device 110 may generate a rule of inserting index information generated in a source port of a packet header and inserting address information of the second device into a destination port of the packet header so that the generated packet may use the second link 160 .
  • the first device 110 may generate the first packet 800 according to the rule.
  • the first device 110 may transmit the first packet 800 to the destination device 130 via the second device 120 included in the selected path.
  • the address information of the second device 120 has been inserted into a destination port of the first packet 800 transmitted by the first device 110 , and thus the router 140 , as illustrated in FIG. 1 , which has received the first packet 800 , may transmit the first packet 800 to the second device 120 .
  • the second device 120 may receive a packet using a wired, wireless, and home network from the first device 110 .
  • the second device 120 may receive a packet using the router 140 .
  • the second device 120 may determine whether the received packet is a packet which passes through the second device 120 based on the path information included in the received packet.
  • the second device 120 may determine that the receive packet is the first packet 800 which is transmitted to the destination device 130 via the second device 120 according to the path selected by the first device 110 .
  • the second device 120 may generate the second packet 900 , as illustrated in FIG. 9 , by changing the path information included in the packet according to the link setting information indicated by the index information of the received packet.
  • the second device 120 may generate a rule which changes the path information included in the packet using link setting information.
  • the rule, which changes the path information is defined as a method in which the first device 110 changes the path information of the packet for communication with the destination device 130 .
  • the second device 120 may generate a rule of inserting address information of the second device 120 into a source port of a packet header and inserting the address information of the destination device 130 into a destination port of the packet header.
  • the second device 120 may generate the second packet 900 by changing the path information included in the packet according to the generated rule.
  • the second device 120 may transmit the generated second packet 900 to the destination device 130 through the link selected by the first device 110 .
  • the second device 120 may transmit the generated second packet 900 to the destination device 130 through the second link 160 about which the first device 110 has determined as the quickest.
  • the second device 120 may receive a response packet in response to the second packet 900 transmitted from the destination device 130 .
  • the second device 120 may determine whether the received packet is a response packet by various information sets included in the header. For example, the second device 120 may determine whether the received packet is a response packet based on the TCP/UDP header of the received packet. In detail, if the address information included in a source port of the TCP/UDP header of the second packet 900 transmitted by the second device 120 is included in a destination port of the TCP/UDP header included in the packet received from the destination device 130 , the second device 120 may determine that the received packet is a response packet to the second packet 900 .
  • the second device 120 may generate the third packet 1000 , as illustrated in FIG. 1 , by changing the path information included in the response packet using the packet generation unit 620 , as illustrated in FIG. 6 .
  • the second device 120 may determine that the actual destination of the response packet is not the second device 120 , but the first device 110 . Hence, a third packet 1000 including the address information of the first device 110 may be generated to be transmitted to the first device 110 .
  • the second device 120 may generate a rule which changes path information included in a response packet using link setting information. For example, the second device 120 may generate a rule of inserting address information of the destination device 130 into a source port of a response packet header and inserting the address information of the first device 110 into a destination port of the packet header. The second device 120 may generate the third packet 1000 by changing the path information included in the response packet according to the generated rule.
  • the transmission unit 630 may transmit the generated third packet 1000 to the first device.
  • the second device 120 may transmit the third packet 1000 using a wired, wireless, and home network.
  • the second device 120 may transmit the third packet 1000 through the connected router 140 .
  • the address information of the first device 110 has been inserted into a destination port of the third packet 1000 transmitted by the second device 120 , and thus the router 140 , which has received the third packet 1000 , may transmit the third packet 1000 to the first device 110
  • FIG. 8 is a block diagram of a first packet, according to an embodiment of the present disclosure.
  • a first packet 800 is illustrated, such that according to an embodiment of the present disclosure, the first device 110 , as illustrated in FIG. 1 , may generate the first packet 800 , which has already been explained with reference to FIGS. 2 to 8 .
  • the first packet 800 includes a payload, an IP header 810 and a TCP/UDP header 850 .
  • the first device 110 may generate the first packet 800 by inserting index information into a source address 814 of the IP header 810 of the first packet 800 , inserting address information of the second device into a destination address 812 of the IP header 810 , inserting port information of the destination device 130 , as illustrated in FIG. 1 , into a destination port 852 of the TCP/UDP header 850 of the first packet 800 , and inserting port information of the first device 110 into to source port 854 of the TCP/UDP header 850 in order to communicate with the destination device 130 , as illustrated in FIG. 1 , using the selected second link 160 , as illustrated in FIG. 1 .
  • FIG. 9 is a block diagram of a second packet, according to an embodiment of the present disclosure.
  • a second packet 900 is illustrated, such that according to an embodiment of the present disclosure, the second device 120 , as illustrated in FIG. 1 , may generate the second packet 900 , which has already been explained with reference to FIGS. 2 to 8 .
  • the second packet 900 includes a payload, an IP header 910 and a TCP/UDP header 950 .
  • the second device 120 may generate the second packet 900 by inserting address information of the second device 120 into a source address 914 of the IP header 910 of the second packet 900 , inserting address information of the destination device 130 , as illustrated in FIG. 1 , into a destination address 912 of the IP header 910 , inserting port information of the destination device 130 into a destination port 952 of the TCP/UDP header 950 of the second packet 900 , and inserting port information of the second device 120 into a source port 954 of the TCP/UDP header 950 in order to transmit the received second packet 900 to the destination device 130 .
  • FIG. 10 is a block diagram of a third packet, according to an embodiment of the present embodiment.
  • a third packet 1000 is illustrated, such that according to an embodiment of the present disclosure, the second device 120 , as illustrated in FIG. 1 , may receive a response packet to generate the third packet 1000 , which has already been explained with reference to FIGS. 2 to 8 .
  • the third packet 1000 includes a payload, an IP header 1010 and a TCP/UDP header 1050 .
  • the second device 120 may generate the third packet 1000 by inserting address information of the destination device 130 , as illustrated in FIG. 1 , of the second device 120 into a source address 1014 of the IP header 1010 of the response packet, inserting address information of the first device 110 , as illustrated in FIG. 1 , into a destination address 1012 of the IP header 1010 , inserting port information of the destination device 130 into a destination port 1052 of the TCP/UDP header 1050 of the packet, and inserting port information of the destination device 130 into a source port 1054 of the TCP/UDP header 1050 , in order to transmit the response packet to the first device 110 .
  • FIG. 11 illustrates a structure of a device to explain a method of communication, according to an embodiment of the present disclosure.
  • a first device 110 including a packet controller 510 , a packet generation unit 520 , a transmission unit 530 and a reception unit 540
  • a second device 120 including a packet controller 610 , a packet generation unit 620 , a transmission unit 630 and a reception unit 640 , a first link 150 , a second link 160 , a third link 170 , a router 140 and a destination device 130 are illustrated, such that according to an embodiment of the present disclosure, the devices within a network may use SDN technology.
  • the first device 110 and the second device 120 may use the SDN technology.
  • the SDN technology is a technology of controlling the network by separating hardware from software.
  • the network device is hardware specialized in transmission and thus is optimized for transmission, and the functions related with other operation or function implementation are separately processed, and thus all network devices within the network are managed by software.
  • the conventional router 140 does not generally use the SDN technology. It is because, in the conventional network devices, hardware and software are integrated, and thus network devices may be controlled by only software corresponding to hardware.
  • a packet controller 510 of the first device 110 may obtain information of links which may be used by each device within the network. Furthermore, the packet controller 510 of the first device 110 may select the path which is the combination of the quickest links in order to transmit the packet to the destination device 130 . For example, the first device 110 may obtain information such as the first link 150 , the second link 160 , and the third link 170 , and may select the quickest link using the obtained information.
  • the packet controller 510 of the first device 110 may select the second link 160 .
  • the first device 110 cannot communicate with the destination device 130 through the second link 160 .
  • devices are connected based on the router 140 , and the devices connected to the router 140 may communicate with the destination device 130 through only the router 140 .
  • the first device 110 may need to communicate with the destination device 130 using the third link 170 via the router 140 .
  • the first device 110 cannot communicate with the destination device 130 using the path including the quickest link.
  • the first device 110 may generate the first packet 800 , as illustrated in FIG. 8 , so that the first device 110 , which uses the SDN technology, may communicate with the destination device 130 using the path including the quickest link, within the network including the conventional network device. For example, if the first device 110 determines that the second link 160 is the quickest, the first device 110 may select a path which transmits the packet to the destination device via the second device 120 including the second link 160 , and the first device 110 may generate link setting information based on information of the second device 120 included in the selected path.
  • the link setting information is defined as information which is needed for the first device 110 to communicate with the destination device 130 using the selected path.
  • the link setting information may include address information of the second device 120 , port information of the second device 120 , address information of the first device 110 , port information of the first device 110 , address information of the destination device 130 , port information of the destination device 130 , and setting information on TCP/IP 4 layers of the first device 110 and the second device 120 .
  • the first device 110 may generate index information along with link setting information.
  • the index information is defined as information which indicates whether the packet is a packet which passes the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information. For example, when index information is included in the received packet, the second device 120 may determine that the packet passes the second device 120 , and may obtain the address information of the destination device of the packet received in the link setting information which is indicated by the index information. The first device 110 may generate the first packet 800 by inserting the path information into the packet based on the generated link setting information.
  • the first device 110 may generate a rule of inserting the path information into the packet using the generated link setting information.
  • the rule of inserting path information is defined as a method of inserting path information into the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • the first device 110 may generate a rule of inserting index information generated in a source port of the packet header and inserting address information of the second device in a destination port of the packet header so that the generated packet may use the second link 160 .
  • the first device 110 may generate the first packet 800 according to the rule.
  • the first device 110 may transmit the first packet 800 through the connected router 140 .
  • the address information of the second device 120 has been inserted in a destination port of the first packet 800 transmitted by the first device 110 , and thus the router 140 , which has received the first packet 800 , may transmit the first packet 800 to the second device 120 .
  • the second device 120 may determine whether the received packet passes through the second device based on the path information included in the received packet. For example, if index information is included in the packet received by the second device 120 , the second device 120 may determine the received packet as the first packet 800 which is transmitted to the destination device 130 via the second device 120 according to the path selected by the first device 110 .
  • the second device 120 may generate the second packet 900 , as illustrated in FIG. 9 , by changing the path information included in the packet according to the link setting information indicated by the index information of the received packet. Furthermore, the second device 120 may generate a rule of changing path information included in the packet using the link setting information.
  • the rule of changing path information is defined as a method of changing path information of the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • the second device 120 may generate a rule of inserting the address information of the second device into a source port of the packet header and inserting the address information of the destination device 130 into a destination port of the packet header.
  • the second device 120 may generate the second packet 900 by changing the path information included in the packet according to the generated rule.
  • the second device 120 may transmit the second packet 900 to the destination device 130 through the link selected by the first device 110 .
  • the second device may transmit the generated second packet to the destination device 130 through the second link which is determined as the quickest by the first device 110 .
  • the second device 120 may receive a response packet to the transmitted second packet 900 from the destination device 130 .
  • the second device 120 may determine that the actual destination of the response packet is not the second device 120 , but the first device 110 .
  • the third packet 1000 as illustrated in FIG. 10 , including address information of the first device 110 may be generated to be transmitted to the first device 110 .
  • the second device 120 may generate a rule of changing path information included in the response packet using the link setting information. For example, the second device 120 may generate a rule of inserting address information of the destination device 130 into a source port of the response packet header and inserting address information of the first device 110 into a destination port of the packet header.
  • the second device 120 may generate the third packet 1000 by changing the path information included in the response packet according to the generated rule.
  • the second device 120 may transmit the third packet 1000 through the connected router 140 .
  • the address information of the first device has been inserted into a destination port of the third packet 1000 transmitted by the second device 120 , and thus the router 140 , which has received the third packet 1000 , may transmit the third packet 1000 to the first device 110 .
  • Some embodiments may be implemented in a form of a non-transitory computer-readable recording medium including a command executable by a computer such as a program module executed by a computer.
  • the non-transitory computer-readable medium may be an arbitrary available medium accessible by a computer, and includes all of a volatile and nonvolatile medium and a separable and non-separable medium.
  • the non-transitory computer-readable medium may include all of a computer storage medium and a communication medium.
  • the computer storage medium includes all of a volatile and nonvolatile medium and a separable and non-separable medium which are implemented in an arbitrary method or technology for storing information such as a computer-readable command, a data structure, program module and other data.
  • the communication medium typically includes a computer-readable command, a data structure, a program module, other data of modulated data signals, or other transmission mechanisms, and includes an arbitrary information transmission medium.

Abstract

A method of communication by a first device is provided. The method includes selecting, by the first device, one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links, generating link setting information needed to transmit a packet to the destination device through a second device based on information of a second device included in the selected path, generating a first packet by inserting path information into the packet based on the link setting information, and transmitting the first packet to the destination device through the second device.

Description

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • This application claims the benefit under 35 U.S.C. §119(a) of a Korean patent application filed on Apr. 1, 2014 in the Korean Intellectual Property Office and assigned Serial number 10-2014-0038748, the entire disclosure of which is hereby incorporated by reference.
  • TECHNICAL FIELD
  • The present disclosure relates to a communication method and an apparatus in a network including a plurality of devices. More particularly, the present disclosure relates to a communication method and an apparatus using a software defined networking (SDN) technology in a network including a plurality of devices.
  • BACKGROUND
  • In current network technology, all functions related with a network are performed in one device. Furthermore, the same functions which need to be processed only one time are consecutively performed for each device. For example, existing available network devices perform an individual traffic operation for only the links connected to respective devices. As such, the current network is very complicated, is not flexible, increases costs, and when there is a problem in the network, it is difficult to resolve the problem.
  • In order to resolve such problems, there is a need for a new network structure, and a software defined networking (SDN) structure is being considered as one solution to this problem.
  • The SDN is a technology, which separates hardware from software and controls the network. Generally, a network device is not controlled by various software sets by separating hardware from software. However, in a network which uses SDN, software which meets the user's needs and environment may be developed or introduced, and thus it is possible for each individual to implement an optimized network environment by selecting only functions which are needed in the network environment.
  • However, currently available network devices are not SDN compatible, and thus there is a need for a technology of controlling the network by using SDN technology in the network including a device which does not use the SDN technology.
  • The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the present disclosure.
  • SUMMARY
  • Aspects of the present disclosure are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present disclosure is to provide a communication method and an apparatus using a software defined networking technology in a network including a plurality of devices.
  • In accordance with an aspect of the present disclosure, a method of communication by a first device is provided. The method includes selecting, by the first device, one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links, generating link setting information needed to transmit a packet to the destination device through a second device based on information of a second device included in the selected path, generating a first packet by inserting path information into the packet based on the link setting information, and transmitting the first packet to the destination device through the second device.
  • In accordance with an aspect of the present disclosure, the generating of the link setting information may include generating index information which indicates the link setting information.
  • In accordance with an aspect of the present disclosure, the generating of the first packet by inserting the path information may include generating a rule for inserting the path information into the packet based on the link setting information and generating the first packet by inserting the path information into the packet according to the generated rule.
  • In accordance with an aspect of the present disclosure, the generating of the first packet by inserting the path information may include inserting the generated index information into a source port of a packet header of the packet and inserting address information of the second device into a destination port of the packet header of the packet.
  • In accordance with an aspect of the present disclosure, the selecting may include selecting a path including a quickest link, from among available links by each device within the network, based on information of the available links.
  • In accordance with an aspect of the present disclosure, a first device which communicates through a second device is provided. The first device includes a first packet controller configured to select one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links, and to generate link setting information, which is needed to transmit a packet to the destination device through the second device based on information of the second device included in the selected path, a first packet generation unit configured to generate a first packet by inserting path information into the packet based on the link setting information, and a first transmission unit configured to transmit the first packet to the destination device through the second device.
  • In accordance with an aspect of the present disclosure, the first packet controller may further generate index information which indicates the link setting information.
  • In accordance with an aspect of the present disclosure, the first packet controller may further generate a rule for inserting the path information into the packet based on the link setting information, and the first packet generation unit may further generate the first packet by inserting the path information into the packet based on the generated rule.
  • In accordance with an aspect of the present disclosure, the first packet generation unit may further insert the generated index information into a source port of a packet header of the packet and generate the first packet by inserting address information of the second device into a destination port of the packet header of the packet.
  • In accordance with an aspect of the present disclosure, the first packet controller may further select the path including a quickest link, from among available links by each device within the network, based on a state of the available links.
  • In accordance with an aspect of the present disclosure, a method of communication by a second device is provided. The method includes receiving, by the second device, a first packet from a first device, determining whether the received first packet passes through the second device based on path information included in the received first packet, generating a second packet by changing the path information according to link setting information based on a result of the determination, and transmitting the second packet to a destination device.
  • In accordance with an aspect of the present disclosure, the determining may determine whether index information, which indicates the link setting information, is included in the path information.
  • In accordance with an aspect of the present disclosure, the generating of the second packet may include generating a rule for changing the path information included in the received first packet, based on the link setting information, and changing the path information included in the received first packet according to the generated rule.
  • In accordance with an aspect of the present disclosure, the changing of the path information may include inserting target address information into a destination port of the received first packet and inserting address information of the second device into a source port of the received first packet.
  • In accordance with an aspect of the present disclosure, the method may further include receiving a response packet in response to the transmitted second packet, generating a third packet by changing path information of the response packet based on the link setting information, and transmitting the third packet to the first device.
  • In accordance with an aspect of the present disclosure, the generating of the third packet may include generating a rule for changing the path information included in the response packet, based on the link setting information, and generating the third packet by changing the path information included in the response packet based on the generated rule.
  • In accordance with an aspect of the present disclosure, the generating of the third packet may include generating the third packet by inserting address information of the first device into a destination port of the response packet and inserting destination address information of a source port of the response packet.
  • In accordance with an aspect of the present disclosure, a second device is provided. The second device includes a second reception unit configured to receive a first packet from a first device, a second packet controller configured to determine whether the received first packet passes through the second device based on path information included in the received first packet, a second packet generation unit configured to generate a second packet by changing the path information according to link setting information based on a result of the determination of the second packet controller, and a second transmission unit configured to transmit the second packet to a destination device.
  • In accordance with an aspect of the present disclosure, the second packet controller may further determine whether the packet passes through the second device based on whether index information, which indicates the link setting information, is included in the path information.
  • In accordance with an aspect of the present disclosure, the second packet controller may further generate a rule for generating the second packet based on the link setting information, and the second packet generation unit may further generate the second packet by changing the path information included in the received first packet according to the generated rule.
  • In accordance with an aspect of the present disclosure, the changing of the path information may include inserting destination address information into a destination port of the received first packet and inserting address information of the second device into a source port of the received first packet.
  • In accordance with an aspect of the present disclosure, the second reception unit may further receive a response packet in response to the transmitted second packet, the second packet controller may further generate a third packet by changing path information of the response packet based on the link setting information, and the second transmission unit may further transmit the third packet to the first device.
  • In accordance with an aspect of the present disclosure, the second packet controller may further generate a rule for changing the path information included in the response packet, based on the link setting information, and the second packet generation unit may further generate the third packet by changing the path information included in the response packet based on the generated rule.
  • In accordance with an aspect of the present disclosure, the generating of the third packet may include inserting address information of the first device into a destination port of the response packet and inserting address information of a destination into a source port of the response packet.
  • In accordance with an aspect of the present disclosure, a non-transitory computer-readable storage medium is provided. The non-transitory computer-readable storage medium stores instructions that, when executed, cause at least one processor to perform the above methods of communication.
  • Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the present disclosure.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 illustrates various communications according to an embodiment of the present disclosure;
  • FIG. 2 is a flowchart illustrating a method of generating and transmitting a first packet by a first device according to an embodiment of the present disclosure;
  • FIG. 3 is a flowchart illustrating a method of generating and transmitting a second packet by a second device according to an embodiment of the present disclosure;
  • FIG. 4 is a flowchart illustrating a method of receiving a response packet and generating and transmitting a third packet by a second device according to an embodiment of the present disclosure;
  • FIG. 5 is a block diagram of a first device according to an embodiment of the present disclosure;
  • FIG. 6 is a block diagram of a second device according to an embodiment of the present disclosure;
  • FIG. 7 is a detailed flowchart illustrating a method of performing communication using a packet generated by a first device according to an embodiment of the present disclosure;
  • FIG. 8 is a block diagram of a first packet according to an embodiment of the present disclosure;
  • FIG. 9 is a block diagram of a second packet according to an embodiment of the present disclosure;
  • FIG. 10 is a block diagram of a third packet according to an embodiment of the present disclosure; and
  • FIG. 11 illustrates a structure of a device to explain a method of communication according to an embodiment of the present disclosure.
  • Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures.
  • DETAILED DESCRIPTION
  • The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the present disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
  • The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustration purpose only and not for the purpose of limiting the present disclosure as defined by the appended claims and their equivalents.
  • It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.
  • FIGS. 1 through 11, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way that would limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged communications system. The terms used to describe various embodiments are exemplary. It should be understood that these are provided to merely aid the understanding of the description, and that their use and definitions in no way limit the scope of the present disclosure. Terms first, second, and the like are used to differentiate between objects having the same terminology and are in no way intended to represent a chronological order, unless where explicitly stated otherwise. A set is defined as a non-empty set including at least one element.
  • FIG. 1 illustrates various communications according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, devices within a network may use a software defined networking (SDN) technology.
  • Referring to FIG. 1, a first device 110, a second device 120 and a router 140 are illustrated, where the first device 110 and the second device 120 may be devices which use the SDN technology, where the router 140, for example, cannot use the SDN technology.
  • The SDN technology is a technology which controls the network by separating hardware from software. The network device is specialized in transmission and thus is optimized in transmission, and the functions related with the other operations or function implementation are separately processed by software, so that all network devices within the network are managed by software. The SDN is easy to one of ordinary skill in the art, and thus detailed explanation of the SDN is omitted here.
  • As mentioned above, the existing router 140, as illustrated in FIG. 1, generally cannot use the SDN technology. In existing network devices, hardware and software are integrated, and thus the network device can be controlled by only the software corresponding to the hardware.
  • According to an embodiment of the present disclosure, the first device 110, which uses the SDN technology, may obtain information of links which may be used by each device within the network. Furthermore, the first device 110 may select a path which is the combination of quickest links in order to transmit the packet to a destination device 130 according to the information of links. For example, the first device 110 may obtain information of a first link 150, a second link 160, and a third link 170, and may select the quickest link by using the obtained information.
  • If the first device 110 and the second link 160 obtain the quickest information, the first device 110 may select the second link 160. However, the first device 110 cannot communicate with the destination device 130 through the second link using a general communication method. In a general network, devices are connected based on the router 140, and the devices connected to the router 140 can communicate with the destination device 130 only through the router 140. For example, when the first device 110 is connected to the router 140, the first device 110 needs to communicate with the destination device 130 using the third link 170 via the router 140. Hence, the first device 110 cannot communicate with the destination device 130 using a path including the quickest link.
  • According to an embodiment of the present disclosure, a method and apparatus for communicating with the destination device 130 by the first device 110 which uses the SDN technology, by using a path including the quickest link within a network including a router 140 which is the existing network device.
  • FIG. 2 is a flowchart illustrating a method of generating and transmitting a first packet by a first device according to an embodiment of the present disclosure.
  • According to an embodiment of the present disclosure, the first device may vary. For example, the first device may be a computer, a notebook computer, a mobile device, a mobile phone, a tablet computer, etc. Furthermore, the first device may use the SDN technology. For example, the first device 110, as illustrated in FIG. 1, may control network devices within the network using software. The first device 110 may be prepared to use the SDN technology or use the SDN technology through software installation.
  • Referring to FIG. 2, a flowchart illustrating a method is illustrated, such that in operation S210, a first device 110, as illustrated, in FIG. 1, selects one of paths to the destination device based on information of available links which may be used by each device within the network.
  • According to an embodiment of the present disclosure, the first device 110 may obtain information of links which may be used by each device within the network. For example, the first device 110 may obtain such information as the first link 150, the second link 160, and the third link 170, as illustrated in FIG. 1. The link may be defined as a path which is used or usable when each device communicates with the destination device 130, as illustrated in FIG. 1. For example, the link may include Wi-Fi, worldwide interoperability for microwave access (WiMAX), third generation (3G), and fourth generation (4G) connections, and is not limited thereto.
  • According to an embodiment of the present disclosure, information of links may include state information on links. For example, information of links may include traffic information, error information, link speed, and link usage, etc.
  • According to an embodiment of the present disclosure, the first device 110 may select one of paths to the destination device based on the information of links. For example, the first device 110 may determine the quickest link from among the first link 150, the second link 160, and the third link 170 so as to select the path to the destination device 130. If the first device 110 determines that the second link 160 is quickest, the first device 110 may select the path which transmits the packet to the destination device 130 via the second device 120, as illustrated in FIG. 1, including the second link 160. When a plurality of links are included in the path to the destination device 130, the path to the destination device 130 may be selected by determining combination of the quickest links.
  • In operation S220, the first device 110 generates link setting information which is needed to transmit the packet to the destination device through the second device 120 based on the information of the second device included in the selected path.
  • According to an embodiment of the present disclosure, the second device 120 may vary. The second device 120 may be a computer, a mobile device, a mobile phone, a tablet computer, etc. Furthermore, the second device 120 may use the SDN technology. For example, the second device 120 may control network devices within the network using software. The second device 120 may be prepared to use the SDN technology or may use the SDN technology through software installation. Here, it is assumed that the second device 120 is singular for the convenience of description. If a plurality of devices, which may use the SDN technology, are included in the path selected by the first device 110, there may be a plurality of second devices 120.
  • According to an embodiment of the present disclosure, the first device 110 may generate link setting information based on information of the second device 120 included in the selected path.
  • According to an embodiment of the present disclosure, the link setting information is defined as information which is needed for the first device 110 to communicate with the destination device 130 using the path selected by the first device 110. For example, the link setting information may include address information of the second device 120, port information of the second device 120, address information of the first device, 110, port information of the first device 110, address information of the destination device 130, port information of the destination device 130, setting information on transmission control protocol/internet protocol (TCP/IP) 4 layers of the first device 110 and the second device 120.
  • According to an embodiment of the present disclosure, link setting information generated by the first device 110 may be shared by devices which may use the SDN technology within the network. For example, the link setting information generated by the first device 110 may be used by the second device 120.
  • According to an embodiment of the present disclosure, the first device 110 may generate index information along with link setting information. The index information is defined as information which indicates whether the packet is a packet which passes the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information. For example, when index information is included in the received packet, the second device 120 may determine that the packet passes the second device 120, and may obtain the address information of the destination device of the packet received in the link setting information which is indicated by the index information.
  • According to an embodiment of the present disclosure, the first device 110 may generate the index information in various methods. For example, the first device 110 may use a hash code, which is generated using the hash function, as index information.
  • According to operation S230, the first device 110 generates a first packet 800, as illustrated in FIG. 8, by inserting path information to the packet based on the generated link setting information.
  • According to an embodiment of the present disclosure, the first device 110 may generate a packet to be transmitted to the destination device.
  • According to an embodiment of the present disclosure, when the path selected by the first device 110 is a path which passes through the second device 120, the first device 110 may generate the first packet 800 by inserting path information to the packet based on the link setting information so that the transmitted packet may pass through the second device 120. Furthermore, the first device 110 may generate a rule which inserts the path information to the packet using generated link setting information. The rule which inserts path information is defined as a method which inserts path information to the packet so that the first device 110 may communicate with the destination device 130 through the selected path. For example, the first device 110 may generate a rule of inserting generated index information on the source port of the packet header and inserting the address information of the second device on a destination port of the packet header. The first device 110 may generate the first packet 800 depending on the rule.
  • In operation S240, the first device transmits the generated first packet 800.
  • According to an embodiment of the present disclosure, the first device 110 may transmit the first packet 800 using a wired, wireless, and home network. For example, the first device 110 may transmit the first packet 800 using the connected router 140, as illustrated in FIG. 1. The address information of the second device is inserted in a destination port of the first packet, and thus the router 140, which receives the first packet 800, may transmit the first packet 800 to the second device 120. The second device 120 receives the first packet 800 and transmits the received first packet 800 to the destination device, and the operation performed by the second device 120 is described below with reference to FIG. 3.
  • FIG. 3 is a flowchart illustrating a method of generating and transmitting a second packet by a second device, according to an embodiment of the present disclosure.
  • Referring to FIG. 3, a flowchart is illustrated, such that in operation S310, a second device 120, as illustrated in FIG. 1, receives a packet from the first device 110, as illustrated in FIG. 1.
  • According to an embodiment of the present disclosure, the second device 120 may receive the first packet 800, as illustrated in FIG. 8, using a wired, wireless, and home network from the first device 110. For example, the second device 120 may receive the first packet 800 using the router 140, as illustrated in FIG. 1.
  • In operation S320, the second device 120 determines whether the received packet is a packet which passes through the second device 120 based on the path information included in the received packet.
  • According to an embodiment of the present disclosure, the second device 120 may determine whether the received packet is a packet which passes through the second device 120 by the information on whether index information indicating the link setting information is included. For example, if the index information is included in the packet received by the second device 120, the second device 120 may determine the received packet as the first packet 800, which is transmitted to the destination device 130, as illustrated in FIG. 1, via the second device 120 according the path selected by the first device 110.
  • In operation S330, the second packet 900, as illustrated in FIG. 9, is generated by changing the path information according to the link setting information based on the result of the determination performed in operation S320.
  • According to an embodiment of the present disclosure, the second device 120 may generate the second packet 900 by changing the path information included in the packet according to the link setting information which is indicated by the index information of the received packet. Furthermore, the second device 120 may generate a rule which changes the path information included in the packet using link setting information. The rule which changes the path information is defined as a method which changes path information of the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • For example, the second device 120 may generate a rule of inserting address information of the second device 120 into a source port of a packet header, and inserting the address information of the destination device 130 into a destination port of the packet header. The second device 120 may generate the second packet 900 by changing the path information included in the packet according to the generated rule.
  • In operation S340, the second device 120 transmits the generated second packet 900 to the destination device 130.
  • According to an embodiment of the present disclosure, the second device 120 may transmit the second packet 900 to the destination device 130 through the link selected by the first device 110. For example, the second device 120 may transmit the generated second packet 900 to the destination device 130 through the second link 160 which has determined that the first device 110 is the quickest.
  • FIG. 4 is a flowchart illustrating a method of receiving a response packet and generating and transmitting a third packet by a second device, according to an embodiment of the present disclosure.
  • Referring to FIG. 4, a flowchart is illustrated, such that in operation S410, the second device 120, as illustrated in FIG. 1, receives a response packet in response to the transmitted second packet 900, as illustrated in FIG. 9.
  • According to an embodiment of the present disclosure, the second device 120 may receive a response packet in response to the second packet 900 transmitted from the destination device 130, as illustrated in FIG. 1.
  • According to an embodiment of the present disclosure, the second device 120 may determine whether the received packet is a response packet by various information sets included in a header. For example, the second device 120 may determine whether the received packet is a response packet based on a TCP/user datagram protocol (UDP) header of the received packet. In detail, if the address information included in a source port of the TCP/UDP header of the second packet 900 transmitted by the second device 120 is included in a destination port of the TCP/UDP header included in the packet received from the destination device 130, the second device 120 may determine that the received packet is a response packet to the second packet 900.
  • In operation S420, the second device 120 may generate a third packet by changing the path information of the response packet based on the link setting information.
  • According to an embodiment of the present disclosure, if the second device 120 receives a response packet to the second packet, the second device 120 may determine that the actual destination of the response packet is not the second device 120, but the first device 110. Hence, a third packet including the address information of the first device 110 may be generated to be transmitted the third packet to the first device 110.
  • According to an embodiment of the present disclosure, when the second device determines that the received packet is a response packet to the transmitted second packet 900, the second device 120 may generate the third packet by changing path information included in the response packet. Furthermore, the second device 120 may generate a rule which changes path information included in the response packet using link setting information. For example, the second device 120 may generate a rule of inserting address information of the destination device 130 into the source port of the response packet header, and inserting the address information of the first device 110 into a destination port of the packet header. The second device 120 may generate the third packet 1000, as illustrated in FIG. 10, by changing the path information included in the response packet according to the generated rule.
  • In operation S430, the second device 120 transmits the generated third packet to the first device 110.
  • According to an embodiment of the present disclosure, the second device 120 may transmit the third packet 1000 using a wired, wireless, and home network. For example, the second device 120 may transmit the third packet 1000 through the connected router 140, as illustrated in FIG. 1. The address information of the first device 110 has been inserted into a destination port of the third packet 1000 which is transmitted by the second device 120, and thus the router 140, which has received the third packet 1000, may transmit the third packet 1000 to the first device 110.
  • FIG. 5 is a block diagram of a first device, according to an embodiment of the present disclosure.
  • Referring to FIG. 5, a first device 110 is illustrated, where the first device 110 of the present disclosure may include a packet controller 510, a packet generation unit 520, a transmission unit 530, and a reception unit 540.
  • According to an embodiment of the present disclosure, the packet controller 510 of the first device 110 may obtain information of links, which may be used by each device within the network. For example, the packet controller 510 of the first device 110 may obtain information such as the first link 150, as illustrated in FIG. 1, the second link 160, as illustrated in FIG. 1, and the third link 170, as illustrated in FIG. 1. That is, information on each path within the network may be obtained.
  • According to an embodiment of the present disclosure, the packet controller 510 of the first device 110 may select one of paths to the destination device 130, as illustrated in FIG. 1, based on information of links. For example, the packet controller 510 of the first device 110 may select the path to the destination device 130 by determining the quickest link from among the first link 150, the second link 160, and the third link 170, based on link information. If the first device 110 determines that the second link 160 is the quickest, the first device 110 may select the path to transmit the packet to the destination device 130 via the second device 120 including the second link 160. When a plurality of links are included in the path to the destination device 130, the path to the destination device 130 may be selected by determining a combination of the quickest links.
  • According to an embodiment of the present disclosure, the packet controller 510 of the first device 110 may generate link setting information based on information of the second device 120 included in the selected path. The link setting information is defined as information which is needed for the first device 110 to communicate with the destination device 130 using the selected path. For example, link setting information generated by the first device 110 may include address information of the second device 120, port information of the second device 120, address information of the first device 110, port information of the first device 110, address information of the destination device 130, port information of the destination device 130, and setting information for TCP/IP 4 layers of the first device 110 and the second device 120.
  • According to an embodiment of the present disclosure, the packet controller 510 of the first device 110 may generate index information along with the link setting information. The index information is defined as information which indicates whether the packet is a packet which passes the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information. For example, when index information is included in the received packet, the second device 120 may determine that the packet passes through the second device 120, and may obtain the address information of the destination device of the packet received in the link setting information which is indicated by the index information.
  • According to an embodiment of the present disclosure, the packet controller 510 of the first device 110 may generate index information in various methods. For example, the first device 110 may use a hash code, which is generated using a hash function, as index information.
  • According to an embodiment of the present disclosure, when a second device 120 is included in the path selected by the packet controller 510, the packet generation unit 520 of the first device 110 may generate the first packet 800, as illustrated in FIG. 8, by inserting the path information into the packet based on the link setting information so that the packet transmitted by the first device 110 may pass through the second device 120.
  • According to an embodiment of the present disclosure, the packet controller 510 of the first device 110 may generate a rule which inserts the path information into the packet using generated link setting information. The rule, which inserts path information, is defined as a method of inserting path information into the packet so that the first device 110 may communicate with the destination device 130 through the selected path. For example, the packet controller 510 of the first device 110 may generate a rule of inserting index information into a source port of a packet header and inserting address information of the second device 120 into a destination port of the packet header so that the generated packet may use the second link 160.
  • According to an embodiment of the present disclosure, the packet generation unit 520 of the first device 110 may generate the first packet 800 by inserting path information of the packet according to the rule.
  • According to an embodiment of the present disclosure, the transmission unit 530 of the first device 110 may transmit the first packet 800 through a wired, wireless, and home network. For example, the transmission unit 530 of the first device 110 may transmit the first packet 800 through the connected router 140, as illustrated in FIG. 1. The address information of the second device has been inserted into a destination port of the first packet 800 which is transmitted by the transmission unit 530, and thus the router 140, which receives the first packet 800, may transmit the first packet 800 to the second device 120.
  • FIG. 6 is a block diagram of a second device, according to an embodiment of the present disclosure.
  • Referring to FIG. 6, a second device 120 is illustrated, where the second device 120 of the present disclosure may include a packet controller 610, a packet generation unit 620, a transmission unit 630, and a reception unit 640.
  • The reception unit 640 of the second device 120 may receive a packet from the first device 110, as illustrated in FIG. 1, through a wired, wireless, and home network. For example, the reception unit 640 of the second device 120 may receive a packet using the router 140, as illustrated in FIG. 1.
  • According to an embodiment of the present disclosure, the packet controller 610 of the second device 120 may determine whether the received packet is a packet which passes through the second device 120 based on information included in the received packet. For example, if index information is included in the packet received by the reception unit 640 of the second device 120, the packet controller 610 of the second device 120 may determine the received packet as the first packet 800, as illustrated in FIG. 8, which is transmitted to the destination device 130, as illustrated in FIG. 1, via the second device 120 according to the path selected by the first device 110. The second device 120 may determine that the packet received based on another piece of information set included in the received packet, not index information, is the first packet 800 which is transmitted via the second device 120.
  • According to an embodiment of the present disclosure, the packet generation unit 620 of the second device 120 may generate the second packet 900, as illustrated in FIG. 9, by changing path information included in the packet according to the link setting information indicated by the index information of the received packet.
  • According to an embodiment of the present disclosure, the packet controller 610 of the second device may generate a rule which changes path information included in the packet using the link setting information. The rule, which changes the path information, is defined as a method in which the first device 110 changes information included in the packet for communication with the destination device 130. For example, the packet controller 610 of the second device 120 may generate a rule of inserting the address information of the second device 120 into a source port of a packet header and inserting address information of the destination device 130 into a destination port of the packet header so that the generated packet may use the second link 160, as illustrated in FIG. 1.
  • According to an embodiment of the present disclosure, the packet generation unit 620 of the second device 120 may generate the second packet 900 by changing the path information of the packet according to the rule.
  • According to an embodiment of the present disclosure, the transmission unit 630 of the second device 120 may transmit the generated second packet to the destination device 130 through the link selected by the first device. For example, the second device 120 may transmit the generated second packet to the destination device 130 through the second link 160 which has determined that the first device 110 is the quickest.
  • According to an embodiment of the present disclosure, the reception unit 640 of the second device 120 may receive a response packet to the second packet which is transmitted from the destination device 130.
  • According to an embodiment of the present disclosure, the packet controller 610 of the second device 120 may determine whether the received packet is a response packet based on the header of the received packet. For example, if address information included in a source port of a TCP/UDP header of the second packet transmitted by the second device 120 is included in a destination port of the TCP/UDP header included in the packet received from the destination device 130, the packet controller 610 may determine that the received packet is a response packet to the second packet.
  • According to an embodiment of the present disclosure, when the packet controller 610 of the second device determines that the received packet is a response packet to the transmitted second packet, the packet controller 610 may generate a third packet 1000, as illustrated in FIG. 10, by changing path information included in the response packet using the packet generation unit 620. The packet controller 610 of the second device 120 may generate a rule which changes path information included in the response packet using the link setting information. The rule, which changes the path information, is defined as a method of changing the information included in the packet so that the first device 110 may communicate with the destination device 130 through the selected path.
  • For example, the packet controller 610 of the second device 120 may generate a rule of inserting address information of the destination device 130 into the source port of the packet header and inserting address information of the first device 110 into a destination port of the packet header so that the response packet may be transmitted to the first device 110.
  • According to an embodiment of the present disclosure, the packet generation unit 620 of the second device 120 may generate the third packet 1000 by changing the path information of the packet according to the rule.
  • According to an embodiment of the present disclosure, the transmission unit 630 of the second device 120 may transmit the third packet 1000 to the first device 110 through the existing network. For example, the address information of the first device 110 is included in the destination information of the third packet 1000 which is transmitted by the transmission unit 630 of the second device 120, and thus the second device 120 may transmit the third packet to the first device through the router 140.
  • FIG. 7 is a detailed flowchart illustrating a method of performing communication using a packet generated by a first device, according to an embodiment of the present disclosure.
  • Referring to FIG. 7, a flowchart is illustrated, such that in operation S710, a first device 110 may obtain information of available links which may be used by each device within a network.
  • According to an embodiment of the present disclosure, the first device 110 may obtain information such as the first link 150, as illustrated in FIG. 1, the second link 160, as illustrated in FIG. 1, and the third link 170, as illustrated in FIG. 1. Furthermore, the first device 110 may select one of paths to a destination device 130 based on information of available links by each device within the network. For example, the first device 110 may select the path to the destination device 130 by determining the quickest link from among the first link 150, the second link 160, and the third link 170 based on link information.
  • If the first device determines that the second link 160 is the quickest, the first device 110 may select the path which transmits the packet to the destination device 130 via a second device 120 including the second link 160. When a plurality of links are included in the path to the destination device 130, the path to the destination device 130 may be selected by determining the combination of the quickest links.
  • In operation S712, the first device 110 may generate link setting information needed to transmit a packet to the destination device 130 through the second device 120 based on information of the second device 120 that is included in the selected path.
  • According to an embodiment of the present disclosure, the link setting information is defined as information which is needed to communicate with the destination device 130 using the path selected by the first device 110. For example, the link setting information may include address information of the second device 120, port information of the second device 120, address information of the first device 110, port information of the first device 110, address information of the destination device 130, port information of the destination device 130, and setting information on TCP/IP 4 layers of the first device 110 and the second device 120.
  • According to an embodiment of the present disclosure, the first device 110 may generate index information along with link setting information. The index information is defined as information which indicates whether the packet is a packet which passes through the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information. For example, when index information is included in the received packet, the second device 120 may determine that the packet passes the second device 120, and may obtain the address information of the destination device 130 of the packet received in the link setting information which is indicated by the index information.
  • According to an embodiment of the present disclosure, the first device 110 may generate index information in various methods. For example, the first device 110 may use a hash code, which is generated using the hash function, as index information.
  • In operation S714, when the second device 120 is included in the path selected by the first device 110, the first device 110 may generate the first packet 800, as illustrated in FIG. 8, by inserting path information into the packet based on the link setting information so that the transmitted packet may pass through the second device 120.
  • According to an embodiment of the present disclosure, the first device 110 may generate a rule which inserts the path information into the packet using the generated link setting information. The rule, which inserts path information, is defined as a method of inserting path information into the packet so that the first device 110 may communicate with the destination device 130 through the selected path. For example, the first device 110 may generate a rule of inserting index information generated in a source port of a packet header and inserting address information of the second device into a destination port of the packet header so that the generated packet may use the second link 160. The first device 110 may generate the first packet 800 according to the rule.
  • In operation S716, the first device 110 may transmit the first packet 800 to the destination device 130 via the second device 120 included in the selected path.
  • According to an embodiment of the present disclosure, the address information of the second device 120 has been inserted into a destination port of the first packet 800 transmitted by the first device 110, and thus the router 140, as illustrated in FIG. 1, which has received the first packet 800, may transmit the first packet 800 to the second device 120.
  • In operation S720, the second device 120 may receive a packet using a wired, wireless, and home network from the first device 110. For example, the second device 120 may receive a packet using the router 140.
  • In operation S722, the second device 120 may determine whether the received packet is a packet which passes through the second device 120 based on the path information included in the received packet.
  • According to an embodiment of the present disclosure, if index information is included in the packet received by the reception unit 640, as illustrated in FIG. 6, the second device 120 may determine that the receive packet is the first packet 800 which is transmitted to the destination device 130 via the second device 120 according to the path selected by the first device 110.
  • In operation S724, the second device 120 may generate the second packet 900, as illustrated in FIG. 9, by changing the path information included in the packet according to the link setting information indicated by the index information of the received packet.
  • According to an embodiment of the present disclosure, the second device 120 may generate a rule which changes the path information included in the packet using link setting information. The rule, which changes the path information, is defined as a method in which the first device 110 changes the path information of the packet for communication with the destination device 130. For example, the second device 120 may generate a rule of inserting address information of the second device 120 into a source port of a packet header and inserting the address information of the destination device 130 into a destination port of the packet header. The second device 120 may generate the second packet 900 by changing the path information included in the packet according to the generated rule.
  • In operation S726, the second device 120 may transmit the generated second packet 900 to the destination device 130 through the link selected by the first device 110.
  • According to an embodiment of the present disclosure, the second device 120 may transmit the generated second packet 900 to the destination device 130 through the second link 160 about which the first device 110 has determined as the quickest.
  • In operation S728, the second device 120 may receive a response packet in response to the second packet 900 transmitted from the destination device 130.
  • According to an embodiment of the present disclosure, the second device 120 may determine whether the received packet is a response packet by various information sets included in the header. For example, the second device 120 may determine whether the received packet is a response packet based on the TCP/UDP header of the received packet. In detail, if the address information included in a source port of the TCP/UDP header of the second packet 900 transmitted by the second device 120 is included in a destination port of the TCP/UDP header included in the packet received from the destination device 130, the second device 120 may determine that the received packet is a response packet to the second packet 900.
  • In operation S730, when the second device 120 determines that the received packet is a response packet to the second packet 900, the second device 120 may generate the third packet 1000, as illustrated in FIG. 1, by changing the path information included in the response packet using the packet generation unit 620, as illustrated in FIG. 6.
  • According to an embodiment of the present disclosure, if the second device 120 receives a response packet to the second packet, the second device 120 may determine that the actual destination of the response packet is not the second device 120, but the first device 110. Hence, a third packet 1000 including the address information of the first device 110 may be generated to be transmitted to the first device 110.
  • According to an embodiment of the present disclosure, the second device 120 may generate a rule which changes path information included in a response packet using link setting information. For example, the second device 120 may generate a rule of inserting address information of the destination device 130 into a source port of a response packet header and inserting the address information of the first device 110 into a destination port of the packet header. The second device 120 may generate the third packet 1000 by changing the path information included in the response packet according to the generated rule.
  • In operation S732, the transmission unit 630 may transmit the generated third packet 1000 to the first device.
  • According to an embodiment of the present disclosure, the second device 120 may transmit the third packet 1000 using a wired, wireless, and home network. For example, the second device 120 may transmit the third packet 1000 through the connected router 140. The address information of the first device 110 has been inserted into a destination port of the third packet 1000 transmitted by the second device 120, and thus the router 140, which has received the third packet 1000, may transmit the third packet 1000 to the first device 110
  • FIG. 8 is a block diagram of a first packet, according to an embodiment of the present disclosure.
  • Referring to FIG. 8, a first packet 800 is illustrated, such that according to an embodiment of the present disclosure, the first device 110, as illustrated in FIG. 1, may generate the first packet 800, which has already been explained with reference to FIGS. 2 to 8. The first packet 800 includes a payload, an IP header 810 and a TCP/UDP header 850.
  • For example, the first device 110 may generate the first packet 800 by inserting index information into a source address 814 of the IP header 810 of the first packet 800, inserting address information of the second device into a destination address 812 of the IP header 810, inserting port information of the destination device 130, as illustrated in FIG. 1, into a destination port 852 of the TCP/UDP header 850 of the first packet 800, and inserting port information of the first device 110 into to source port 854 of the TCP/UDP header 850 in order to communicate with the destination device 130, as illustrated in FIG. 1, using the selected second link 160, as illustrated in FIG. 1.
  • FIG. 9 is a block diagram of a second packet, according to an embodiment of the present disclosure.
  • Referring to FIG. 9, a second packet 900 is illustrated, such that according to an embodiment of the present disclosure, the second device 120, as illustrated in FIG. 1, may generate the second packet 900, which has already been explained with reference to FIGS. 2 to 8. The second packet 900 includes a payload, an IP header 910 and a TCP/UDP header 950.
  • For example, the second device 120 may generate the second packet 900 by inserting address information of the second device 120 into a source address 914 of the IP header 910 of the second packet 900, inserting address information of the destination device 130, as illustrated in FIG. 1, into a destination address 912 of the IP header 910, inserting port information of the destination device 130 into a destination port 952 of the TCP/UDP header 950 of the second packet 900, and inserting port information of the second device 120 into a source port 954 of the TCP/UDP header 950 in order to transmit the received second packet 900 to the destination device 130.
  • FIG. 10 is a block diagram of a third packet, according to an embodiment of the present embodiment.
  • Referring to FIG. 10, a third packet 1000 is illustrated, such that according to an embodiment of the present disclosure, the second device 120, as illustrated in FIG. 1, may receive a response packet to generate the third packet 1000, which has already been explained with reference to FIGS. 2 to 8. The third packet 1000 includes a payload, an IP header 1010 and a TCP/UDP header 1050.
  • For example, the second device 120 may generate the third packet 1000 by inserting address information of the destination device 130, as illustrated in FIG. 1, of the second device 120 into a source address 1014 of the IP header 1010 of the response packet, inserting address information of the first device 110, as illustrated in FIG. 1, into a destination address 1012 of the IP header 1010, inserting port information of the destination device 130 into a destination port 1052 of the TCP/UDP header 1050 of the packet, and inserting port information of the destination device 130 into a source port 1054 of the TCP/UDP header 1050, in order to transmit the response packet to the first device 110.
  • FIG. 11 illustrates a structure of a device to explain a method of communication, according to an embodiment of the present disclosure.
  • Referring to FIG. 11, a first device 110 including a packet controller 510, a packet generation unit 520, a transmission unit 530 and a reception unit 540, a second device 120 including a packet controller 610, a packet generation unit 620, a transmission unit 630 and a reception unit 640, a first link 150, a second link 160, a third link 170, a router 140 and a destination device 130 are illustrated, such that according to an embodiment of the present disclosure, the devices within a network may use SDN technology.
  • For example, the first device 110 and the second device 120 may use the SDN technology. The SDN technology is a technology of controlling the network by separating hardware from software. In detail, the network device is hardware specialized in transmission and thus is optimized for transmission, and the functions related with other operation or function implementation are separately processed, and thus all network devices within the network are managed by software. The conventional router 140 does not generally use the SDN technology. It is because, in the conventional network devices, hardware and software are integrated, and thus network devices may be controlled by only software corresponding to hardware.
  • According to an embodiment of the present disclosure, a packet controller 510 of the first device 110, which uses the SDN technology, may obtain information of links which may be used by each device within the network. Furthermore, the packet controller 510 of the first device 110 may select the path which is the combination of the quickest links in order to transmit the packet to the destination device 130. For example, the first device 110 may obtain information such as the first link 150, the second link 160, and the third link 170, and may select the quickest link using the obtained information.
  • If the packet controller 510 of the first device 110 has obtained information that the second link 160 is the quickest, the packet controller 510 of the first device 110 may select the second link 160. However, according to the convention communication method, the first device 110 cannot communicate with the destination device 130 through the second link 160. Generally, in a network, devices are connected based on the router 140, and the devices connected to the router 140 may communicate with the destination device 130 through only the router 140. For example, when the first device is connected to the router 140, the first device 110 may need to communicate with the destination device 130 using the third link 170 via the router 140. Hence, the first device 110 cannot communicate with the destination device 130 using the path including the quickest link.
  • According to an embodiment of the present disclosure, the first device 110 may generate the first packet 800, as illustrated in FIG. 8, so that the first device 110, which uses the SDN technology, may communicate with the destination device 130 using the path including the quickest link, within the network including the conventional network device. For example, if the first device 110 determines that the second link 160 is the quickest, the first device 110 may select a path which transmits the packet to the destination device via the second device 120 including the second link 160, and the first device 110 may generate link setting information based on information of the second device 120 included in the selected path.
  • The link setting information is defined as information which is needed for the first device 110 to communicate with the destination device 130 using the selected path. For example, the link setting information may include address information of the second device 120, port information of the second device 120, address information of the first device 110, port information of the first device 110, address information of the destination device 130, port information of the destination device 130, and setting information on TCP/IP 4 layers of the first device 110 and the second device 120. Furthermore, the first device 110 may generate index information along with link setting information.
  • The index information is defined as information which indicates whether the packet is a packet which passes the device which receives the packet, and allows the device which receives the packet to obtain predetermined information included in the link setting information. For example, when index information is included in the received packet, the second device 120 may determine that the packet passes the second device 120, and may obtain the address information of the destination device of the packet received in the link setting information which is indicated by the index information. The first device 110 may generate the first packet 800 by inserting the path information into the packet based on the generated link setting information.
  • According to an embodiment of the present disclosure, the first device 110 may generate a rule of inserting the path information into the packet using the generated link setting information. The rule of inserting path information is defined as a method of inserting path information into the packet so that the first device 110 may communicate with the destination device 130 through the selected path. For example, the first device 110 may generate a rule of inserting index information generated in a source port of the packet header and inserting address information of the second device in a destination port of the packet header so that the generated packet may use the second link 160. The first device 110 may generate the first packet 800 according to the rule.
  • According to an embodiment of the present disclosure, the first device 110 may transmit the first packet 800 through the connected router 140. The address information of the second device 120 has been inserted in a destination port of the first packet 800 transmitted by the first device 110, and thus the router 140, which has received the first packet 800, may transmit the first packet 800 to the second device 120.
  • According to an embodiment of the present disclosure, the second device 120 may determine whether the received packet passes through the second device based on the path information included in the received packet. For example, if index information is included in the packet received by the second device 120, the second device 120 may determine the received packet as the first packet 800 which is transmitted to the destination device 130 via the second device 120 according to the path selected by the first device 110.
  • According to an embodiment of the present disclosure, the second device 120 may generate the second packet 900, as illustrated in FIG. 9, by changing the path information included in the packet according to the link setting information indicated by the index information of the received packet. Furthermore, the second device 120 may generate a rule of changing path information included in the packet using the link setting information. The rule of changing path information is defined as a method of changing path information of the packet so that the first device 110 may communicate with the destination device 130 through the selected path. For example, the second device 120 may generate a rule of inserting the address information of the second device into a source port of the packet header and inserting the address information of the destination device 130 into a destination port of the packet header. The second device 120 may generate the second packet 900 by changing the path information included in the packet according to the generated rule.
  • According to an embodiment of the present disclosure, the second device 120 may transmit the second packet 900 to the destination device 130 through the link selected by the first device 110. For example, the second device may transmit the generated second packet to the destination device 130 through the second link which is determined as the quickest by the first device 110.
  • According to an embodiment of the present disclosure, the second device 120 may receive a response packet to the transmitted second packet 900 from the destination device 130.
  • According to an embodiment of the present disclosure, if a response packet to the second packet is received, the second device 120 may determine that the actual destination of the response packet is not the second device 120, but the first device 110. Hence, the third packet 1000, as illustrated in FIG. 10, including address information of the first device 110 may be generated to be transmitted to the first device 110. Furthermore, the second device 120 may generate a rule of changing path information included in the response packet using the link setting information. For example, the second device 120 may generate a rule of inserting address information of the destination device 130 into a source port of the response packet header and inserting address information of the first device 110 into a destination port of the packet header. The second device 120 may generate the third packet 1000 by changing the path information included in the response packet according to the generated rule.
  • According to an embodiment of the present disclosure, the second device 120 may transmit the third packet 1000 through the connected router 140. The address information of the first device has been inserted into a destination port of the third packet 1000 transmitted by the second device 120, and thus the router 140, which has received the third packet 1000, may transmit the third packet 1000 to the first device 110.
  • Some embodiments may be implemented in a form of a non-transitory computer-readable recording medium including a command executable by a computer such as a program module executed by a computer. The non-transitory computer-readable medium may be an arbitrary available medium accessible by a computer, and includes all of a volatile and nonvolatile medium and a separable and non-separable medium. Furthermore, the non-transitory computer-readable medium may include all of a computer storage medium and a communication medium. The computer storage medium includes all of a volatile and nonvolatile medium and a separable and non-separable medium which are implemented in an arbitrary method or technology for storing information such as a computer-readable command, a data structure, program module and other data. The communication medium typically includes a computer-readable command, a data structure, a program module, other data of modulated data signals, or other transmission mechanisms, and includes an arbitrary information transmission medium.
  • The above description is for illustration and one of ordinary skill in the art can easily change the embodiments into other specific forms without changing the technical concepts and essential features of the present disclosure. Hence, It should be understood that the various embodiments described therein should be considered in a descriptive sense only and not for purposes of limitation. For example, each singular component described therein may also be performed after being distributed. Likewise, components which have been described as having been distributed may also be performed in a combined form.
  • While the present disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.

Claims (26)

What is claimed is:
1. A method of communication by a first device, the method comprising:
selecting, by the first device, one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links;
generating link setting information needed to transmit a packet to the destination device through a second device based on information of a second device included in the selected path;
generating a first packet by inserting path information into the packet based on the link setting information; and
transmitting the first packet to the destination device through the second device.
2. The method of claim 1, wherein the generating of the link setting information comprises generating index information which indicates the link setting information.
3. The method of claim 2, wherein the generating of the first packet by inserting the path information comprises inserting the generated index information into a source port of a packet header of the packet and inserting address information of the second device into a destination port of the packet header of the packet.
4. The method of claim 1, wherein the generating of the first packet by inserting the path information comprises:
generating a rule for inserting the path information into the packet based on the link setting information; and
generating the first packet by inserting the path information into the packet according to the generated rule
5. The method of claim 1, wherein the selecting comprises selecting the path including a quickest link, from among available links by each device within the network, based on information of the available links.
6. The method of claim 1, wherein the link setting information includes at least one of address information of the second device, port information of the second device, address information of the first device, port information of the first device, address information of the destination device, and setting information for a transmission control protocol/internet protocol (TCP/IP) of the first device and the second device.
7. A first device which communicates through a second device, the first device comprising:
a first packet controller configured to:
select one path of a plurality of paths to a destination device by each device including the first device within a network, the one path being selected based on information of available links; and
generate link setting information, which is needed to transmit a packet to the destination device through a second device based on information of a second device included in the selected path;
a first packet generation unit configured to generate a first packet by inserting path information into the packet based on the link setting information; and
a first transmission unit configured to transmit the first packet to the destination device through the second device.
8. The apparatus of claim 7, wherein the first packet controller is further configured to generate index information which indicates the link setting information.
9. The apparatus of claim 8, wherein the first packet generation unit is further configured to:
insert the generated index information into a source port of a packet header of the packet; and
generate the first packet by inserting address information of the second device into a destination port of the packet header of the packet.
10. The apparatus of claim 7,
wherein the first packet controller is further configured to generate a rule for inserting the path information into the packet based on the link setting information, and
wherein the first packet generation unit is further configured to generate a first packet by inserting the path information into the packet according to the generated rule.
11. The apparatus of claim 7, wherein the first packet controller is further configured to select the path including a quickest link, from among available links by each device within the network, based on a state of the available links.
12. A method of communication by a second device, the method comprising:
receiving, by the second device, a first packet from a first device;
determining whether the received first packet passes through the second device based on path information included in the received first packet;
generating a second packet by changing the path information according to link setting information based on a result of the determination; and
transmitting the second packet to a destination device.
13. The method of claim 12, wherein the determining determines whether index information, which indicates the link setting information, is included in the path information.
14. The method of claim 12, wherein the generating of the second packet comprises:
generating a rule for changing the path information included in the received first packet, based on the link setting information; and
changing the path information included in the received first packet according to the generated rule.
15. The method of claim 14, wherein the changing of the path information comprises inserting target address information into a destination port of the received first packet and inserting address information of the second device into a source port of the received first packet.
16. The method of claim 12, further comprising:
receiving a response packet in response to the transmitted second packet;
generating a third packet by changing path information of the response packet based on the link setting information; and
transmitting the third packet to the first device.
17. The method of claim 16, wherein the generating of the third packet comprises:
generating a rule for changing the path information included in the response packet, based on the link setting information; and
generating the third packet by changing the path information included in the response packet based on the generated rule.
18. The method of claim 16, wherein the generating of the third packet comprises generating the third packet by inserting address information of the first device into a destination port of the response packet and inserting destination address information of a source port of the response packet.
19. A second device, comprising:
a second reception unit configured to receive a first packet from a first device;
a second packet controller configured to determine whether the received first packet passes through the second device based on path information included in the received first packet;
a second packet generation unit configured to generate a second packet by changing the path information according to link setting information based on a result of the determination of the second packet controller; and
a second transmission unit configured to transmit the second packet to a destination device.
20. The apparatus of claim 19, wherein the second packet controller is further configured to determine whether the packet passes through the second device based on whether index information, which indicates the link setting information, is included in the path information.
21. The apparatus of claim 19,
wherein the second packet controller is further configured to generate a rule for generating the second packet based on the link setting information, and
wherein the second packet generation unit is further configured to generate the second packet by changing the path information included in the received first packet according to the generated rule.
22. The apparatus of claim 21, wherein the second packet generation unit is further configured to change the path information by inserting destination address information into a destination port of the received first packet and inserting address information of the second device into a source port of the received first packet.
23. The apparatus of claim 19,
wherein the second reception unit is further configured to receive a response packet in response to the transmitted second packet,
wherein the second packet controller is further configured to generate a third packet by changing path information of the response packet based on the link setting information, and
wherein the second transmission unit is further configured to transmit the third packet to the first device.
24. The apparatus of claim 23,
wherein the second packet controller is further configured to generate a rule for changing the path information included in the response packet, based on the link setting information, and
wherein the second packet generation unit is further configured to generate the third packet by changing the path information included in the response packet based on the generated rule.
25. The apparatus of claim 23, wherein the second packet controller is further configured to generate the third packet by inserting address information of the first device into a destination port of the response packet and inserting address information of a destination into a source port of the response packet.
26. A non-transitory computer-readable storage medium storing instructions that, when executed, cause at least one processor to perform the method of claim 1.
US14/672,863 2014-04-01 2015-03-30 Communication method and apparatus in a network including a plurality of devices Expired - Fee Related US9967171B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140038748A KR102184767B1 (en) 2014-04-01 2014-04-01 Communication method and apparatus in network including plurality of device
KR10-2014-0038748 2014-04-01

Publications (2)

Publication Number Publication Date
US20150281108A1 true US20150281108A1 (en) 2015-10-01
US9967171B2 US9967171B2 (en) 2018-05-08

Family

ID=54191958

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/672,863 Expired - Fee Related US9967171B2 (en) 2014-04-01 2015-03-30 Communication method and apparatus in a network including a plurality of devices

Country Status (3)

Country Link
US (1) US9967171B2 (en)
KR (1) KR102184767B1 (en)
WO (1) WO2015152626A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563804B2 (en) * 2019-05-28 2023-01-24 Samsung Sds Co., Ltd. Determining transmission path based on pre-stored quality information from client devices

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080225713A1 (en) * 2007-03-16 2008-09-18 Cisco Technology, Inc. Source routing approach for network performance and availability measurement of specific paths
US20100091823A1 (en) * 2008-10-13 2010-04-15 Cisco Technology, Inc. Two-hop Relay for Reducing Distance Vector Routing Information
US20100271982A1 (en) * 2002-01-08 2010-10-28 Verizon Services Corp. Methods and apparatus for providing emergency telephone service to ip-based telephone users
US20110047291A1 (en) * 2009-01-26 2011-02-24 Tomoki Ishii Relay device, control method, and program
US20110238975A1 (en) * 2010-03-24 2011-09-29 Fujitsu Limited Information processing device, route control device, and data relay method
US20120140697A1 (en) * 2009-08-13 2012-06-07 Weimin Chen Relay method of transport bearer, apparatus and communication system
US20130077501A1 (en) * 2011-09-22 2013-03-28 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US20130315102A1 (en) * 2011-01-31 2013-11-28 Intellectual Discovery Co., Ltd. Network system
US20140071839A1 (en) * 2012-09-11 2014-03-13 Cisco Technology, Inc. Bandwidth Probing Messages
US20140185470A1 (en) * 2013-01-02 2014-07-03 Tracey Bernath System and Method for Enhanced Proxy Component
US20140226664A1 (en) * 2013-02-08 2014-08-14 Huawei Technologies Co., Ltd. Method, apparatus, and system for implementing private network traversal
US20140269289A1 (en) * 2013-03-15 2014-09-18 Michelle Effros Method and apparatus for improving communiction performance through network coding
US20150263959A1 (en) * 2014-03-13 2015-09-17 Cisco Technology, Inc. Performance enhancement in a heterogeneous network environment with multipath transport protocols
US20150281367A1 (en) * 2014-03-26 2015-10-01 Akamai Technologies, Inc. Multipath tcp techniques for distributed computing systems
US20160212759A1 (en) * 2013-08-29 2016-07-21 Telefonaktiebolaget L M Ericsson (Publ) Mptcp scheduling

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090055117A (en) 2007-11-28 2009-06-02 삼성전자주식회사 Apparatus and method for header compression in broadband wireless access system
KR101057095B1 (en) 2009-06-12 2011-08-16 경기대학교 산학협력단 How to Route in Mesh Networks
KR101147467B1 (en) 2010-04-29 2012-05-21 경기대학교 산학협력단 Device and method for setting path
EP2608462B1 (en) 2010-08-20 2019-02-06 Nec Corporation Communication system, control apparatus, communication method and program
US20120099591A1 (en) 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
US8879397B2 (en) 2011-05-13 2014-11-04 Polytechnic Institute Of New York University Balancing load in a network, such as a data center network, using flow based routing
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8521905B2 (en) 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System for flexible and extensible flow processing in software-defined networks
US9769061B2 (en) 2012-05-23 2017-09-19 Brocade Communications Systems, Inc. Integrated heterogeneous software-defined network

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271982A1 (en) * 2002-01-08 2010-10-28 Verizon Services Corp. Methods and apparatus for providing emergency telephone service to ip-based telephone users
US20080225713A1 (en) * 2007-03-16 2008-09-18 Cisco Technology, Inc. Source routing approach for network performance and availability measurement of specific paths
US20100091823A1 (en) * 2008-10-13 2010-04-15 Cisco Technology, Inc. Two-hop Relay for Reducing Distance Vector Routing Information
US20110047291A1 (en) * 2009-01-26 2011-02-24 Tomoki Ishii Relay device, control method, and program
US20120140697A1 (en) * 2009-08-13 2012-06-07 Weimin Chen Relay method of transport bearer, apparatus and communication system
US20110238975A1 (en) * 2010-03-24 2011-09-29 Fujitsu Limited Information processing device, route control device, and data relay method
US20130315102A1 (en) * 2011-01-31 2013-11-28 Intellectual Discovery Co., Ltd. Network system
US20130077501A1 (en) * 2011-09-22 2013-03-28 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US20140071839A1 (en) * 2012-09-11 2014-03-13 Cisco Technology, Inc. Bandwidth Probing Messages
US20140185470A1 (en) * 2013-01-02 2014-07-03 Tracey Bernath System and Method for Enhanced Proxy Component
US20140226664A1 (en) * 2013-02-08 2014-08-14 Huawei Technologies Co., Ltd. Method, apparatus, and system for implementing private network traversal
US20140269289A1 (en) * 2013-03-15 2014-09-18 Michelle Effros Method and apparatus for improving communiction performance through network coding
US20160212759A1 (en) * 2013-08-29 2016-07-21 Telefonaktiebolaget L M Ericsson (Publ) Mptcp scheduling
US20150263959A1 (en) * 2014-03-13 2015-09-17 Cisco Technology, Inc. Performance enhancement in a heterogeneous network environment with multipath transport protocols
US20150281367A1 (en) * 2014-03-26 2015-10-01 Akamai Technologies, Inc. Multipath tcp techniques for distributed computing systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563804B2 (en) * 2019-05-28 2023-01-24 Samsung Sds Co., Ltd. Determining transmission path based on pre-stored quality information from client devices

Also Published As

Publication number Publication date
KR20150114283A (en) 2015-10-12
US9967171B2 (en) 2018-05-08
WO2015152626A1 (en) 2015-10-08
KR102184767B1 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
CN107005472B (en) Method and device for providing inter-domain service function link
US9288734B2 (en) Traffic splitting based on latency between cells
KR101925184B1 (en) Virtual router cluster, data forwarding method and device
EP2892188B1 (en) Method for determining packet forwarding path, network device and control device
CN105490791B (en) SRS signal sending and triggering method, device, user equipment and base station
US9838336B2 (en) Communication system, control apparatus, forwarding node, control method and program
JP2016539557A5 (en)
EP2991292A1 (en) Network collaborative defense method, device and system
TWI618371B (en) Full duplex wireless communications on devices with limited echo cancellation capabilities
KR20220038337A (en) Terminal and communication method
WO2016070792A1 (en) System and method for data path validation and verification
US9661550B2 (en) Communication apparatus, communication method, and communication system
JP2021501522A (en) Select designated forwarder
JP2017516201A (en) Selective exchange of data between P2P compatible client devices via a server
EP3580899B1 (en) Abstracting wireless device to virtual ethernet interface
US9742797B2 (en) Method for incorporating network port hopping with minimal or no impact to underlying systems
US9967171B2 (en) Communication method and apparatus in a network including a plurality of devices
US20200304400A1 (en) Path selection method and device
CN114390581A (en) Channel state information reporting method, device and terminal
US9942823B2 (en) Communication terminal, communication method, and communication program
US20160050654A1 (en) Control apparatus, communication system, control information transmission method and program
EP2993955A1 (en) Network and network constructing method and equipment
US10298454B2 (en) Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product
KR20230154980A (en) Method and apparatus for handling collisions
EP3130194B1 (en) Ad hoc network with unidirectional link

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FURTAK, MARCIN RAFAL;REEL/FRAME:035287/0720

Effective date: 20150303

STCF Information on status: patent grant

Free format text: PATENTED CASE

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220508