EP2737681B1 - Method and apparatus for reliable session migration - Google Patents

Method and apparatus for reliable session migration Download PDF

Info

Publication number
EP2737681B1
EP2737681B1 EP12730127.3A EP12730127A EP2737681B1 EP 2737681 B1 EP2737681 B1 EP 2737681B1 EP 12730127 A EP12730127 A EP 12730127A EP 2737681 B1 EP2737681 B1 EP 2737681B1
Authority
EP
European Patent Office
Prior art keywords
end node
checksum
path
processor
data storage
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.)
Active
Application number
EP12730127.3A
Other languages
German (de)
French (fr)
Other versions
EP2737681A1 (en
Inventor
Karl Georg Hampel
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of EP2737681A1 publication Critical patent/EP2737681A1/en
Application granted granted Critical
Publication of EP2737681B1 publication Critical patent/EP2737681B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the invention relates generally to a method, an apparatus and a computer-readable storage medium for providing reliable session migration.
  • Various embodiments provide a reliable session migration method and apparatus without requiring additional option headers to each packet or inducing transmission delay. This is achieved by utilizing aggregated checksums that facilitate session migration upon a migration event.
  • some such embodiments may permit applications to continue when the endpoint device physically moves from one access network to another.
  • some such embodiments may allow dynamic migration access networks based on load, pricing or other factors.
  • some such embodiments may permit traffic to be split along multiple paths so as to increase the aggregate throughput.
  • a method and apparatus for migrating from a first path to a second path in a stream-oriented communication session.
  • the method includes setting the communication session to operate in a selected path mode over the first path and aggregating a first checksum of a stream of transmitted or received packets during the transmission or reception.
  • the method further includes migrating the communication session to the second path based on a checksum match based on the first checksum.
  • substantial portions of the plurality of packets do not contain the first checksum.
  • the first and second paths are over disparate networks.
  • the checksum match includes transmitting a selected path mode termination packet to another end node and receiving a checksum acknowledgement from the other end node.
  • the selected path mode termination packet includes the first checksum.
  • the selected path mode termination packet is a retroactive DSS packet.
  • the retroactive DSS packet includes the first checksum, a current DSN and a current SSN.
  • performing the checksum match further includes receiving a retransmission request from the other end node and retransmitting a portion of the plurality of transmitted packets to the other end node.
  • setting the communication session to operate in selected path mode includes transmitting a selected path mode termination packet on the first path.
  • the selected path mode termination packet includes a start checksum aggregation indicator, a current DSN and a current SSN.
  • the apparatus is a mobile computing device.
  • the apparatus is a networked host.
  • FIG. 1 illustrates an exemplary reliable transport session system 100.
  • Reliable transport session system 100 includes two end nodes 110-1 and 110-2 using a multipath communication protocol to communicate data between the two nodes.
  • the multipath communication protocol supports end-point migration of stream-oriented sessions across multiple paths 120-1 and 120-2.
  • the two end nodes 110-1 and 110-2 are configured to communicate packet data from one end node to the other via a stream-oriented transport mechanism.
  • Stream-oriented transport mechanisms may include any suitable protocol such as TCP or SCTP to establish a stream-oriented session.
  • Stream-oriented sessions may establish bi-directional communication between end nodes 110-1 and 110-2 and thus, at any point in time, either end node 110-1 or 110-2 may be the transmitter or receiver of the packet data.
  • Various access networks may be available to end node 110-1 to participate in a communication session with end node 110-2 to communicate session packet data.
  • An example of two such paths is provided by paths 120-1 and 120-2.
  • the communication session includes at least one stream-oriented transport session (i.e., flow) over each of paths 120-1 and 120-2.
  • a multipath communication protocol overlays the stream-oriented transport sessions to control the reliable in-order delivery and assembly of packet data over the different flows.
  • Paths 120-1 and 120-2 include access networks 150 and 160 that may directly route session packets to end node 110-1 or subsequently route packets through the internet cloud 170 to end node 110-2.
  • Session packets routed through access networks 150 and 160 and internet cloud 170 may be altered by middle boxes such as performance enhancing proxies and/or application layer gateways present in the networks.
  • middle boxes such as performance enhancing proxies and/or application layer gateways present in the networks.
  • Such alteration of session packets change or affect the numbering schemes utilized by the multipath communication protocol to reliably reassemble the transmitted packet data arriving from the multiple flows. They may further change the content of the payload affecting the semantics of the information transferred. Therefore, the session end-point migration protocol must recognize if such data alteration has taken place when aligning the packets from various paths. In such event, the migration protocol may eventually discontinue the corresponding transport path or the connection altogether.
  • some embodiments may provide reliable session migration without requiring additional option headers or inducing transmission delay while still detecting when packets have been altered by middle boxes. Some of these embodiments may permit applications to continue when the endpoint device physically moves from one access network. Similarly, some of these embodiments may allow dynamic session migration across access networks based on load, pricing or other factors. Moreover, some of these embodiments may permit traffic to be split along multiple paths so as to increase the aggregate throughput.
  • end node 110-1 and/or 110-2 is a mobile computing device.
  • a mobile computing device may be any suitable mobile device such as: a mobile phone, a tablet, a computer, a personal digital assistant (PDA), a mobile gaming system, an e-reader and the like.
  • PDA personal digital assistant
  • end node 110-1 and/or 110-2 is a networked host.
  • a networked host may be any suitable host such as: a single server and multiple servers in a cloud.
  • paths 120-1 and 120-2 may include disparate access networks.
  • Disparate access networks may include access networks such as: W-CDMA, LTE, UMTS, broadband networks and the like.
  • end node 110-1 may establish a CDMA wireless connection through a wireless access network 150 such as the wireless access network serviced by Verizon.
  • end node 110-1 may establish a WiFi connection through a broadband access network 160 such as the IP access network serviced by Comcast.
  • the multipath communication protocol may be a conventional multipath protocol such as: multipath TCP (MPTCP) as set out in IETF Internet-Draft draft-hampel-mptcp-applicability-wireless-networks-00.txt, XP15076456, or multipath SCTP.
  • MPTCP multipath TCP
  • FIG. 2 shows a method 200 for providing reliable transport session migration as illustrated by the reliable transport session system 100 of FIG. 1 .
  • the method 200 includes setting an end node to operate in selected path mode over a first path (step 210).
  • the end node transmits or receives packets over the first path (step 220) and aggregates a first checksum of the transmitted / received packets (step 230) until the end node determines that the end node should be migrated to a second path (step 250) and verifies the checksum match (step 260).
  • the end node then migrates the communication session from the first to the second path (step 270).
  • step 210 includes setting an end node to operate in selected path mode over a first path.
  • end node 110-1 or 110-2 may announce the setting of the communication path to operate in a selected path mode over a first path by transmitting a first selected path mode initiation packet that includes a selected path mode initiation value.
  • both the transmitting and receiving end nodes set their operational modes to selected path mode over the first path.
  • all, or at least a portion, of the available paths may be alive; however, only one selected path is used for transmission and reception of the packet stream.
  • the advantage to selecting only one path may be multifold such as: 1) to simplify reassembly, 2) other weaker paths may create "head-of-line blocking" due to dropped packet(s) since all other packets have to wait until lost one is retransmitted, 3) the other paths may be too expensive (e.g. due to interface charges), 4) multiple radios may have to be supported increasing costs such as increased battery power. It may be appreciated that other available paths may be used to transmit and/or receive packets from packet streams in other communication sessions.
  • either a transmitting or receiving end node may announce the setting of the communication path for operation in a selected path mode over a first path.
  • the protocol may allow for the end nodes to agree to set their operational modes to selected path mode based on the first selected path mode initiation packet without requiring further signaling.
  • the protocol is configured so that further conventional multipath checksums and sequence numbers are not required to be added to a substantial fraction of the option headers in the communication session when in selected path mode.
  • substantial fraction is meant that only signaling packets require the aggregated checksum and multipath sequence numbers.
  • the selected path mode initiation packet and selected path mode termination packet may contain additional checksum and multipath sequence number information in the option headers.
  • steps 220 and 230 include transmitting or receiving packets over the first path and aggregating a first checksum.
  • the method 200 continues transmitting / receiving packets and aggregating checksums of the transmitted / received packets (steps 220 and 230) until the method determines that it should migrate to a second path (step 250).
  • this technique of aggregating the checksum as the packets are transmitted / received obviates the need for any a priori knowledge about the sequence length of the data to be transmitted and it requires only one value (i.e., the aggregated checksum) to be cached by each end node for each flow direction.
  • sender and receiver end nodes each compute an aggregate checksum over all packets of the communication session until the selected path mode is terminated.
  • a checksum of the transmitted packet is determined and aggregated into the aggregated checksum value being stored by the transmit end node for the communication flow.
  • a checksum of the received packet is determined and aggregated into the aggregated checksum value stored by the receive end node for the communication flow.
  • Checksums may be aggregated in any suitable way such as: adding the current packet checksum to the aggregated checksum.
  • the aggregate checksum is built as a checksum over the per-packet checksums in the same way as the transport layer checksum is built as a checksum over the packet data.
  • steps 220 and 230 may be performed in any order or performed in parallel.
  • steps 250 and 260 include determining whether to migrate the communication session from the first path to a second path.
  • a migration determination is based on a migration event (step 250) and on a checksum match (step 260).
  • step 250 includes determining whether a migration event has been detected indicating a preference to switch from operating in selected path mode.
  • a migration event may be a determination by the end node of a preference to switch out of the selected path mode of operation.
  • the preference to switch from selected path mode may be based on environmental parameters; a received user message from a user interface; or a received message from the other end node.
  • Environmental parameters may be signal strengths; cost parameters; latency values; bandwidth values; and/or the like of the available paths or information obtained from the congestion control of the currently active flow.
  • step 260 includes using a checksum match to determine that the communication session packets have not been altered.
  • a checksum match is an indication that the first checksum aggregated by the end node matches a second checksum aggregated by the other end node (e.g., the numbers and values of the bytes contained in the packet have not been altered by middle boxes).
  • the end node may determine the checksum match by transmitting its first checksum to the other end node and receiving an indication from the other end node that the checksums match. Alternatively, the end node may determine the checksum match by receiving the second checksum from the other end node and receiving an indication from an internal comparison that the checksums match.
  • the checksum match step 260 verifies that the communication session packets have not been altered and that the communication session may therefore switch to another selected path or to multipath mode.
  • step 270 includes migrating the communication session from the first path to a second path.
  • the end node may set the communication session to selected path mode over the second path.
  • an end node may announce the setting of the communication path to operate in a selected path mode over the second path by transmitting a first selected path mode initiation packet that includes a selected path mode initiation value.
  • the end node may switch to operate in multipath mode before migrating to the selected path mode over the second path.
  • the end node transmitter may only allowed transmission of the subject block of packet data on the first path.
  • the end nodes may communicate in multipath mode for a period of time before the switch to operate in selected path mode over the second path has been effectuated. In fact, the end node may decide to continue transmitting in multipath mode instead of switching to selected path mode over the second path.
  • the acts of determining to migrate (step 250), verifying a checksum match (step 260) and migrating to a second path (step 270) may be performed discretely or, advantageously, portions of each of the acts may be combined in a single process.
  • the migration event from step 250 may also be the checksum match indication of step 260.
  • the receipt of the packet containing the second checksum may constitute the migration event, and the determination that the second checksum matches the first checksum may constitute the checksum indication.
  • step 270 method 200 returns to step 220 to continue transmitting packets on the second path. Because method 200 is iterative, it may be appreciated that for a given transmission that has been migrated successfully, the "first path" referred to in the figure at step 220 may be identical with the "second path" to which a prior transmission was migrated.
  • step 210 includes using the conventional MPTCP multipath protocol.
  • step 230 includes using a per-packet checksum that is already supplied by the underlying transport protocol such as TCP, SCTP, UDP and the like.
  • step 230 uses the underlying transport checksum in the TCP header.
  • the computation of the aggregate checksum is less expensive by using a per-packet checksum already present since the packet checksum need not be separately determined.
  • the end node may transmit a selected path mode termination packet including the first checksum to the other end node. It may be appreciated that either end node in the communication session may transmit the selected path mode termination packet.
  • the selected path mode termination packet may further include parameters related to the data range of the sequence or superseding numbering schemes.
  • such parameters may provide, to an end node receiving data packets, information on how many packets are still outstanding, (e.g., due to packet loss), when the checksum-carrying packet arrives.
  • the receiving end node may initiate a retransmission scheme on the first path or on another path.
  • the selected path mode termination packet may be sent on the second path.
  • the end nodes may be able to continue the communication session on the second path. It may be appreciated that as described herein, although only one path is utilized in selected path mode, the other paths are alive (though idle) and may be utilized.
  • the communication may still be verified and migrated to multipath mode or a second path.
  • FIG. 3 shows a method 300 for migrating the communication session from a first path to a second path in a further embodiment of steps 250, 260 and 270 of FIG. 2 using the conventional MPTCP multipath protocol.
  • the method 300 includes the end node transmitting a packet with a retroactive DSS (step 320) upon receiving a migration event (step 310). If a migration event is not received or if migration events are set to no (i.e., not allowed), the method returns a "NO" and returns to step 220 of FIG. 1 (step 315). While waiting to receive an acknowledgement or failure message (step 340), the end node may transmit further packets on the first path (step 330).
  • migration events are set to "NO" (i.e., no more session migrations are allowed) and returns to step 220 of FIG. 1 (step 355).
  • multipath mode is confirmed (step 360).
  • the end node may then optionally remain in multipath mode with all paths available for transmission (step 370). While in multipath mode, the end node may transmit packets in multipath mode until the end node makes a determination to migrate to operate in selected path mode over the second path, or the end node may continue the communication session in multipath mode.
  • the end node determines to migrate to selected path mode over the second path, the end node transmits a selected path mode initiation packet (step 380), sets the operation of the selected path mode to the second path and returns to step 220 of FIG. 1 (step 390).
  • step 310 includes receiving a migration event as already described herein. Additionally, migration events may be throttled. For example, migration events may be throttled if the end node has determined that a portion of the transmitted packets in the communication session have been altered (e.g., as determined by a previous checksum verification).
  • step 315 includes returning to step 220 of FIG. 1 if no migration events have been received.
  • step 320 includes transmitting a packet with a retroactive DSS. Since MPTCP does not have a mechanism that permits the end nodes to return to multipath mode from selected path mode (i.e., "Fallback Mode" in MPTCP), a new DSS option called ā€œretroactive DSSā€ may be created.
  • the retroactive DSS is a selected path mode termination packet requesting a switch from selected path mode back to multipath mode. This new DSS option is called ā€œretroactive DSSā€ since it retroactively provides the checksum to multiple packets that have already been transmitted.
  • the retroactive DSS holds the present DSN and SSN pertaining to the subflow.
  • the checksum field contains the aggregated checksum while the range field is set to zero. The combination of non-zero checksum and zero-valued range indicates to the receiving end node that this is a "retroactive DSS".
  • steps 330 and 340 include transmitting further packets on the first path until the end node receives an acknowledgement or failure message from the other end node for the transmitted retroactive DSS. Since such further packets are not protected by the aggregate checksum, they each have to individually carry a transport header with their individual checksum. This allows the receiver to confirm that these latter packets have arrived unaltered. Further packets may be delivered including conventional multipath individual checksums. Moreover, since the checksums of the transmitted packets have not been verified (i.e., verifying that the packets have been delivered unaltered), the end node may restrict transmission to the first path.
  • step 350 includes determining if the received message from the other end node (step 340) is an acknowledgement or failure message.
  • the acknowledgement message indicates that the sending and receiving end node aggregated checksums match and that the method proceeds to step 360.
  • a failure message indicates that the sending and receiving end node aggregated checksums do not match and that the method proceeds to step 355.
  • the failure message may be a non-acknowledgement of the retroactive DSS or a timeout for receiving a reply.
  • the failure message may be an MP_FAIL message.
  • step 355 includes restricting the end node to selected path mode over the first path due to the mismatched checksums, which indicate that the transmitted packets may have been altered.
  • a migration event parameter may be set to "NO" indicating that step 310 should throttle any subsequent attempt by the end node to migrate the communication session to selected path mode using a second path or to multipath modes.
  • step 360 includes determining the operative mode for the communication session upon acknowledgement of the retroactive DSS.
  • the end node may: migrate the communication session to selected path mode using the second path (step 380); migrate the communication session to multipath mode (step 370) or any other suitable transmission mode (e.g., continue transmitting further packets over the first path, or return to selected path mode over the first path).
  • Step 370 includes migrating the communication session to multipath mode.
  • the end node may determine it would be beneficial to remain in multipath mode for all or a portion of the communication session. The end node may then determine to migrate the communication session to selected path mode over a second path. If the end node makes a determination to migrate to selected path mode over a second path, the method proceeds to step 380.
  • step 380 includes setting the end node to operate in selected path mode over the second path.
  • Selected path mode is set using the DSS option with "infinity settings" as previously described herein.
  • the first path may be migrated to a second path.
  • the end node may determine to continue on the same path and reinstate selected path mode over the original first path.
  • the first path and second path may be the same path.
  • step 390 includes returning the method to step 220 of FIG. 1 . It may be appreciated that the operative first path of the method in the current transmission sequence will be set to the migrated second path of the prior transmission sequence.
  • a receiver end node may estimate how many packets of the sequence are lost due to packet loss based on the DSN and SSN values in the retroactive DSS. The receiving end node may then use conventional subflow- or connection-level procedures to request retransmission of these packets. After reception of the missing packets, the receiver end node may then compare the aggregate checksum held in the retroactive DSS with the value of its own aggregated checksum and subsequently send an acknowledgement of the retroactive DSS.
  • steps of various above-described methods can be performed by programmed computers.
  • program storage devices e.g., digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, wherein said instructions perform some or all of the steps of said above-described methods.
  • the program storage devices may be, e.g., digital memories, magnetic storage media such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
  • the embodiments are also intended to cover computers programmed to perform said steps of the above-described methods.
  • FIG. 4 schematically illustrates functional blocks of one embodiment (i.e., end node 110) of end nodes 110-1 and 110-2 of FIG. 1 .
  • End node 110 may participate in a multipath communication session, e.g., using the methods 200 and optionally 300.
  • the end node 400 includes a processor 410, a digital data storage 411 and a data interface 430.
  • the processor 410 controls the operation of end node 110.
  • the processor 410 cooperates with the digital data storage 411 and data interface 430.
  • the digital data storage 411 stores aggregated checksum.
  • the digital data storage 411 also stores programs 420 executable by the processor 410.
  • the processor-executable programs 420 may include a communication session program 422 and a data interface program 425.
  • Processor 410 cooperates with processor-executable programs 420 to perform the steps of methods 200 and 300.
  • processor 410 may perform communication session steps of methods 200 and 300 by executing the communication session program 422.
  • communication session program 422 may be programmed to control all or portions of each of the steps of methods 200 and 300.
  • processor 410 cooperates with digital processor-executable programs 420 to control the end node 110.
  • processor 410 may execute the data interface program 425 to control data interface 430.
  • the data interface 430 is configured to retrieve or transmit data between end node 110 and the other end node via communication channel 435.
  • Communication channel 435 may be any conventional communication path / communication protocol supporting data connectivity. Although depicted and described as a single communication channel 435, data interface 430 may be configured for supporting any suitable number of communication channels supporting any suitable number(s) of sessions (e.g., any suitable number of IP flows), as described herein. Communications channels may be directed between data interface 430 and/or any other suitable external source of communications, such as the other end node, via communication channel 435.
  • the data interface 430 may support the retrieval and transmission of data in various steps of the methods 200 and 300.
  • processor 410 may execute data interface program 425 to perform all or portions of steps 210, 220, 250 and 270 of method 200 and all or portions of steps 310, 320, 330, 340, 350, and 380 of method 300.
  • the data interface 430 may support retrieving or transmitting data over one or more of the following communication channels 435: wireless communications (e.g., LTE, GSM, CDMA, bluetooth); femtocell communications (e.g., WiFi); packet network communications (e.g., IP); broadband communications (e.g., DOCSIS and DSL); and the like.
  • wireless communications e.g., LTE, GSM, CDMA, bluetooth
  • femtocell communications e.g., WiFi
  • packet network communications e.g., IP
  • broadband communications e.g., DOCSIS and DSL
  • end node 110 is a machine-executable program of instructions executing on a mobile computing device.
  • a mobile computing device may be any suitable mobile device such as: a mobile phone, a tablet, a computer, a personal digital assistant (PDA), an e-reader and the like.
  • PDA personal digital assistant
  • end node 110 is a machine-executable program of instructions executing on a networked host.
  • a networked host may be any suitable host such as: a single server and multiple servers in a cloud computing network.
  • processors may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software.
  • the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared.
  • explicit use of the term "processorā€ or ā€œcontrollerā€ should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • ROM read only memory
  • RAM random access memory
  • any switches shown in the FIGS. are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
  • any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention.
  • any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

Description

    TECHNICAL FIELD
  • The invention relates generally to a method, an apparatus and a computer-readable storage medium for providing reliable session migration.
  • BACKGROUND
  • This section introduces aspects that may be helpful in facilitating a better understanding of the inventions. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
  • There are numerous techniques supporting end-point migration of stream-oriented IP-based transport sessions across access networks. Some of these techniques perform session-endpoint migration above the transport layer by introducing an additional superseding sequence number and checksum scheme. Such superseding sequence numbers and checksums may be included in additional transport layer option headers that are applied across all data independent of the path they traverse. The superseding sequence number scheme allows ordering of packets that arrive from different paths. The checksum identifies if the packets have been delivered properly. As may be appreciated, including an additional transport layer option header in every packet adds substantial processing overhead and bandwidth inefficiency on the end nodes.
  • To reduce overhead, some other techniques hold back transmission until a checksum and range for an entire block of packets can be determined. As may be appreciated, this solution adds delay since all packets have to be held back on the transmit side to compute range and checksum before these values can be inserted on the first packet of the block.
  • SUMMARY
  • Various embodiments provide a reliable session migration method and apparatus without requiring additional option headers to each packet or inducing transmission delay. This is achieved by utilizing aggregated checksums that facilitate session migration upon a migration event. Advantageously, some such embodiments may permit applications to continue when the endpoint device physically moves from one access network to another. Similarly, some such embodiments may allow dynamic migration access networks based on load, pricing or other factors. Moreover, some such embodiments may permit traffic to be split along multiple paths so as to increase the aggregate throughput.
  • In one embodiment, a method and apparatus is provided for migrating from a first path to a second path in a stream-oriented communication session. The method includes setting the communication session to operate in a selected path mode over the first path and aggregating a first checksum of a stream of transmitted or received packets during the transmission or reception. The method further includes migrating the communication session to the second path based on a checksum match based on the first checksum.
  • In some embodiments, substantial portions of the plurality of packets do not contain the first checksum.
  • In some embodiments, the first and second paths are over disparate networks.
  • In some embodiments, the checksum match includes transmitting a selected path mode termination packet to another end node and receiving a checksum acknowledgement from the other end node. The selected path mode termination packet includes the first checksum.
  • In some embodiments, the selected path mode termination packet is a retroactive DSS packet. The retroactive DSS packet includes the first checksum, a current DSN and a current SSN.
  • In some embodiments, performing the checksum match further includes receiving a retransmission request from the other end node and retransmitting a portion of the plurality of transmitted packets to the other end node.
  • In some embodiments, setting the communication session to operate in selected path mode includes transmitting a selected path mode termination packet on the first path. The selected path mode termination packet includes a start checksum aggregation indicator, a current DSN and a current SSN.
  • In some embodiments, the apparatus is a mobile computing device.
  • In some embodiments, the apparatus is a networked host.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Various embodiments are illustrated in the accompanying drawings, in which:
    • FIG. 1 illustrates an exemplary reliable transport session system;
    • FIG. 2 depicts a flow chart illustrating an embodiment of a method for providing reliable transport session migration;
    • FIG. 3 depicts a flow chart illustrating a further embodiment of a method for providing reliable transport session migration according to FIG. 2; and
    • FIG. 4 depicts a block diagram schematically illustrating one embodiment of the end nodes 100-1 and/or 110-2 of FIG. 1.
  • To facilitate understanding, identical reference numerals have been used to designate elements having substantially the same or similar structure and/or substantially the same or similar function.
  • DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
  • FIG. 1 illustrates an exemplary reliable transport session system 100. Reliable transport session system 100 includes two end nodes 110-1 and 110-2 using a multipath communication protocol to communicate data between the two nodes. The multipath communication protocol supports end-point migration of stream-oriented sessions across multiple paths 120-1 and 120-2.
  • The two end nodes 110-1 and 110-2 are configured to communicate packet data from one end node to the other via a stream-oriented transport mechanism. Stream-oriented transport mechanisms may include any suitable protocol such as TCP or SCTP to establish a stream-oriented session. Stream-oriented sessions may establish bi-directional communication between end nodes 110-1 and 110-2 and thus, at any point in time, either end node 110-1 or 110-2 may be the transmitter or receiver of the packet data.
  • Various access networks may be available to end node 110-1 to participate in a communication session with end node 110-2 to communicate session packet data. An example of two such paths is provided by paths 120-1 and 120-2. The communication session includes at least one stream-oriented transport session (i.e., flow) over each of paths 120-1 and 120-2. A multipath communication protocol overlays the stream-oriented transport sessions to control the reliable in-order delivery and assembly of packet data over the different flows. Paths 120-1 and 120-2 include access networks 150 and 160 that may directly route session packets to end node 110-1 or subsequently route packets through the internet cloud 170 to end node 110-2.
  • Session packets routed through access networks 150 and 160 and internet cloud 170 may be altered by middle boxes such as performance enhancing proxies and/or application layer gateways present in the networks. Such alteration of session packets change or affect the numbering schemes utilized by the multipath communication protocol to reliably reassemble the transmitted packet data arriving from the multiple flows. They may further change the content of the payload affecting the semantics of the information transferred. Therefore, the session end-point migration protocol must recognize if such data alteration has taken place when aligning the packets from various paths. In such event, the migration protocol may eventually discontinue the corresponding transport path or the connection altogether.
  • Advantageously, some embodiments may provide reliable session migration without requiring additional option headers or inducing transmission delay while still detecting when packets have been altered by middle boxes. Some of these embodiments may permit applications to continue when the endpoint device physically moves from one access network. Similarly, some of these embodiments may allow dynamic session migration across access networks based on load, pricing or other factors. Moreover, some of these embodiments may permit traffic to be split along multiple paths so as to increase the aggregate throughput.
  • In some embodiments, end node 110-1 and/or 110-2 is a mobile computing device. A mobile computing device may be any suitable mobile device such as: a mobile phone, a tablet, a computer, a personal digital assistant (PDA), a mobile gaming system, an e-reader and the like.
  • In some embodiments, end node 110-1 and/or 110-2 is a networked host. A networked host may be any suitable host such as: a single server and multiple servers in a cloud.
  • In some embodiments, paths 120-1 and 120-2 may include disparate access networks. Disparate access networks may include access networks such as: W-CDMA, LTE, UMTS, broadband networks and the like. For example, end node 110-1 may establish a CDMA wireless connection through a wireless access network 150 such as the wireless access network serviced by Verizon. In a further embodiment of this embodiment, on path 120-2, end node 110-1 may establish a WiFi connection through a broadband access network 160 such as the IP access network serviced by Comcast.
  • In some embodiments, the multipath communication protocol may be a conventional multipath protocol such as: multipath TCP (MPTCP) as set out in IETF Internet-Draft draft-hampel-mptcp-applicability-wireless-networks-00.txt, XP15076456, or multipath SCTP.
  • FIG. 2 shows a method 200 for providing reliable transport session migration as illustrated by the reliable transport session system 100 of FIG. 1. The method 200 includes setting an end node to operate in selected path mode over a first path (step 210). In selected path mode operation, the end node transmits or receives packets over the first path (step 220) and aggregates a first checksum of the transmitted / received packets (step 230) until the end node determines that the end node should be migrated to a second path (step 250) and verifies the checksum match (step 260). The end node then migrates the communication session from the first to the second path (step 270).
  • In the method 200, step 210 includes setting an end node to operate in selected path mode over a first path. Referring back to FIG. 1, end node 110-1 or 110-2 may announce the setting of the communication path to operate in a selected path mode over a first path by transmitting a first selected path mode initiation packet that includes a selected path mode initiation value. Upon agreement to switch to operate in a selected path mode, both the transmitting and receiving end nodes set their operational modes to selected path mode over the first path.
  • In selected path mode, all, or at least a portion, of the available paths may be alive; however, only one selected path is used for transmission and reception of the packet stream. The advantage to selecting only one path may be multifold such as: 1) to simplify reassembly, 2) other weaker paths may create "head-of-line blocking" due to dropped packet(s) since all other packets have to wait until lost one is retransmitted, 3) the other paths may be too expensive (e.g. due to interface charges), 4) multiple radios may have to be supported increasing costs such as increased battery power. It may be appreciated that other available paths may be used to transmit and/or receive packets from packet streams in other communication sessions.
  • It may be appreciated that either a transmitting or receiving end node may announce the setting of the communication path for operation in a selected path mode over a first path. It may be further appreciated that the protocol may allow for the end nodes to agree to set their operational modes to selected path mode based on the first selected path mode initiation packet without requiring further signaling. Advantageously, the protocol is configured so that further conventional multipath checksums and sequence numbers are not required to be added to a substantial fraction of the option headers in the communication session when in selected path mode. By "substantial fraction" is meant that only signaling packets require the aggregated checksum and multipath sequence numbers. For example, the selected path mode initiation packet and selected path mode termination packet (described herein) may contain additional checksum and multipath sequence number information in the option headers.
  • In the method 200, steps 220 and 230 include transmitting or receiving packets over the first path and aggregating a first checksum. The method 200 continues transmitting / receiving packets and aggregating checksums of the transmitted / received packets (steps 220 and 230) until the method determines that it should migrate to a second path (step 250). Advantageously, this technique of aggregating the checksum as the packets are transmitted / received obviates the need for any a priori knowledge about the sequence length of the data to be transmitted and it requires only one value (i.e., the aggregated checksum) to be cached by each end node for each flow direction.
  • Beginning with setting an end node to operate in selected path mode in step 210, sender and receiver end nodes each compute an aggregate checksum over all packets of the communication session until the selected path mode is terminated. For an end node on the transmit side, a checksum of the transmitted packet is determined and aggregated into the aggregated checksum value being stored by the transmit end node for the communication flow. For an end node on the receive side, a checksum of the received packet is determined and aggregated into the aggregated checksum value stored by the receive end node for the communication flow. Checksums may be aggregated in any suitable way such as: adding the current packet checksum to the aggregated checksum. In one embodiment, the aggregate checksum is built as a checksum over the per-packet checksums in the same way as the transport layer checksum is built as a checksum over the packet data.
  • It may be appreciated that the steps 220 and 230 may be performed in any order or performed in parallel.
  • In the method 200, steps 250 and 260 include determining whether to migrate the communication session from the first path to a second path. A migration determination is based on a migration event (step 250) and on a checksum match (step 260).
  • In the method 200, step 250 includes determining whether a migration event has been detected indicating a preference to switch from operating in selected path mode. A migration event may be a determination by the end node of a preference to switch out of the selected path mode of operation. The preference to switch from selected path mode may be based on environmental parameters; a received user message from a user interface; or a received message from the other end node. Environmental parameters may be signal strengths; cost parameters; latency values; bandwidth values; and/or the like of the available paths or information obtained from the congestion control of the currently active flow.
  • In the method 200, step 260 includes using a checksum match to determine that the communication session packets have not been altered. A checksum match is an indication that the first checksum aggregated by the end node matches a second checksum aggregated by the other end node (e.g., the numbers and values of the bytes contained in the packet have not been altered by middle boxes). The end node may determine the checksum match by transmitting its first checksum to the other end node and receiving an indication from the other end node that the checksums match. Alternatively, the end node may determine the checksum match by receiving the second checksum from the other end node and receiving an indication from an internal comparison that the checksums match. The checksum match step 260 verifies that the communication session packets have not been altered and that the communication session may therefore switch to another selected path or to multipath mode.
  • In the method 200, step 270 includes migrating the communication session from the first path to a second path. Once checksum match step 260 verifies the transmitted / received packets, the end node may set the communication session to selected path mode over the second path. As described herein for step 210, an end node may announce the setting of the communication path to operate in a selected path mode over the second path by transmitting a first selected path mode initiation packet that includes a selected path mode initiation value.
  • In some embodiments, the end node may switch to operate in multipath mode before migrating to the selected path mode over the second path. However, it may be appreciated that until multipath mode has been verified in response to a successful outcome of the checksum match step 260, the end node transmitter may only allowed transmission of the subject block of packet data on the first path. Moreover, it may be further appreciated that the end nodes may communicate in multipath mode for a period of time before the switch to operate in selected path mode over the second path has been effectuated. In fact, the end node may decide to continue transmitting in multipath mode instead of switching to selected path mode over the second path.
  • It may be appreciated that the acts of determining to migrate (step 250), verifying a checksum match (step 260) and migrating to a second path (step 270) may be performed discretely or, advantageously, portions of each of the acts may be combined in a single process. For example, the migration event from step 250 may also be the checksum match indication of step 260. For example, if an end node receives the second checksum from the other end node, the receipt of the packet containing the second checksum may constitute the migration event, and the determination that the second checksum matches the first checksum may constitute the checksum indication.
  • After step 270, method 200 returns to step 220 to continue transmitting packets on the second path. Because method 200 is iterative, it may be appreciated that for a given transmission that has been migrated successfully, the "first path" referred to in the figure at step 220 may be identical with the "second path" to which a prior transmission was migrated.
  • In some embodiments of the method 200, step 210 includes using the conventional MPTCP multipath protocol. In this embodiment, the selected path mode initiation value of the first selected path mode initiation packet may be the DSS option with "infinity settings". In "infinity settings", the DSS option sets: the range = 0; the checksum = 0; and the current values of data sequence number (DSN) and subflow sequence number (SSN).
  • In some embodiments of the method 200, step 230 includes using a per-packet checksum that is already supplied by the underlying transport protocol such as TCP, SCTP, UDP and the like. In a further embodiment, step 230 uses the underlying transport checksum in the TCP header. Advantageously, the computation of the aggregate checksum is less expensive by using a per-packet checksum already present since the packet checksum need not be separately determined.
  • In some embodiments of step 250, 260 and/or 270, the end node may transmit a selected path mode termination packet including the first checksum to the other end node. It may be appreciated that either end node in the communication session may transmit the selected path mode termination packet.
  • In a further embodiment, the selected path mode termination packet may further include parameters related to the data range of the sequence or superseding numbering schemes. Advantageously, such parameters may provide, to an end node receiving data packets, information on how many packets are still outstanding, (e.g., due to packet loss), when the checksum-carrying packet arrives. In a further embodiment of this embodiment, the receiving end node may initiate a retransmission scheme on the first path or on another path.
  • In some embodiments of step 250, 260 and/or 270, the selected path mode termination packet may be sent on the second path. Advantageously, if the first path has become unavailable, the end nodes may be able to continue the communication session on the second path. It may be appreciated that as described herein, although only one path is utilized in selected path mode, the other paths are alive (though idle) and may be utilized. Advantageously, if the first path has become unavailable, the communication may still be verified and migrated to multipath mode or a second path.
  • FIG. 3 shows a method 300 for migrating the communication session from a first path to a second path in a further embodiment of steps 250, 260 and 270 of FIG. 2 using the conventional MPTCP multipath protocol. The method 300 includes the end node transmitting a packet with a retroactive DSS (step 320) upon receiving a migration event (step 310). If a migration event is not received or if migration events are set to no (i.e., not allowed), the method returns a "NO" and returns to step 220 of FIG. 1 (step 315). While waiting to receive an acknowledgement or failure message (step 340), the end node may transmit further packets on the first path (step 330). If a failure message is received, migration events are set to "NO" (i.e., no more session migrations are allowed) and returns to step 220 of FIG. 1 (step 355). If the end node receives an acknowledgement of the retroactive DSS (step 350), multipath mode is confirmed (step 360). The end node may then optionally remain in multipath mode with all paths available for transmission (step 370). While in multipath mode, the end node may transmit packets in multipath mode until the end node makes a determination to migrate to operate in selected path mode over the second path, or the end node may continue the communication session in multipath mode. Once the end node determines to migrate to selected path mode over the second path, the end node transmits a selected path mode initiation packet (step 380), sets the operation of the selected path mode to the second path and returns to step 220 of FIG. 1 (step 390).
  • In the method 300, step 310 includes receiving a migration event as already described herein. Additionally, migration events may be throttled. For example, migration events may be throttled if the end node has determined that a portion of the transmitted packets in the communication session have been altered (e.g., as determined by a previous checksum verification).
  • In the method 300, step 315 includes returning to step 220 of FIG. 1 if no migration events have been received.
  • In the method 300, step 320 includes transmitting a packet with a retroactive DSS. Since MPTCP does not have a mechanism that permits the end nodes to return to multipath mode from selected path mode (i.e., "Fallback Mode" in MPTCP), a new DSS option called "retroactive DSS" may be created. The retroactive DSS is a selected path mode termination packet requesting a switch from selected path mode back to multipath mode. This new DSS option is called "retroactive DSS" since it retroactively provides the checksum to multiple packets that have already been transmitted. The retroactive DSS holds the present DSN and SSN pertaining to the subflow. The checksum field contains the aggregated checksum while the range field is set to zero. The combination of non-zero checksum and zero-valued range indicates to the receiving end node that this is a "retroactive DSS".
  • In the method 300, steps 330 and 340 include transmitting further packets on the first path until the end node receives an acknowledgement or failure message from the other end node for the transmitted retroactive DSS. Since such further packets are not protected by the aggregate checksum, they each have to individually carry a transport header with their individual checksum. This allows the receiver to confirm that these latter packets have arrived unaltered. Further packets may be delivered including conventional multipath individual checksums. Moreover, since the checksums of the transmitted packets have not been verified (i.e., verifying that the packets have been delivered unaltered), the end node may restrict transmission to the first path.
  • In the method 300, step 350 includes determining if the received message from the other end node (step 340) is an acknowledgement or failure message. The acknowledgement message indicates that the sending and receiving end node aggregated checksums match and that the method proceeds to step 360. A failure message indicates that the sending and receiving end node aggregated checksums do not match and that the method proceeds to step 355. The failure message may be a non-acknowledgement of the retroactive DSS or a timeout for receiving a reply. For example, the failure message may be an MP_FAIL message.
  • In the method 300, step 355 includes restricting the end node to selected path mode over the first path due to the mismatched checksums, which indicate that the transmitted packets may have been altered. In some embodiments, a migration event parameter may be set to "NO" indicating that step 310 should throttle any subsequent attempt by the end node to migrate the communication session to selected path mode using a second path or to multipath modes.
  • In the method 300, step 360 includes determining the operative mode for the communication session upon acknowledgement of the retroactive DSS. The end node may: migrate the communication session to selected path mode using the second path (step 380); migrate the communication session to multipath mode (step 370) or any other suitable transmission mode (e.g., continue transmitting further packets over the first path, or return to selected path mode over the first path).
  • The method 300 optionally includes step 370. Step 370 includes migrating the communication session to multipath mode. In some embodiments, the end node may determine it would be beneficial to remain in multipath mode for all or a portion of the communication session. The end node may then determine to migrate the communication session to selected path mode over a second path. If the end node makes a determination to migrate to selected path mode over a second path, the method proceeds to step 380.
  • In the method 300, step 380 includes setting the end node to operate in selected path mode over the second path. Selected path mode is set using the DSS option with "infinity settings" as previously described herein. In some embodiments, the first path may be migrated to a second path. In other embodiments, the end node may determine to continue on the same path and reinstate selected path mode over the original first path. In this second embodiment, the first path and second path may be the same path.
  • In the method 300, step 390 includes returning the method to step 220 of FIG. 1. It may be appreciated that the operative first path of the method in the current transmission sequence will be set to the migrated second path of the prior transmission sequence.
  • In some embodiments of step 330, a receiver end node may estimate how many packets of the sequence are lost due to packet loss based on the DSN and SSN values in the retroactive DSS. The receiving end node may then use conventional subflow- or connection-level procedures to request retransmission of these packets. After reception of the missing packets, the receiver end node may then compare the aggregate checksum held in the retroactive DSS with the value of its own aggregated checksum and subsequently send an acknowledgement of the retroactive DSS.
  • Although primarily depicted and described in a particular sequence, it may be appreciated that the steps shown in methods 200 and 300 may be performed in any suitable sequence. Moreover, the steps identified by one box may also be performed in more than one place in the sequence.
  • It may be appreciated that steps of various above-described methods can be performed by programmed computers. Herein, some embodiments are also intended to cover program storage devices, e.g., digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, wherein said instructions perform some or all of the steps of said above-described methods. The program storage devices may be, e.g., digital memories, magnetic storage media such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. The embodiments are also intended to cover computers programmed to perform said steps of the above-described methods.
  • FIG. 4 schematically illustrates functional blocks of one embodiment (i.e., end node 110) of end nodes 110-1 and 110-2 of FIG. 1. End node 110 may participate in a multipath communication session, e.g., using the methods 200 and optionally 300. The end node 400 includes a processor 410, a digital data storage 411 and a data interface 430.
  • The processor 410 controls the operation of end node 110. The processor 410 cooperates with the digital data storage 411 and data interface 430.
  • The digital data storage 411 stores aggregated checksum. The digital data storage 411 also stores programs 420 executable by the processor 410.
  • The processor-executable programs 420 may include a communication session program 422 and a data interface program 425. Processor 410 cooperates with processor-executable programs 420 to perform the steps of methods 200 and 300. For example, processor 410 may perform communication session steps of methods 200 and 300 by executing the communication session program 422. As such, communication session program 422 may be programmed to control all or portions of each of the steps of methods 200 and 300. Additionally, processor 410 cooperates with digital processor-executable programs 420 to control the end node 110. For example, processor 410 may execute the data interface program 425 to control data interface 430.
  • The data interface 430 is configured to retrieve or transmit data between end node 110 and the other end node via communication channel 435. Communication channel 435 may be any conventional communication path / communication protocol supporting data connectivity. Although depicted and described as a single communication channel 435, data interface 430 may be configured for supporting any suitable number of communication channels supporting any suitable number(s) of sessions (e.g., any suitable number of IP flows), as described herein. Communications channels may be directed between data interface 430 and/or any other suitable external source of communications, such as the other end node, via communication channel 435.
  • The data interface 430 may support the retrieval and transmission of data in various steps of the methods 200 and 300. For example: processor 410 may execute data interface program 425 to perform all or portions of steps 210, 220, 250 and 270 of method 200 and all or portions of steps 310, 320, 330, 340, 350, and 380 of method 300.
  • In some embodiments, the data interface 430 may support retrieving or transmitting data over one or more of the following communication channels 435: wireless communications (e.g., LTE, GSM, CDMA, bluetooth); femtocell communications (e.g., WiFi); packet network communications (e.g., IP); broadband communications (e.g., DOCSIS and DSL); and the like.
  • In some embodiments, end node 110 is a machine-executable program of instructions executing on a mobile computing device. A mobile computing device may be any suitable mobile device such as: a mobile phone, a tablet, a computer, a personal digital assistant (PDA), an e-reader and the like.
  • In some embodiments, end node 110 is a machine-executable program of instructions executing on a networked host. A networked host may be any suitable host such as: a single server and multiple servers in a cloud computing network.
  • Although depicted and described herein with respect to embodiments in which, for example, programs and logic are stored within the digital data storage and the memory is communicatively connected to the processor, it may be appreciated that such information may be stored in any other suitable manner (e.g., using any suitable number of memories, storages or databases); using any suitable arrangement of memories, storages or databases communicatively coupled to any suitable arrangement of devices; storing information in any suitable combination of memory(s), storage(s) and/or internal or external database(s); or using any suitable number of accessible external memories, storages or databases. As such, the term digital data storage referred to herein is meant to encompass all suitable combinations of memory(s), storage(s), and database(s).
  • The description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within the invention's scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
  • The functions of the various elements shown in the FIGs., including any functional blocks labeled as "processors", may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the FIGS. are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
  • It may be appreciated that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it may be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

Claims (15)

  1. A method performed by a processor (410) communicatively coupled to a digital data storage (411), wherein the processor (410) and the digital data storage (411) form part of an end node (110-1) for migrating a communication session between the end node (110-1) and another end node (110-2) including one stream-oriented transport session over a first path (120-1) between the end node (110-1) and the other end node (110-2) and one stream-oriented transport session over a second path (120-2) between the end node (110-1) and the other end node (110-2) from the first path (120-1) to the second path (120-2), the method comprising:
    at the processor (410) communicatively coupled to the digital data storage (411), setting the communication session to operate in selected path mode over the first path (120-1), wherein operating in selected path mode over the first path (120-1) comprises:
    announcing the setting of the communication session to operate in selected path mode over the first path (120-1) to the other end node (110-2);
    transmitting from the end node (110-1) to the other end node (110-2) or receiving by the end node (110-1) from the other end node (110-2) a plurality of packets over the first path (120-1);
    the method being characterised by
    aggregating, by the processor (410) in cooperation with the digital data storage (411), a first checksum based on the plurality of packets;
    wherein aggregating occurs at least in part while transmitting or receiving;
    performing, by the processor (410) in cooperation with the digital data storage (411), a checksum match, the checksum match based on the first checksum,
    wherein the end node (110-1) determines the checksum match by transmitting the first checksum to the other end node (110-2) and receiving an indication from the other end node (110-2) that the first checksum aggregated by the end node (110-1) matches a second checksum aggregated by the other end node (110-2) or wherein the end node (110-1) determines the checksum match by receiving the second checksum from the other end node (110-2) and receiving an indication from an internal comparison that the checksums match; and
    migrating, by the processor (410) in cooperation with the digital data storage (411), the communication session from the first (120-1) to the second path (120-2) based on the checksum match.
  2. The method of claim 1, wherein a substantial portion of the plurality of packets do not contain the first checksum.
  3. The method of claim 1, wherein the first (120-1) and the second (120-2) path are over disparate access networks (150, 160).
  4. The method of claim 1, wherein the act of performing the checksum match comprises:
    transmitting, by the processor (410) in cooperation with the digital data storage (411), a selected path mode termination packet to the other end node (110-2), the selected path mode termination packet comprising the first checksum; and
    receiving, by the processor (410) in cooperation with the digital data storage (411), a checksum acknowledgement from the other end node (110-2).
  5. The method of claim 4, wherein the selected path mode termination packet is a retroactive DSS packet, the retroactive DSS packet comprising: the first checksum, a current DSN and a current SSN.
  6. The method of claim 5, wherein the act of performing the checksum match further comprises:
    receiving, by the processor (410) in cooperation with the digital data storage (411), a retransmission request from the other end node (110-2); and
    retransmitting, by the processor (410) in cooperation with the digital data storage (411), a portion of the plurality of transmitted packets to the other end node (110-2).
  7. The method of claim 1, wherein the act of setting the communication session to operate in selected path mode comprises:
    transmitting, by the processor (410) in cooperation with the digital data storage (411), a selected path mode termination packet on the first path (120-1), the selected path mode termination packet comprising a start checksum aggregation indicator, a current DSN and a current SSN.
  8. An apparatus for migrating a communication session between an end node (110-1) and another end node (110-2) including one stream-oriented transport session between the end node (110-1) and the other end node (110-2) over a first path (120-1) and one stream-oriented transport session over a second path (120-2) between the end node (110-1) and the other end node (110-2) from the first path (120-1) to the second path (120-2) comprising:
    a digital data storage (411); and
    a processor (410) communicatively coupled to the digital data storage (411), wherein the processor (410) and the digital data storage (411) form part of the end node (110-1), the processor (410) and the digital data storage (411) configured to:
    set the communication session to operate in selected path mode over the first path (120-1), wherein the processor (410) and the digital data storage (411) are configured to:
    announce the setting of the communication session to operate in selected path mode over the first path (120-1) to the other end node (110-2);
    transmit from the end node (110-1) to the other end node (110-2) a plurality of packets over the first path (120-1);
    aggregate a first checksum based on the plurality of packets;
    wherein the first checksum is aggregated at least in part during the transmission of the plurality of packets;
    perform a checksum match, the checksum match based on the first checksum, wherein the end node (110-1) determines the checksum match by transmitting the first checksum to the other end node (110-2) and receiving an indication from the other end node (110-2) that the first checksum aggregated by the end node (110-1) matches a second checksum aggregated by the other end node (110-2) or wherein the end node (110-1) determines the checksum match by receiving the second checksum from the other end node (110-2) and receiving an indication from an internal comparison that the checksums match; and
    migrate the communication session from the first (120-1) to the second path (120-2) based on the checksum match.
  9. The apparatus of claim 8, wherein the apparatus is a mobile computing device.
  10. The apparatus of claim 8, wherein the apparatus is a networked host.
  11. The apparatus of claim 8, wherein a substantial portion of the plurality of packets do not contain the first checksum.
  12. The apparatus of claim 8, wherein the first (120-1) and the second path (120-2) are over disparate access networks (150, 160).
  13. The apparatus of claim 8, wherein, for performing the checksum match, the processor (410) and the digital data storage (411) are further configured to:
    transmit a selected path mode termination packet to the other end node (110-2), the selected path mode termination packet comprising the first checksum; and
    receive a checksum acknowledgement from the other end node (110-2).
  14. The apparatus of claim 13, wherein the selected path mode termination packet is a retroactive DSS packet, the retroactive DSS packet comprising: the first checksum, a current DSN and a current SSN.
  15. A non-transitory computer-readable storage medium storing instructions which, when executed by a computer cause the computer to perform a method according to claims 1-7.
EP12730127.3A 2011-07-25 2012-06-20 Method and apparatus for reliable session migration Active EP2737681B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/189,914 US9699274B2 (en) 2011-07-25 2011-07-25 Method and apparatus for reliable session migration
PCT/US2012/043260 WO2013015915A1 (en) 2011-07-25 2012-06-20 Method and apparatus for reliable session migration

Publications (2)

Publication Number Publication Date
EP2737681A1 EP2737681A1 (en) 2014-06-04
EP2737681B1 true EP2737681B1 (en) 2018-11-07

Family

ID=46384514

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12730127.3A Active EP2737681B1 (en) 2011-07-25 2012-06-20 Method and apparatus for reliable session migration

Country Status (6)

Country Link
US (1) US9699274B2 (en)
EP (1) EP2737681B1 (en)
JP (1) JP5788597B2 (en)
KR (1) KR101523178B1 (en)
CN (1) CN103828323B (en)
WO (1) WO2013015915A1 (en)

Families Citing this family (29)

* Cited by examiner, ā€  Cited by third party
Publication number Priority date Publication date Assignee Title
US9455897B2 (en) 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
US9451415B2 (en) 2011-06-17 2016-09-20 Qualcomm Incorporated Cooperative data transport
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
US10430122B2 (en) 2013-02-05 2019-10-01 Pure Storage, Inc. Using partial rebuilding to change information dispersal algorithm (IDA)
US10621021B2 (en) 2013-02-05 2020-04-14 Pure Storage, Inc. Using dispersed data structures to point to slice or date source replicas
US10268554B2 (en) 2013-02-05 2019-04-23 International Business Machines Corporation Using dispersed computation to change dispersal characteristics
US10664360B2 (en) 2013-02-05 2020-05-26 Pure Storage, Inc. Identifying additional resources to accelerate rebuildling
US9456464B2 (en) * 2013-06-06 2016-09-27 Apple Inc. Multipath TCP subflow establishment and control
US9762702B2 (en) * 2014-01-14 2017-09-12 Apple Inc. Multipath TCP signaling with application specific tags
US9635114B2 (en) * 2014-01-24 2017-04-25 Netapp, Inc. Externally initiated application session endpoint migration
US20150281367A1 (en) * 2014-03-26 2015-10-01 Akamai Technologies, Inc. Multipath tcp techniques for distributed computing systems
KR102259652B1 (en) * 2014-03-31 2021-06-02 ģ‚¼ģ„±ģ „ģžģ£¼ģ‹ķšŒģ‚¬ Apparatus and method for providing service in communication network supporting multipath transport control protocol
JP2015228589A (en) * 2014-05-30 2015-12-17 ę²–é›»ę°—å·„ę„­ę Ŗ式会ē¤¾ Communications network
KR102198229B1 (en) * 2014-09-19 2021-01-04 ģ½˜ė¹„ė‹¤ ģ™€ģ“ģ–“ė¦¬ģŠ¤, ģ—˜ģ—˜ģ”Ø Service layer session migration and sharing
CN106797281B (en) * 2014-12-24 2020-03-20 ꟏ꀝē§‘ęŠ€ęœ‰é™å…¬åø Method and system for transmitting data over an aggregated connection
US10560535B2 (en) 2015-05-21 2020-02-11 Dell Products, Lp System and method for live migration of remote desktop session host sessions without data loss
DE102015114164A1 (en) * 2015-08-26 2017-03-02 Technische UniversitƤt Darmstadt Method for maintaining the performance of a multipath TCP connection
US9336042B1 (en) 2015-11-19 2016-05-10 International Business Machines Corporation Performing virtual machine live migration within a threshold time by adding available network path in multipath network
US10020918B2 (en) 2015-12-28 2018-07-10 Alcatel Lucent Fast coupled retransmission for multipath communications
WO2018008992A1 (en) * 2016-07-06 2018-01-11 ģ£¼ģ‹ķšŒģ‚¬ ģ¼€ģ“ķ‹° Multinet aggregation traffic controller and traffic control method therefor
KR102423059B1 (en) * 2016-10-25 2022-07-21 ģ‚¼ģ„±ģ „ģžģ£¼ģ‹ķšŒģ‚¬ Electronic device and method for setting communication standard
WO2018165190A1 (en) 2017-03-07 2018-09-13 Akamai Technologies, Inc. Cooperative multipath
EP3605990A4 (en) 2017-04-21 2020-02-05 Huawei Technologies Co., Ltd. Application data migration method and network device
US20210014176A1 (en) * 2017-08-11 2021-01-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for transmitting data
RU2696240C1 (en) * 2018-03-30 2019-07-31 ŠŠŗцŠøŠ¾Š½ŠµŃ€Š½Š¾Šµ Š¾Š±Ń‰ŠµŃŃ‚Š²Š¾ "Š›Š°Š±Š¾Ń€Š°Ń‚Š¾Ń€Šøя ŠšŠ°ŃŠæŠµŃ€ŃŠŗŠ¾Š³Š¾" Method for anonymous communication in client-server architecture
US10666503B1 (en) 2018-09-27 2020-05-26 Amazon Technologies, Inc. Network connection and termination system
US10721315B1 (en) * 2019-12-12 2020-07-21 Eci Telecom Ltd. Developing and implementing migration sequences in data communication networks
US11593161B2 (en) * 2020-10-16 2023-02-28 EMC IP Holding Company LLC Method to create and perform appropriate workflow for datacenter migration
US20230394450A1 (en) * 2022-06-03 2023-12-07 The Toronto-Dominion Bank System and method for storing automated teller machine session data

Family Cites Families (16)

* Cited by examiner, ā€  Cited by third party
Publication number Priority date Publication date Assignee Title
US5537400A (en) * 1994-04-15 1996-07-16 Dsc Communications Corporation Buffered crosspoint matrix for an asynchronous transfer mode switch and method of operation
JP2000124881A (en) 1998-10-19 2000-04-28 Toho Denshi Kk Transmission line interface switching method
JP3444532B2 (en) 1998-11-20 2003-09-08 ę¾äø‹é›»å™Øē”£ę„­ę Ŗ式会ē¤¾ Time division multiplex wireless communication apparatus and method
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US7111060B2 (en) * 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US7155518B2 (en) * 2001-01-08 2006-12-26 Interactive People Unplugged Ab Extranet workgroup formation across multiple mobile virtual private networks
US7342876B2 (en) * 2001-12-20 2008-03-11 Sri International Interference mitigation and adaptive routing in wireless ad-hoc packet-switched networks
US7650412B2 (en) * 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US7020836B2 (en) * 2002-07-30 2006-03-28 Intel Corporation One's complement pipelined checksum
US8769135B2 (en) * 2004-11-04 2014-07-01 Hewlett-Packard Development Company, L.P. Data set integrity assurance with reduced traffic
CN100405871C (en) 2006-04-30 2008-07-23 äø­å›½ē§‘å­¦é™¢č®”ē®—ꊀęœÆē ”ē©¶ę‰€ Three-layer mobile switchover implementing method based on two-layer prediction and trigging
US8264949B2 (en) * 2006-08-30 2012-09-11 Rockstar Bidco Lp Method and apparatus for selecting between available neighbors in a rapid alternate path calculation
US20080104259A1 (en) * 2006-10-28 2008-05-01 Lefevre Marc Methods and systems for communicating with storage devices in a storage system
JP4922834B2 (en) * 2007-05-29 2012-04-25 ę Ŗ式会ē¤¾ę—„ē«‹č£½ä½œę‰€ Apparatus and method for monitoring performance of resources existing in a computer system
US9104662B2 (en) * 2008-08-08 2015-08-11 Oracle International Corporation Method and system for implementing parallel transformations of records
US9503223B2 (en) * 2011-03-04 2016-11-22 Blackberry Limited Controlling network device behavior

Non-Patent Citations (1)

* Cited by examiner, ā€  Cited by third party
Title
None *

Also Published As

Publication number Publication date
EP2737681A1 (en) 2014-06-04
KR20140030313A (en) 2014-03-11
JP2014525205A (en) 2014-09-25
CN103828323A (en) 2014-05-28
WO2013015915A1 (en) 2013-01-31
US20130031256A1 (en) 2013-01-31
KR101523178B1 (en) 2015-05-26
CN103828323B (en) 2017-03-15
US9699274B2 (en) 2017-07-04
JP5788597B2 (en) 2015-10-07

Similar Documents

Publication Publication Date Title
EP2737681B1 (en) Method and apparatus for reliable session migration
EP3459217B1 (en) Transporting udp packets over an mptcp connection
US9264353B2 (en) Dynamic subflow control for a multipath transport connection in a wireless communication network
US9253015B2 (en) Transparent proxy architecture for multi-path data connections
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
EP3979594A1 (en) Packet forwarding method and apparatus for heterogeneous network
EP3533162B1 (en) Handling of data packet transfer via a proxy
KR102476192B1 (en) Packet transmission method and related device
JP2010534453A (en) Method and apparatus for in-order delivery of data packets during handoff
CN111788817A (en) Transition between transmission control protocols
US20220407799A1 (en) Method and network device for multi-path communication
US20130238766A1 (en) Learning values of transmission control protocol (tcp) options
CN106471847B (en) Method and apparatus for communicating data communication sessions between radio access networks
US11632326B1 (en) Selection of network paths for reliable communications based on network reliability metrics
JP6973511B2 (en) Communication equipment, communication systems, communication methods and programs
Kumar et al. Deviceā€centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol
US20210385699A1 (en) Mobility management in information centric networking
Li Improving the Efficiency of Multipath Transport Protocols

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20140225

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ALCATEL LUCENT

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ALCATEL LUCENT

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20180626

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 1063436

Country of ref document: AT

Kind code of ref document: T

Effective date: 20181115

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602012053158

Country of ref document: DE

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20181107

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1063436

Country of ref document: AT

Kind code of ref document: T

Effective date: 20181107

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190207

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190307

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190207

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190208

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190307

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602012053158

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20190808

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20190630

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190620

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190630

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190630

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190630

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190620

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20120620

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602012053158

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181107

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230510

Year of fee payment: 12

Ref country code: DE

Payment date: 20230502

Year of fee payment: 12

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20230504

Year of fee payment: 12