US20130305082A1 - Recovering information - Google Patents

Recovering information Download PDF

Info

Publication number
US20130305082A1
US20130305082A1 US13/466,240 US201213466240A US2013305082A1 US 20130305082 A1 US20130305082 A1 US 20130305082A1 US 201213466240 A US201213466240 A US 201213466240A US 2013305082 A1 US2013305082 A1 US 2013305082A1
Authority
US
United States
Prior art keywords
memory
session
network device
sgw
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US13/466,240
Other versions
US8914664B2 (en
Inventor
Sagiv DRAZNIN
Lalit R. KOTECHA
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.)
Verizon Patent and Licensing Inc
Original Assignee
Verizon Patent and Licensing Inc
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 Verizon Patent and Licensing Inc filed Critical Verizon Patent and Licensing Inc
Priority to US13/466,240 priority Critical patent/US8914664B2/en
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DRAZNIN, SAGIV, KOTECHA, LALIT R.
Publication of US20130305082A1 publication Critical patent/US20130305082A1/en
Application granted granted Critical
Publication of US8914664B2 publication Critical patent/US8914664B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Definitions

  • Devices may establish a session with a service provider to obtain content. Each time that a device establishes a session with a service provider, information related to the session may be transmitted from the service provider to the device, or vice versa. At times, there could be a failure of service between the device and the service provider. A failure of service may result in a poor experience for a user of the device.
  • FIG. 1 is a diagram of an overview of an implementation described herein;
  • FIG. 2 is a diagram of an example environment in which systems and/or methods described may be implemented
  • FIG. 3 is a diagram of example components of one or more of the devices of FIG. 2 ;
  • FIG. 4 is a call flow diagram of example operations capable of being performed by an example portion of the environment in FIG. 2 ;
  • FIG. 5 is flow chart of an example process for establishing and maintaining a session.
  • FIGS. 6A-6D are diagrams of example processes for establishing and maintaining a session.
  • Systems and/or methods described herein may store session information in a memory, and may retrieve the session information from the memory when a connection is lost from the service provider to a user device.
  • the memory of a communications network may determine that a communication between a service provider's network device and the user device is no longer active.
  • the memory may store session information associated with the communication.
  • the memory may communicate the session information with an alternative network device, so that a connection can be established between the user device and the alternative network device.
  • the alternative network device may not require the original network device to communicate the session information to the alternative network device.
  • the memory which stores the session information, may be located external to the original network device and the alternative network device.
  • the transfer of session information to the alternative network device may not result in a loss of service, and may not result in any quality of service issues between the user device and the service provider.
  • FIG. 1 is a diagram of an overview of an implementation described herein.
  • FIG. 1 shows a user device 110 , network devices 120 A and 120 B, and memories 130 A and 130 B. In practice, there may be additional or fewer user devices, network devices, and/or memories.
  • FIG. 1 assume that user device 110 establishes a session with network device 120 A.
  • Network device 120 A may send information regarding the session to memory 130 A.
  • Memory 130 A may share the session information with memory 130 B.
  • Memory 130 A and memory 130 B may be a part of the same memory or may be independent of each other.
  • Network device 120 A ceases to function.
  • Memory 130 A may determine that network device 120 A is no longer functioning, and may notify memory 130 B.
  • Memory 130 B may communicate with network device 120 B, and provide the session information, regarding the session that was originally established through network device 120 A, to network device 120 B.
  • Network device 120 B may then communicate with user device 110 , which may result in no disruption in the communication with user device 110 .
  • FIG. 2 is a diagram of an example environment 200 in which systems and/or methods described herein may be implemented.
  • environment 200 may include a user device 210 , a base station 220 , a serving gateway 230 (hereinafter referred to as “SGW 230 ”), a serving gateway memory 235 (hereinafter referred to as “SGW-memory 235 ”), a mobility management entity device 240 (hereinafter referred to as “MME 240 ”), a mobility managed entity memory 245 (hereinafter referred to as “MME-memory 245 ”), a packet data network (PDN) gateway (PGW) 250 , a packet data network (PDN) gateway (PGW) memory 255 (hereinafter referred to as “PGW-memory 255 ”), a home subscriber server (HSS)/authentication, authorization, accounting (AAA) server 260 (hereinafter referred to as an “HSS/AAA server 260 ”),
  • HSS home subscribe
  • the quantity of devices and/or networks, illustrated in FIG. 2 is provided for explanatory purposes only. In practice, there may be additional devices and/or networks; fewer devices and/or networks; different devices and/or networks; or differently arranged devices and/or networks than illustrated in FIG. 2 .
  • one or more of the devices of environment 200 may perform one or more functions described as being performed by another one or more of the devices of environment 200 .
  • Devices of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
  • the Environment 200 may include an evolved packet system (EPS) that includes a long term evolution (LTE) network and/or an evolved packet core (EPC) that operate based on a third generation partnership project (3GPP) wireless communication standard.
  • the LTE network may be a radio access network (RAN) that includes one or more base stations, such as eNodeBs (eNBs), via which user device 210 communicates with the EPC.
  • the EPC may include SGW 230 , SGW-memory 235 , MME 240 , MME-memory 245 , PGW 250 , and/or PGW-memory 255 that enables user device 210 to communicate with network 280 and/or an Internet protocol (IP) multimedia subsystem (IMS) core.
  • the IMS core may include HSS/AAA server 260 and/or CSCF server 265 and may manage authentication, session initiation, account information, a user profile, etc. associated with user device 210 .
  • the LTE network may include multiple base stations 220
  • the EPC may include multiple SGWs 230 , SGW-memories 235 , MMEs 240 , MME-memories 245 , PGW 250 , and/or PGW-memories 255 .
  • a SGW-memory 235 may be shared by multiple SGWs 230
  • a MME-memory 245 may be shared by multiple MMEs 240
  • a PGW-memory 255 may be shared by multiple PGWs 250 .
  • User device 210 may include any computation or communication device, such as a wireless mobile communication device that is capable of communicating with base station 220 and/or a network (e.g., network 280 ).
  • user device 210 may include a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a smart phone, a laptop computer, a tablet computer, a camera, a personal gaming system, or another type of mobile computation or communication device.
  • User device 210 may send traffic to and/or receive traffic from network 280 .
  • User device 210 may execute applications stored in a memory associated with user device 210 .
  • User device 210 may also, or alternatively, communicate, via network 280 , with content provider 270 to obtain content (e.g., video content, image content, advertising content, etc.) and/or access a service and/or application (e.g., via a website hosted by content provider 270 ).
  • content e.g., video content, image content, advertising content, etc.
  • service and/or application e.g., via a website hosted by content provider 270 .
  • Base station 220 may include one or more network devices that receive, process, and/or transmit traffic, such as audio, video, text, and/or other data, destined for and/or received from user device 210 .
  • base station 220 may be an eNB device and may be part of the LTE network.
  • Base station 220 may receive traffic from and/or send traffic to network 280 via SGW 230 and PGW 250 .
  • Base station 220 may send traffic to and/or receive traffic from user device 210 via an air interface.
  • One or more of base stations 220 may be associated with a RAN, such as the LTE network.
  • SGW 230 may include one or more network devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein.
  • SGW 230 may include one or more data processing and/or traffic transfer devices, such as a gateway, a router, a modem, a switch, a firewall, a network interface card (NIC), a hub, a bridge, a proxy server, an optical add-drop multiplexer (OADM), or some other type of device that processes and/or transfers traffic.
  • SGW 230 may, for example, aggregate traffic received from one or more base stations 220 and may send the aggregated traffic to network 280 via PGW 250 .
  • SGW 230 may route and forward user data packets, may act as a mobility anchor for a user plane during inter-eNB handovers, and may act as an anchor for mobility between LTE and other 3GPP technologies.
  • SGW 230 may terminate a downlink (DL) data path and may trigger paging when DL data arrives for user device 210 .
  • DL downlink
  • SGW-memory 235 may include one or more network devices, or other types of computation or communication devices that gather, process, store and/or provide information described therein.
  • SGW-memory 235 may, for example, create a session to allow SGW 230 to connect to the user device 210 via base station 220 .
  • SGW-memory 235 may also store session information associated with a session between user device 210 and SGW 230 via base station 220 .
  • the session information may, for example, include various information regarding the session, such as contexts associated with user device 210 , such as parameters of an IP bearer service, network internal routing information; information about the active status of user device 210 ; and/or identification information regarding base station 220 via which user device 210 communicates with SGW 230 .
  • MME 240 may include one or more computation or communication devices that gather, process, search, store, and/or provide information in a manner described herein. For example, MME 240 may perform operations associated with a handoff to and/or from the EPS. MME 240 may perform operations to register user device 210 with the EPS, to handoff user device 210 from the EPS to another network, to handoff a user device 210 from the other network to the EPS, and/or to perform other operations. MME 240 may perform policing operations for traffic destined for and/or received from user device 210 . MME 240 may authenticate user device 210 (e.g., via interaction with HSS/AAA server 260 ).
  • MME-memory 245 may include one or more network devices, or other types of computation or communication devices that gather, process, store and/or provide information described therein.
  • MME-memory 245 may, for example, create a session to allow MME 240 to connect to user device 210 via base station 220 .
  • MME-memory 245 may, for example, also store session information associated with a session between user device 210 and MME 240 via base station 220 .
  • the session information may include various information regarding the session, such as identification information related to user device 210 , such as a temporary identity given to user device 210 ; and/or authentication information for user device 210 obtained from HSS/AAA server 260 .
  • PGW 250 may include one or more network devices that gather, process, search, store, and/or provide information in a manner described herein.
  • PGW 250 may include one or more data processing and/or traffic transfer devices, such as a gateway, a router, a modem, a switch, a firewall, a NIC, a hub, a bridge, a proxy server, an OADM, or some other type of device that processes and/or transfers traffic.
  • PGW 250 may, for example, provide connectivity of user device 210 to external packet data networks by being a traffic exit/entry point for user device 210 .
  • PGW 250 may perform policy enforcement, packet filtering, charging support, lawful intercept, and/or packet screening.
  • PGW 250 may also act as an anchor for mobility between 3GPP and non-3GPP technologies.
  • PGW-memory 255 may include one or more network devices, or other types of computation or communication devices that gather, process, store and/or provide information described therein. PGW-memory 255 may, for example, create a session to allow PGW 250 to connect to the user device 210 via base station 220 . PGW-memory 255 may also store session information associated with a session between user device 210 and PGW 250 via base station 220 . The session information may, for example, include various information regarding the session, such as identification information regarding user device 210 and/or identification information regarding SGW 230 .
  • HSS/AAA server 260 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein.
  • HSS/AAA server 260 may manage, update, and/or store, in a memory associated with HSS/AAA server 260 , profile information associated with user device 210 that identifies applications and/or services that are permitted for and/or accessible by user device 210 , bandwidth or data rate thresholds associated with the applications or services, information associated with a user of user device 210 (e.g., a username, a password, a personal identification number (PIN), etc.), rate information, minutes allowed, and/or other information.
  • HSS/AAA server 260 may include a device that performs authentication, authorization, and/or accounting (AAA) operations associated with a communication session with user device 210 .
  • AAA authentication, authorization, and/or accounting
  • CSCF server 265 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein.
  • CSCF server 265 may process and/or route calls to and from user device 210 via the EPC.
  • CSCF server 265 may process calls, received from network 280 , that are destined for user device 210 .
  • CSCF server 260 may process calls, received from user device 210 , that are destined for network 280 .
  • Content provider 270 may include one or more server devices, or other types of computation or communication devices, that provide any type or form of content.
  • content provider 270 may provide free television broadcasts (e.g., local broadcasts, such as NBC, CBS, ABC, and/or Fox), for-pay television broadcasts (e.g., TNT, ESPN, HBO, Cinemax, CNN, etc.), and/or Internet-based content (e.g., Youtube, Vimeo, Netflix, Hulu, Veoh, etc.) streamed from web sites.
  • Content provider 270 may produce media streams (e.g., television broadcasts).
  • a “media stream,” as used herein, may refer to stream of content that includes video content (e.g., a video stream), audio content (e.g., an audio stream), textual content (e.g., a textual stream), and/or a combination of the aforementioned content.
  • content provider 270 may provide web pages, documents, images, advertising content, etc. Additionally, or alternatively, content provider 270 may provide applications and/or services, such as games, scripts, messaging services, etc.
  • Network 280 may include one or more wired and/or wireless networks.
  • network 280 may include a cellular network, a public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, and/or another network.
  • PLMN public land mobile network
  • 2G second generation
  • 3G third generation
  • 4G fourth generation
  • 5G fifth generation
  • network 280 may include a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a fiber optic-based network (e.g., FiOS), and/or a combination of these or other types of networks.
  • PSTN Public Switched Telephone Network
  • FiOS fiber optic-based network
  • environment 200 has been described in terms of an EPS, this need not be the case.
  • environment 200 may include devices associated with a system that does not include an LTE, an EPC and/or an IMS core.
  • FIG. 3 is a diagram of example components of a device 300 .
  • Device 300 may correspond to user device 210 , SGW 230 , SGW-memory 235 , MME 240 , MME-memory 245 , PGW 250 , PGW-memory 255 , and/or content provider 270 .
  • each of user device 210 , SGW 230 , SGW-memory 235 , MME 240 , MME-memory 245 , PGW 250 , PGW-memory 255 , and/or content provider 270 may include one or more devices 300 and/or one or more components of device 300 .
  • device 300 may include a bus 310 , a processor 320 , a memory 330 , an input component 340 , an output component 350 , and a communication interface 360 .
  • device 300 may contain fewer components, additional components, different components, or differently arranged components than depicted in FIG. 3 . Additionally, or alternatively, one or more components of device 300 may perform one or more tasks described as being performed by one or more other components of device 300 .
  • Bus 310 may include a path that permits communication among the components of device 300 .
  • Processor 320 may include one or more processors, microprocessors, or processing logic that may interpret and execute instructions.
  • Memory 330 may include any type of dynamic storage device that may store information and instructions, for execution by processor 320 , and/or any type of non-volatile storage device that may store information for use by processor 320 .
  • Input component 340 may include a mechanism that permits a user to input information to device 300 , such as a keyboard, a keypad, a button, a switch, etc.
  • Output component 350 may include a mechanism that outputs information to the user, such as a display, a speaker, one or more light emitting diodes (LEDs), etc.
  • LEDs light emitting diodes
  • Communication interface 360 may include any transceiver-like mechanism that enables device 300 to communicate with other devices and/or systems.
  • communication interface 360 may include an Ethernet interface, an optical interface, a coaxial interface, a wireless interface, or the like.
  • communication interface 360 may include, for example, a transmitter that may convert baseband signals from processor 320 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals.
  • communication interface 360 may include a transceiver to perform functions of both a transmitter and a receiver of wireless communications (e.g., radio frequency, infrared, visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, waveguide, etc.), or a combination of wireless and wired communications.
  • Communication interface 360 may connect to an antenna assembly (not shown in FIG. 3 ) for transmission and/or reception of the RF signals.
  • the antenna assembly may include one or more antennas to transmit and/or receive RF signals over the air.
  • the antenna assembly may, for example, receive RF signals from communication interface 360 and transmit the RF signals over the air, and receive RF signals over the air and provide the RF signals to communication interface 360 .
  • communication interface 360 may communicate with network 280 and/or devices connected to network 280 .
  • device 300 may perform certain operations. Device 300 may perform these operations in response to processor 320 executing software instructions (e.g., computer program(s)) contained in a computer-readable medium, such as memory 330 , a secondary storage device (e.g., hard disk, CD-ROM, etc.), or other forms of RAM or ROM.
  • a computer-readable medium may be defined as a non-transitory memory device.
  • a memory device may include space within a single physical memory device or spread across multiple physical memory devices.
  • the software instructions may be read into memory 330 from another computer-readable medium or from another device.
  • the software instructions contained in memory 330 may cause processor 320 to perform processes described herein.
  • hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
  • FIG. 4 is a call flow diagram of example operations capable of being performed by an example portion 400 of environment 200 .
  • portion 400 may include user device 210 , base station 220 , SGW 230 , SGW-memory 235 - 1 , and SGW-memory 235 - 2 .
  • User device 210 , base station 220 , SGW 230 , SGW-memory 235 - 1 , and SGW-memory 235 - 2 may include components and/or perform functions described above in connection with, for example, one or more of FIGS. 1-3 .
  • SGW 230 and SGW-memory 235 may be replaced with MME 240 and MME-memory 245 , respectively, in the flow diagram of example operations in FIG. 4 .
  • SGW 230 and SGW-memory 235 may also, or alternatively, be replaced with PGW 250 and PGW-memory 255 , respectively, in the flow diagram of example operations in FIG. 4 .
  • MME 240 , MME-memory 245 , PGW 250 , and PGW-memory 255 may include components and/or perform functions described above in connection with, for example, one or more of FIGS. 1-3 .
  • user device 210 may communicate with base station 220 to provide a session request 410 .
  • user device 210 may be requesting connection to network 280 ( FIG. 2 ) to begin a session allowing user device 210 to obtain a multimedia stream from a content provider 270 , described with regard to FIG. 2 .
  • Base station 220 may transmit the session request 410 to SGW 230 .
  • the session request 410 may include information identifying user device 210 and base station 220 .
  • SGW 230 may transmit the session request 410 to SGW-memory 235 - 1 .
  • SGW-memory 235 - 1 may receive session request 410 .
  • SGW-memory 235 - 1 may create and transmit a session request accepted message 420 to user device 210 via SGW 230 and base station 220 .
  • SGW-memory 235 - 1 may also forward the session request accepted message 420 to SGW-memory 235 - 2 .
  • SGW-memory 235 - 1 and/or SGW-memory 235 - 2 may store the session request accepted message 420 .
  • User device 210 may receive the session request accepted message 420 and may transmit acknowledgement packet 430 to base station 220 in response to receiving the session request accepted message 420 .
  • Base station 220 may receive acknowledgement packet 430 and forward acknowledgement packet 430 to SGW 230 .
  • SGW 230 may forward acknowledgement packet 430 to SGW-memory 235 - 1 .
  • SGW-memory 235 - 1 may forward acknowledgement packet 430 to SGW-memory 235 - 2 .
  • User device 210 may transmit session information 440 to base station 220 .
  • Base station 220 may receive session information 440 and forward the session information 440 to SGW 230 .
  • SGW 230 may forward session information 440 to SGW-memory 235 - 1 .
  • SGW-memory 235 - 1 may store session information 440 .
  • SGW-memory 235 - 1 may forward the session information to SGW-memory 235 - 2 .
  • SGW-memory 235 - 2 may store the session information.
  • SGW-memory 235 - 1 and SGW-memory 235 - 2 may be independent devices or may be part of the same device.
  • the session information 440 may include information regarding the session, such as information identifying, for example, base station 220 and information regarding the active status of user device 210 .
  • FIG. 5 is a flow chart of an example process 500 for establishing and maintaining a session.
  • process 500 may be performed by a network device, such as SGW 230 , SGW-memory 235 , MME 240 , MME-memory 245 , PGW 250 , and/or PGW-memory 255 .
  • Process 500 may include receiving a session request (block 510 ). For example, assume that a user, of user device 210 , wants to obtain multimedia streaming content. Accordingly, user device 210 may generate a session request and may send the session request to a network device. The network device may receive the session request from user device 210 .
  • the network device may correspond to SGW 230 .
  • User device 210 may communicate with SGW 230 .
  • SGW 230 may receive the session request, as session request 410 (described, with regard to FIG. 4 ), from user device 210 .
  • Process 500 may include obtaining a session from memory (block 520 ).
  • the network device may forward the session request to an associated memory.
  • the memory may process the session request and create a session by, for example, storing certain information, associated with the session, in the memory.
  • the memory may generate and output a session request accepted message back to the network device.
  • SGW 230 may forward the session request, received from user device 210 , to SGW-memory 235 (as shown as session request 410 in FIG. 4 ).
  • SGW-memory 235 may process the session request and create a session.
  • SGW-memory 235 may generate a session request accepted message (shown as session request message 420 in FIG. 4 ) and send the session request accepted message to SGW 230 .
  • Process 500 may also include establishing a session (block 530 ).
  • the network device may contact user device 210 to inform user device 210 that a session has been established.
  • a session may be established when the network device provides user device 210 with a session request accept message.
  • the network device may establish a session in another way.
  • SGW 230 may send a session request accepted message (shown as session request accepted message 420 in FIG. 4 ) to user device 210 .
  • User device 210 may receive the session request accepted message and may send an acknowledgement packet (as shown as acknowledgement packet 440 in FIG. 4 ) to SGW-memory 235 .
  • the session may be established when the session request accepted message is sent to user device 210 .
  • the session may be established upon receipt of the acknowledgement packet.
  • the session may be established prior to sending the session request accepted message or after receiving the acknowledgement packet.
  • Process 500 may also include determining that the session is lost (block 540 -YES). For example, assume that the network device loses contact with the memory device. In one implementation, the network device itself may fail. In another implementation, the connection between the network device and the memory device, and/or another network device, may fail.
  • the session may be lost when SGW 230 no longer sends a ping, or heartbeat, to SGW-memory 235 . This may occur because SGW 230 fails, or the connections to/from SGW 230 fails.
  • Process 500 may also include determining that the session is not lost (block 540 -NO). For example, the network device may continue to function and continue to send information to the memory device without any loss of service. In an example implementation where the network device corresponds to SGW 230 and the memory device corresponds to SGW-memory 235 , SGW 230 may continue to send a ping or heartbeat communication to SGW-memory 235 .
  • Process 500 may also include contacting a second network device (block 550 ).
  • the memory device may contact a second network device and forward session information that was between the network device and user device 210 .
  • the network device corresponds to SGW 230 (hereinafter SGW 230 - 1 ), the memory device corresponds to SGW-memory 235 , and the second network device corresponds to a device similar to SGW 230 (hereinafter SGW 230 - 2 ).
  • SGW-memory 235 may correspond to one memory device or may correspond to multiple memory devices.
  • SGW-memory 235 may forward the session information, associated with the session between user device 210 and SGW 230 - 1 , to SGW 230 - 2 .
  • the session information may, for example, include contexts associated with user device 210 , such as parameters of an IP bearer service, network internal routing information; whether the user device 210 is active; and/or identification information of base station 220 that is connected to SGW 230 - 1 .
  • contexts associated with user device 210 such as parameters of an IP bearer service, network internal routing information; whether the user device 210 is active; and/or identification information of base station 220 that is connected to SGW 230 - 1 .
  • Process 500 may also include connecting to the second network device (block 560 ).
  • the second network device may contact user device 210 and inform user device 210 that the second network device has taken over the functions of the network device that failed.
  • SGW 230 - 2 (via base station 220 ) may inform user device 210 that SGW 230 - 2 has taken over the functions of SGW 230 - 1 .
  • User device 210 may, thereafter, send session information to SGW 230 - 2 without any interruption. As a result, there may be no disruption in service for user device 210 .
  • FIGS. 6A-6D are diagrams of example processes 600 for establishing and maintaining a session.
  • FIGS. 6A-6D show a user device 610 , a base station 620 , MME 1 630 , MME 2 635 , MME 1 -memory 640 , MME 2 -memory 645 , SGW 1 650 , SGW 2 655 , PGW 1 660 , PGW 2 665 , PGW 1 -memory 670 , PGW 2 -memory 675 , SGW 1 -memory 680 , and SGW 2 -memory 685 .
  • An example of user device 610 may correspond to user device 210 , described with regard to FIG. 2 .
  • An example of base station 620 may correspond to base station 220 , described with regard to FIG. 2 .
  • An example of SGW 1 650 and SGW 2 655 may correspond to SGW 230 , described with regard to FIG. 2 .
  • An example of SGW 1 -memory 680 and SGW-memory 685 may correspond to SGW-memory 235 , described with regard to FIG. 2 .
  • An example of MME 1 630 and MME 2 635 may correspond to MME 240 , described with regard to FIG. 2 .
  • MME 1 -memory 640 and MME 2 -memory 645 may correspond to MME-memory 245 , described with regard to FIG. 2 .
  • An example of PGW 1 660 and PGW 2 665 may correspond to PGW 250 , described with regard to FIG. 2 .
  • An example of PGW 1 -memory 670 and PGW 2 -memory 675 may correspond to PGW-memory 255 , described with regard to FIG. 2 .
  • SGW 1 650 may forward the session information, related to the session with user device 610 , to SGW 1 -memory 680 .
  • An example of session information may include information identifying user device 610 , information identifying a location of user device 610 , information identifying base station 620 ; information about the active status of user device 610 ; and/or context information associated with user device 610 , such as parameters of an IP bearer service and/or network internal routing information.
  • SGW 1 -memory 680 may store the session information.
  • SGW 1 -memory 680 may store information relating to the session request 410 , described with regard to FIG. 4 .
  • SGW 1 -memory 680 may forward the session information and/or session request information to SGW 2 -memory 685 .
  • SGW 2 -memory 685 may store the session information and/or the session request information.
  • SGW 1 -memory 680 and SGW 2 -memory 685 may be separate devices or may be part of the same device.
  • user device 610 may also, or alternatively, have a session with MME 1 630 via base station 620 .
  • User device 610 may send session information, related to the session, to MME 1 630 via base station 620 .
  • MME 1 630 may forward the session information, related to the session with user device 610 , to MME 1 -memory 640 .
  • the session information sent by MME 1 630 to MME 1 -memory 640 may include information identifying user device 610 , information identifying temporary identities given to user device 610 , and/or information identifying authentication of user device 610 .
  • MME 1 -memory 640 may store this session information and may store session request information related to session request 410 as shown in FIG. 4 .
  • MME 1 -memory 640 may forward this session information and/or session request information to MME 2 -memory 645 .
  • MME 2 -memory 645 may store this session information and/or the session request information.
  • MME 1 -memory 640 and MME 2 -memory 645 may be separate devices and/or may be the same device.
  • user device 610 may also, or alternatively, have a session with PGW 1 660 via base station 620 and SGW 1 650 .
  • User device 610 may send session information, related to the session, to PGW 1 660 via base station 620 and SGW 1 650 .
  • PGW 1 660 may forward the session information related to the session with user device 610 to PGW 1 -memory 670 .
  • this session information may include information identifying user device 610 , and/or information identifying SGW 1 650 .
  • PGW 1 -memory 670 may store this session information, and may store session request information related to session request 410 , described with regard to FIG. 4 .
  • PGW 1 -memory 670 may forward this session information, and/or session request information to PGW 2 -memory 675 .
  • PGW 2 -memory 675 may store this session information and/or the session request information.
  • PGW 1 -memory 670 and PGW 2 -memory 675 may be separate devices and/or may be the same device.
  • SGW 1 650 ceases to function, which results in the session between user device 610 and SGW 1 650 being lost.
  • SGW 1 -memory 680 may determine that SGW 1 650 has ceased to function. For example, when SGW 1 650 no longer sends pings or heartbeats to SGW 1 -memory 680 , SGW 1 -memory 680 may determine that SGW 1 650 is not functioning. SGW 1 650 may no longer be sending pings or heartbeat because the device itself has failed, or a connection from SGW 650 to another device (such as SGW 1 -memory 680 or PGW 1 660 ) has failed.
  • SGW 1 -memory 680 may communicate to SGW- 2 memory 685 that SGW 1 650 is not functioning.
  • SGW 2 -memory 685 may communicate with SGW 2 655 .
  • SGW 2 655 may receive from SGW 2 -memory 685 , the session information related to the session that was originally between SGW 1 650 and user device 610 . This may allow SGW 2 655 to communicate with user device 610 , and inform user device 610 that SGW 2 655 has taken over the session.
  • SGW 2 655 may communicate with base station 620 and provides the session information related to the session between SGW 1 650 and user device 610 .
  • Base station 620 may contact user device 610 , informing user device 610 that the session may now be served by SGW 2 655 .
  • User device 610 may then continue the session, and send session information to SGW 2 655 (instead of SGW 1 650 ) via base station 620 .
  • the session information between SGW 2 655 and user device 610 may be stored in SGW 2 -memory 685 .
  • the session information between SGW 2 655 and user device 610 may be forwarded from SGW 2 -memory 685 to another memory device, such as SGW 1 -memory 680 .
  • SGW 1 -memory 680 may store this session information, and the information related to the session request 410 , described with regard to FIG. 4 .
  • SGW 1 650 may cease to function.
  • PGW 1 660 may communicate with SGW 2 655 instead of SGW 1 650 .
  • SGW 1 650 may communicate information to SGW 2 655 by using memory devices, such as SGW 1 -memory 680 and/or SGW 2 -memory 685 .
  • SGW 1 -memory 680 and SGW 2 -memory 685 may function in an active/active mode (both SGW 1 -memory 680 and SGW 2 -memory 685 are concurrently active).
  • SGW 2 655 may cease to function and that process 600 (as describe above) may find another SGW 230 to take over the role of SGW 2 655 .
  • the time lapse between changing from SGW 1 650 to SGW 2 655 may occur in less than one second. Additionally, or alternatively, the time lapse between changing from SGW 1 650 to SGW 2 655 may result in no disruption in service for user device 610 . For example, if user device 610 is receiving streaming multimedia (from content provider 270 in FIG. 2 ), when a network device (such as SGW 650 ) fails, changing from one network device (such as from SGW 650 to SGW 2 655 ) may result in no disruption of the streaming multimedia to user device 610 .
  • MME 1 -memory 640 may determine that MME 1 630 has ceased to function. For example, when MME 1 630 no longer sends pings or heartbeats to MME 1 -memory 640 , MME 1 -memory 640 may determine that MME 1 630 is not functioning. MME 1 630 may no longer be sending pings or heartbeat because MME 1 630 has failed, or a connection from MME 1 630 to another device (such as MME 1 -memory 640 ) has failed.
  • MME 1 -memory 640 may communicate to MME 2 -memory 645 that MME 1 630 has ceased to function.
  • MME 2 -memory 645 may forward the session information, between user device 610 and MME 1 630 , to MME 2 635 . This may allow MME 2 635 to communicate with user device 610 , and inform user device 610 that MME 2 635 has taken over the session.
  • MME 2 635 may communicate with user device 610 (via base station 620 ) that MME 2 635 has now taken over the functions of MME 1 630 .
  • User device 610 may continue the session with MME 2 635 (instead of MME 1 630 ) via base station 620 .
  • the session information between MME 2 635 and user device 610 may be stored in MME 2 -memory 645 .
  • the session information between MME 2 635 and user device 610 may be forwarded from MME 2 -memory 645 to another memory, such as MME 1 -memory 640 .
  • MME 1 -memory 640 may store this session information, and the information related to the session request 410 , described with regard to FIG. 4 .
  • MME 1 630 may communicate information to MME 2 635 by using memory devices, such as MME 1 -memory 640 and/or MME 2 -memory 645 .
  • MME 1 -memory 640 and MME 2 -memory 645 may function in an active/active mode (both MME 1 -memory 640 and MME 2 -memory 645 are concurrently active).
  • MME 2 635 may cease to function and that process 600 (as describe above) may find another MME 240 to take over the role of MME 2 635 .
  • the time lapse between changing from MME 1 630 to MME 2 635 may occur in less than one second. Additionally, or alternatively, the time lapse between changing from MME 1 630 to MME 2 635 may result in no disruption in service for user device 610 . For example, if user device 610 is receiving streaming multimedia (from content provider 270 in FIG. 2 ), when a network device (such as MME 1 630 ) fails, changing from one network device (such as from MME 1 630 to MME 2 635 ) may result in no disruption of the streaming multimedia to user device 610 .
  • a network device such as MME 1 630
  • changing from one network device such as from MME 1 630 to MME 2 635
  • PGW 1 -memory 670 may determine that PGW 1 660 has ceased to function. For example, when PGW 1 660 no longer sends pings or heartbeats to PGW 1 -memory 670 , PGW 1 -memory 670 may determine that PGW 1 660 is not functioning. PGW 1 660 may no longer be sending pings or heartbeat because PGW 1 660 has failed, or a connection from PGW 1 660 to another device (such as SGW 1 650 or PGW 1 -memory 670 ) has failed.
  • PGW 1 660 may no longer be sending pings or heartbeat because PGW 1 660 has failed, or a connection from PGW 1 660 to another device (such as SGW 1 650 or PGW 1 -memory 670 ) has failed.
  • PGW 1 -memory 670 may communicate to PGW 2 -memory 675 that PGW 1 660 has ceased to function.
  • PGW 2 -memory 675 may forward the session information, between user device 610 and PGW 1 660 , to PGW 2 665 . This may allow PGW 2 665 to communicate with user device 610 , and inform user device 610 that PGW 2 655 has taken over the session.
  • PGW 2 665 may communicate with user device 610 (via base station 620 and SGW 1 650 ) that PGW 2 665 has taken over the functions of PGW 1 660 .
  • User device 610 may continue the session with PGW 2 655 (instead of PGW 1 660 ) via base station 620 .
  • the session information between PGW 2 655 and user device 610 may be stored in PGW 2 -memory 675 .
  • the session information between PGW 2 665 and user device 610 may be forwarded from PGW 2 -memory 675 to another memory device, such as PGW 1 -memory 670 .
  • PGW 1 -memory 670 may store this session information, and the information related to the session request 410 , described with regard to FIG. 4 .
  • PGW 1 660 may cease to function.
  • SGW 1 650 may communicate with PGW 2 655 , instead of PGW 1 660 .
  • PGW 1 660 may communicate information to PGW 2 665 by using memory devices, such as PGW 1 -memory 670 and/or PGW 2 -memory 675 .
  • PGW 1 -memory 670 and PGW 2 -memory 675 may function in an active/active mode (both PGW 1 -memory 670 and PGW 2 -memory 675 are concurrently active).
  • PGW 2 665 may cease to function and that process 600 (as described above) may find another PGW 250 to take over the role of PGW 2 665 .
  • the time lapse between changing from PGW 1 660 to PGW 2 665 may occur in less than one second. Additionally, or alternatively, the time lapse between changing from PGW 1 660 to PGW 2 665 may result in no disruption in service for user device 610 . For example, if user device 610 is receiving streaming multimedia (from content provider 270 in FIG. 2 ), when a network device (such as PGW 660 ) fails, changing from one network device (such as from PGW 660 to PGW 2 665 ) may result in no disruption of the streaming multimedia to user device 610 .
  • a network device such as PGW 660
  • changing from one network device such as from PGW 660 to PGW 2 665
  • Process 600 shown in FIGS. 6B-6D may have one, some, or all of the network devices, such as MME 1 630 , MME 2 635 , MME 1 -memory 640 , MME 2 -memory 645 , SGW 1 650 , SGW 2 655 , PGW 1 660 , PGW 2 665 , PGW 1 -memory 670 , PGW 2 -memory 675 , SGW 1 -memory 680 , and/or SGW 2 -memory 685 , or similar devices, failing at any time including at the same time.
  • the network devices such as MME 1 630 , MME 2 635 , MME 1 -memory 640 , MME 2 -memory 645 , SGW 1 650 , SGW 2 655 , PGW 1 660 , PGW 2 665 , PGW 1 -memory 670 , PGW 2 -memory 675 ,
  • each device may have its function taken over by one, some, or all of similar network devices. Also, there may be multiple user devices 610 and/or base stations 620 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A first memory device receives session information associated with a session between a first network device and a user device. The first memory device outputs the session information associated with the session information. A second memory device receives the session information, associated with the session, from the first memory device. The second memory device receives a communication from the first memory device that the first network device is not functioning. The second memory device sends session information to a second network device, based on receiving the communication from the first network device that the first network device is not functioning, the second network device taking over the session from the first network device.

Description

    BACKGROUND
  • Devices may establish a session with a service provider to obtain content. Each time that a device establishes a session with a service provider, information related to the session may be transmitted from the service provider to the device, or vice versa. At times, there could be a failure of service between the device and the service provider. A failure of service may result in a poor experience for a user of the device.
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 is a diagram of an overview of an implementation described herein;
  • FIG. 2 is a diagram of an example environment in which systems and/or methods described may be implemented;
  • FIG. 3 is a diagram of example components of one or more of the devices of FIG. 2;
  • FIG. 4 is a call flow diagram of example operations capable of being performed by an example portion of the environment in FIG. 2;
  • FIG. 5 is flow chart of an example process for establishing and maintaining a session; and
  • FIGS. 6A-6D are diagrams of example processes for establishing and maintaining a session.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
  • Systems and/or methods described herein may store session information in a memory, and may retrieve the session information from the memory when a connection is lost from the service provider to a user device. For example, the memory of a communications network may determine that a communication between a service provider's network device and the user device is no longer active. The memory may store session information associated with the communication. The memory may communicate the session information with an alternative network device, so that a connection can be established between the user device and the alternative network device.
  • As a result, the alternative network device may not require the original network device to communicate the session information to the alternative network device. The memory, which stores the session information, may be located external to the original network device and the alternative network device. Thus, the transfer of session information to the alternative network device may not result in a loss of service, and may not result in any quality of service issues between the user device and the service provider.
  • FIG. 1 is a diagram of an overview of an implementation described herein. FIG. 1 shows a user device 110, network devices 120A and 120B, and memories 130A and 130B. In practice, there may be additional or fewer user devices, network devices, and/or memories. As shown, in FIG. 1, assume that user device 110 establishes a session with network device 120A. Network device 120A may send information regarding the session to memory 130A. Memory 130A may share the session information with memory 130B. Memory 130A and memory 130B may be a part of the same memory or may be independent of each other.
  • Assume that at some later time, network device 120A ceases to function. Memory 130A may determine that network device 120A is no longer functioning, and may notify memory 130B. Memory 130B may communicate with network device 120B, and provide the session information, regarding the session that was originally established through network device 120A, to network device 120B. Network device 120B may then communicate with user device 110, which may result in no disruption in the communication with user device 110.
  • FIG. 2 is a diagram of an example environment 200 in which systems and/or methods described herein may be implemented. As shown in FIG. 2, environment 200 may include a user device 210, a base station 220 , a serving gateway 230 (hereinafter referred to as “SGW 230”), a serving gateway memory 235 (hereinafter referred to as “SGW-memory 235”), a mobility management entity device 240 (hereinafter referred to as “MME 240”), a mobility managed entity memory 245 (hereinafter referred to as “MME-memory 245”), a packet data network (PDN) gateway (PGW) 250, a packet data network (PDN) gateway (PGW) memory 255 (hereinafter referred to as “PGW-memory 255”), a home subscriber server (HSS)/authentication, authorization, accounting (AAA) server 260 (hereinafter referred to as an “HSS/AAA server 260”), a call session control function (CSCF) server 265 (hereinafter referred to as “CSCF server 265”), a content provider 270, and a network 280. The quantity of devices and/or networks, illustrated in FIG. 2, is provided for explanatory purposes only. In practice, there may be additional devices and/or networks; fewer devices and/or networks; different devices and/or networks; or differently arranged devices and/or networks than illustrated in FIG. 2.
  • Also, in some implementations, one or more of the devices of environment 200 may perform one or more functions described as being performed by another one or more of the devices of environment 200. Devices of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
  • Environment 200 may include an evolved packet system (EPS) that includes a long term evolution (LTE) network and/or an evolved packet core (EPC) that operate based on a third generation partnership project (3GPP) wireless communication standard. The LTE network may be a radio access network (RAN) that includes one or more base stations, such as eNodeBs (eNBs), via which user device 210 communicates with the EPC. The EPC may include SGW 230, SGW-memory 235, MME 240, MME-memory 245, PGW 250, and/or PGW-memory 255 that enables user device 210 to communicate with network 280 and/or an Internet protocol (IP) multimedia subsystem (IMS) core. The IMS core may include HSS/AAA server 260 and/or CSCF server 265 and may manage authentication, session initiation, account information, a user profile, etc. associated with user device 210.
  • As shown in FIG. 2, the LTE network may include multiple base stations 220, and the EPC may include multiple SGWs 230, SGW-memories 235, MMEs 240, MME-memories 245, PGW 250, and/or PGW-memories 255. In one implementation, a SGW-memory 235 may be shared by multiple SGWs 230, a MME-memory 245 may be shared by multiple MMEs 240, and/or a PGW-memory 255 may be shared by multiple PGWs 250.
  • User device 210 may include any computation or communication device, such as a wireless mobile communication device that is capable of communicating with base station 220 and/or a network (e.g., network 280). For example, user device 210 may include a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a smart phone, a laptop computer, a tablet computer, a camera, a personal gaming system, or another type of mobile computation or communication device. User device 210 may send traffic to and/or receive traffic from network 280.
  • User device 210 may execute applications stored in a memory associated with user device 210. User device 210 may also, or alternatively, communicate, via network 280, with content provider 270 to obtain content (e.g., video content, image content, advertising content, etc.) and/or access a service and/or application (e.g., via a website hosted by content provider 270).
  • Base station 220 may include one or more network devices that receive, process, and/or transmit traffic, such as audio, video, text, and/or other data, destined for and/or received from user device 210. In an example implementation, base station 220 may be an eNB device and may be part of the LTE network. Base station 220 may receive traffic from and/or send traffic to network 280 via SGW 230 and PGW 250. Base station 220 may send traffic to and/or receive traffic from user device 210 via an air interface. One or more of base stations 220 may be associated with a RAN, such as the LTE network.
  • SGW 230 may include one or more network devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. SGW 230 may include one or more data processing and/or traffic transfer devices, such as a gateway, a router, a modem, a switch, a firewall, a network interface card (NIC), a hub, a bridge, a proxy server, an optical add-drop multiplexer (OADM), or some other type of device that processes and/or transfers traffic. SGW 230 may, for example, aggregate traffic received from one or more base stations 220 and may send the aggregated traffic to network 280 via PGW 250. In one example implementation, SGW 230 may route and forward user data packets, may act as a mobility anchor for a user plane during inter-eNB handovers, and may act as an anchor for mobility between LTE and other 3GPP technologies. For idle state user device 210, SGW 230 may terminate a downlink (DL) data path and may trigger paging when DL data arrives for user device 210.
  • SGW-memory 235 may include one or more network devices, or other types of computation or communication devices that gather, process, store and/or provide information described therein. SGW-memory 235 may, for example, create a session to allow SGW 230 to connect to the user device 210 via base station 220. SGW-memory 235 may also store session information associated with a session between user device 210 and SGW 230 via base station 220. The session information may, for example, include various information regarding the session, such as contexts associated with user device 210, such as parameters of an IP bearer service, network internal routing information; information about the active status of user device 210; and/or identification information regarding base station 220 via which user device 210 communicates with SGW 230.
  • MME 240 may include one or more computation or communication devices that gather, process, search, store, and/or provide information in a manner described herein. For example, MME 240 may perform operations associated with a handoff to and/or from the EPS. MME 240 may perform operations to register user device 210 with the EPS, to handoff user device 210 from the EPS to another network, to handoff a user device 210 from the other network to the EPS, and/or to perform other operations. MME 240 may perform policing operations for traffic destined for and/or received from user device 210. MME 240 may authenticate user device 210 (e.g., via interaction with HSS/AAA server 260).
  • MME-memory 245 may include one or more network devices, or other types of computation or communication devices that gather, process, store and/or provide information described therein. MME-memory 245 may, for example, create a session to allow MME 240 to connect to user device 210 via base station 220. MME-memory 245 may, for example, also store session information associated with a session between user device 210 and MME 240 via base station 220. For example, the session information may include various information regarding the session, such as identification information related to user device 210, such as a temporary identity given to user device 210; and/or authentication information for user device 210 obtained from HSS/AAA server 260.
  • PGW 250 may include one or more network devices that gather, process, search, store, and/or provide information in a manner described herein. PGW 250 may include one or more data processing and/or traffic transfer devices, such as a gateway, a router, a modem, a switch, a firewall, a NIC, a hub, a bridge, a proxy server, an OADM, or some other type of device that processes and/or transfers traffic. PGW 250 may, for example, provide connectivity of user device 210 to external packet data networks by being a traffic exit/entry point for user device 210. PGW 250 may perform policy enforcement, packet filtering, charging support, lawful intercept, and/or packet screening. PGW 250 may also act as an anchor for mobility between 3GPP and non-3GPP technologies.
  • PGW-memory 255 may include one or more network devices, or other types of computation or communication devices that gather, process, store and/or provide information described therein. PGW-memory 255 may, for example, create a session to allow PGW 250 to connect to the user device 210 via base station 220. PGW-memory 255 may also store session information associated with a session between user device 210 and PGW 250 via base station 220. The session information may, for example, include various information regarding the session, such as identification information regarding user device 210 and/or identification information regarding SGW 230.
  • HSS/AAA server 260 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. For example, HSS/AAA server 260 may manage, update, and/or store, in a memory associated with HSS/AAA server 260, profile information associated with user device 210 that identifies applications and/or services that are permitted for and/or accessible by user device 210, bandwidth or data rate thresholds associated with the applications or services, information associated with a user of user device 210 (e.g., a username, a password, a personal identification number (PIN), etc.), rate information, minutes allowed, and/or other information. Additionally, or alternatively, HSS/AAA server 260 may include a device that performs authentication, authorization, and/or accounting (AAA) operations associated with a communication session with user device 210.
  • CSCF server 265 may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. CSCF server 265 may process and/or route calls to and from user device 210 via the EPC. For example, CSCF server 265 may process calls, received from network 280, that are destined for user device 210. In another example, CSCF server 260 may process calls, received from user device 210, that are destined for network 280.
  • Content provider 270 may include one or more server devices, or other types of computation or communication devices, that provide any type or form of content. For example, content provider 270 may provide free television broadcasts (e.g., local broadcasts, such as NBC, CBS, ABC, and/or Fox), for-pay television broadcasts (e.g., TNT, ESPN, HBO, Cinemax, CNN, etc.), and/or Internet-based content (e.g., Youtube, Vimeo, Netflix, Hulu, Veoh, etc.) streamed from web sites. Content provider 270 may produce media streams (e.g., television broadcasts). A “media stream,” as used herein, may refer to stream of content that includes video content (e.g., a video stream), audio content (e.g., an audio stream), textual content (e.g., a textual stream), and/or a combination of the aforementioned content. Additionally, or alternatively, content provider 270 may provide web pages, documents, images, advertising content, etc. Additionally, or alternatively, content provider 270 may provide applications and/or services, such as games, scripts, messaging services, etc.
  • Network 280 may include one or more wired and/or wireless networks. For example, network 280 may include a cellular network, a public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, and/or another network. Additionally, or alternatively, network 280 may include a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a fiber optic-based network (e.g., FiOS), and/or a combination of these or other types of networks.
  • While environment 200 has been described in terms of an EPS, this need not be the case. In another implementation, environment 200 may include devices associated with a system that does not include an LTE, an EPC and/or an IMS core.
  • FIG. 3 is a diagram of example components of a device 300. Device 300 may correspond to user device 210, SGW 230, SGW-memory 235, MME 240, MME-memory 245, PGW 250, PGW-memory 255, and/or content provider 270. Alternatively, or additionally, each of user device 210, SGW 230, SGW-memory 235, MME 240, MME-memory 245, PGW 250, PGW-memory 255, and/or content provider 270 may include one or more devices 300 and/or one or more components of device 300.
  • As shown in FIG. 3, device 300 may include a bus 310, a processor 320, a memory 330, an input component 340, an output component 350, and a communication interface 360. In other implementations, device 300 may contain fewer components, additional components, different components, or differently arranged components than depicted in FIG. 3. Additionally, or alternatively, one or more components of device 300 may perform one or more tasks described as being performed by one or more other components of device 300.
  • Bus 310 may include a path that permits communication among the components of device 300. Processor 320 may include one or more processors, microprocessors, or processing logic that may interpret and execute instructions. Memory 330 may include any type of dynamic storage device that may store information and instructions, for execution by processor 320, and/or any type of non-volatile storage device that may store information for use by processor 320.
  • Input component 340 may include a mechanism that permits a user to input information to device 300, such as a keyboard, a keypad, a button, a switch, etc. Output component 350 may include a mechanism that outputs information to the user, such as a display, a speaker, one or more light emitting diodes (LEDs), etc.
  • Communication interface 360 may include any transceiver-like mechanism that enables device 300 to communicate with other devices and/or systems. For example, communication interface 360 may include an Ethernet interface, an optical interface, a coaxial interface, a wireless interface, or the like.
  • In another implementation, communication interface 360 may include, for example, a transmitter that may convert baseband signals from processor 320 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, communication interface 360 may include a transceiver to perform functions of both a transmitter and a receiver of wireless communications (e.g., radio frequency, infrared, visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, waveguide, etc.), or a combination of wireless and wired communications. Communication interface 360 may connect to an antenna assembly (not shown in FIG. 3) for transmission and/or reception of the RF signals.
  • The antenna assembly may include one or more antennas to transmit and/or receive RF signals over the air. The antenna assembly may, for example, receive RF signals from communication interface 360 and transmit the RF signals over the air, and receive RF signals over the air and provide the RF signals to communication interface 360. In one implementation, for example, communication interface 360 may communicate with network 280 and/or devices connected to network 280.
  • As will be described in detail below, device 300 may perform certain operations. Device 300 may perform these operations in response to processor 320 executing software instructions (e.g., computer program(s)) contained in a computer-readable medium, such as memory 330, a secondary storage device (e.g., hard disk, CD-ROM, etc.), or other forms of RAM or ROM. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include space within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into memory 330 from another computer-readable medium or from another device. The software instructions contained in memory 330 may cause processor 320 to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
  • FIG. 4 is a call flow diagram of example operations capable of being performed by an example portion 400 of environment 200. As shown in FIG. 4, portion 400 may include user device 210, base station 220, SGW 230, SGW-memory 235-1, and SGW-memory 235-2. User device 210, base station 220, SGW 230, SGW-memory 235-1, and SGW-memory 235-2 may include components and/or perform functions described above in connection with, for example, one or more of FIGS. 1-3.
  • SGW 230 and SGW-memory 235 may be replaced with MME 240 and MME-memory 245, respectively, in the flow diagram of example operations in FIG. 4. SGW 230 and SGW-memory 235 may also, or alternatively, be replaced with PGW 250 and PGW-memory 255, respectively, in the flow diagram of example operations in FIG. 4. MME 240, MME-memory 245, PGW 250, and PGW-memory 255 may include components and/or perform functions described above in connection with, for example, one or more of FIGS. 1-3.
  • As shown in FIG. 4, user device 210 may communicate with base station 220 to provide a session request 410. For example, user device 210 may be requesting connection to network 280 (FIG. 2) to begin a session allowing user device 210 to obtain a multimedia stream from a content provider 270, described with regard to FIG. 2. Base station 220 may transmit the session request 410 to SGW 230. The session request 410 may include information identifying user device 210 and base station 220. SGW 230 may transmit the session request 410 to SGW-memory 235-1. SGW-memory 235-1 may receive session request 410. SGW-memory 235-1 may create and transmit a session request accepted message 420 to user device 210 via SGW 230 and base station 220. SGW-memory 235-1 may also forward the session request accepted message 420 to SGW-memory 235-2. SGW-memory 235-1 and/or SGW-memory 235-2 may store the session request accepted message 420.
  • User device 210 may receive the session request accepted message 420 and may transmit acknowledgement packet 430 to base station 220 in response to receiving the session request accepted message 420. Base station 220 may receive acknowledgement packet 430 and forward acknowledgement packet 430 to SGW 230. SGW 230 may forward acknowledgement packet 430 to SGW-memory 235-1. SGW-memory 235-1 may forward acknowledgement packet 430 to SGW-memory 235-2.
  • User device 210 may transmit session information 440 to base station 220. Base station 220 may receive session information 440 and forward the session information 440 to SGW 230. SGW 230 may forward session information 440 to SGW-memory 235-1. SGW-memory 235-1 may store session information 440. SGW-memory 235-1 may forward the session information to SGW-memory 235-2. SGW-memory 235-2 may store the session information. SGW-memory 235-1 and SGW-memory 235-2 may be independent devices or may be part of the same device. The session information 440 may include information regarding the session, such as information identifying, for example, base station 220 and information regarding the active status of user device 210.
  • FIG. 5 is a flow chart of an example process 500 for establishing and maintaining a session. In one implementation, process 500 may be performed by a network device, such as SGW 230, SGW-memory 235, MME 240, MME-memory 245, PGW 250, and/or PGW-memory 255.
  • Process 500 may include receiving a session request (block 510). For example, assume that a user, of user device 210, wants to obtain multimedia streaming content. Accordingly, user device 210 may generate a session request and may send the session request to a network device. The network device may receive the session request from user device 210.
  • In an example implementation, the network device may correspond to SGW 230. User device 210 may communicate with SGW 230. SGW 230 may receive the session request, as session request 410 (described, with regard to FIG. 4), from user device 210.
  • Process 500 may include obtaining a session from memory (block 520). For example, the network device may forward the session request to an associated memory. The memory may process the session request and create a session by, for example, storing certain information, associated with the session, in the memory. The memory may generate and output a session request accepted message back to the network device.
  • In an example implementation where the network device corresponds to SGW 230 and the associated memory corresponds to SGW-memory 235, SGW 230 may forward the session request, received from user device 210, to SGW-memory 235 (as shown as session request 410 in FIG. 4). SGW-memory 235 may process the session request and create a session. SGW-memory 235 may generate a session request accepted message (shown as session request message 420 in FIG. 4) and send the session request accepted message to SGW 230.
  • Process 500 may also include establishing a session (block 530). For example, the network device may contact user device 210 to inform user device 210 that a session has been established. In one implementation, a session may be established when the network device provides user device 210 with a session request accept message. In another implementation, the network device may establish a session in another way.
  • In an example implementation where the network device corresponds to SGW 230 and the associated memory corresponds to SGW-memory 235, SGW 230 may send a session request accepted message (shown as session request accepted message 420 in FIG. 4) to user device 210. User device 210 may receive the session request accepted message and may send an acknowledgement packet (as shown as acknowledgement packet 440 in FIG. 4) to SGW-memory 235. In one implementation, the session may be established when the session request accepted message is sent to user device 210. In another implementation, the session may be established upon receipt of the acknowledgement packet. In yet another implementation, the session may be established prior to sending the session request accepted message or after receiving the acknowledgement packet.
  • Process 500 may also include determining that the session is lost (block 540-YES). For example, assume that the network device loses contact with the memory device. In one implementation, the network device itself may fail. In another implementation, the connection between the network device and the memory device, and/or another network device, may fail.
  • In an example implementation where the network device corresponds to SGW 230 and the associated memory corresponds to SGW-memory 235, the session may be lost when SGW 230 no longer sends a ping, or heartbeat, to SGW-memory 235. This may occur because SGW 230 fails, or the connections to/from SGW 230 fails.
  • Process 500 may also include determining that the session is not lost (block 540-NO). For example, the network device may continue to function and continue to send information to the memory device without any loss of service. In an example implementation where the network device corresponds to SGW 230 and the memory device corresponds to SGW-memory 235, SGW 230 may continue to send a ping or heartbeat communication to SGW-memory 235.
  • Process 500 may also include contacting a second network device (block 550). For example, the memory device may contact a second network device and forward session information that was between the network device and user device 210.
  • In an example implementation, the network device corresponds to SGW 230 (hereinafter SGW 230-1), the memory device corresponds to SGW-memory 235, and the second network device corresponds to a device similar to SGW 230 (hereinafter SGW 230-2). SGW-memory 235 may correspond to one memory device or may correspond to multiple memory devices. SGW-memory 235 may forward the session information, associated with the session between user device 210 and SGW 230-1, to SGW 230-2. The session information may, for example, include contexts associated with user device 210, such as parameters of an IP bearer service, network internal routing information; whether the user device 210 is active; and/or identification information of base station 220 that is connected to SGW 230-1.
  • Process 500 may also include connecting to the second network device (block 560). For example, the second network device may contact user device 210 and inform user device 210 that the second network device has taken over the functions of the network device that failed.
  • In the example implementation where the network device corresponds to SGW 230-1 and the second network device corresponds to SGW 230-2, SGW 230-2 (via base station 220) may inform user device 210 that SGW 230-2 has taken over the functions of SGW 230-1. User device 210 may, thereafter, send session information to SGW 230-2 without any interruption. As a result, there may be no disruption in service for user device 210.
  • FIGS. 6A-6D are diagrams of example processes 600 for establishing and maintaining a session. FIGS. 6A-6D show a user device 610, a base station 620, MME1 630, MME2 635, MME1-memory 640, MME2-memory 645, SGW1 650, SGW2 655, PGW1 660, PGW2 665, PGW1-memory 670, PGW2-memory 675, SGW1-memory 680, and SGW2-memory 685. In practice, there may be additional or fewer user devices, base stations, SGW devices, MME devices, PGW devices, SGW memories, MME memories, and/or PGW memories.
  • An example of user device 610 may correspond to user device 210, described with regard to FIG. 2. An example of base station 620 may correspond to base station 220, described with regard to FIG. 2. An example of SGW1 650 and SGW2 655 may correspond to SGW 230, described with regard to FIG. 2. An example of SGW1-memory 680 and SGW-memory 685 may correspond to SGW-memory 235, described with regard to FIG. 2. An example of MME1 630 and MME2 635 may correspond to MME 240, described with regard to FIG. 2. An example of MME1-memory 640 and MME2-memory 645 may correspond to MME-memory 245, described with regard to FIG. 2. An example of PGW1 660 and PGW2 665 may correspond to PGW 250, described with regard to FIG. 2. An example of PGW1-memory 670 and PGW2-memory 675 may correspond to PGW-memory 255, described with regard to FIG. 2.
  • As shown in FIG. 6A, assume that user device 610 has a session with SGW1 650 via base station 620. Assume that the session has already been created according to blocks 510, 520, and 530 as described in FIG. 5. Assume that user device 610 is sending session information, related to the session, to SGW1 650. SGW1 650 may forward the session information, related to the session with user device 610, to SGW1-memory 680. An example of session information may include information identifying user device 610, information identifying a location of user device 610, information identifying base station 620; information about the active status of user device 610; and/or context information associated with user device 610, such as parameters of an IP bearer service and/or network internal routing information.
  • SGW1-memory 680 may store the session information. SGW1-memory 680 may store information relating to the session request 410, described with regard to FIG. 4. SGW1-memory 680 may forward the session information and/or session request information to SGW2-memory 685. SGW2-memory 685 may store the session information and/or the session request information.
  • SGW1-memory 680 and SGW2-memory 685 may be separate devices or may be part of the same device. A benefit of SGW1-memory 680 and SGW2-memory 685 being separate devices, is that there is added redundancy and fault tolerance. A benefit of SGW1-memory 680 and SGW2-memory 685 being the same memory device, is that there are fewer memory devices to maintain and lower costs associated with having fewer devices.
  • As shown in FIG. 6A, user device 610 may also, or alternatively, have a session with MME1 630 via base station 620. User device 610 may send session information, related to the session, to MME1 630 via base station 620. MME1 630 may forward the session information, related to the session with user device 610, to MME1-memory 640. For example, the session information sent by MME1 630 to MME1-memory 640 may include information identifying user device 610, information identifying temporary identities given to user device 610, and/or information identifying authentication of user device 610. MME1-memory 640 may store this session information and may store session request information related to session request 410 as shown in FIG. 4. MME1-memory 640 may forward this session information and/or session request information to MME2-memory 645. MME2-memory 645 may store this session information and/or the session request information.
  • MME1-memory 640 and MME2-memory 645 may be separate devices and/or may be the same device. A benefit of MME1-memory 640 and MME2-memory 645 being separate devices, is that there is added redundancy and fault tolerance. A benefit of MME1-memory 640 and MME2-memory 645 being the same memory device, is that there are fewer memory devices to maintain and lower costs associated with having fewer devices.
  • As shown in FIG. 6A, user device 610 may also, or alternatively, have a session with PGW1 660 via base station 620 and SGW1 650. User device 610 may send session information, related to the session, to PGW1 660 via base station 620 and SGW1 650. PGW1 660 may forward the session information related to the session with user device 610 to PGW1-memory 670. For example, this session information may include information identifying user device 610, and/or information identifying SGW1 650. PGW1-memory 670 may store this session information, and may store session request information related to session request 410, described with regard to FIG. 4. PGW1-memory 670 may forward this session information, and/or session request information to PGW2-memory 675. PGW2-memory 675 may store this session information and/or the session request information.
  • PGW1-memory 670 and PGW2-memory 675 may be separate devices and/or may be the same device. A benefit of PGW1-memory 670 and PGW2-memory 675 being separate devices, is that there is added redundancy and fault tolerance. A benefit of PGW1-memory 670 and PGW2-memory 675 being the same device, is that there are less devices to maintain and lower costs associated with having fewer devices.
  • Turning now to FIG. 6B, assume that SGW1 650 ceases to function, which results in the session between user device 610 and SGW1 650 being lost. SGW1-memory 680 may determine that SGW1 650 has ceased to function. For example, when SGW1 650 no longer sends pings or heartbeats to SGW1-memory 680, SGW1-memory 680 may determine that SGW1 650 is not functioning. SGW1 650 may no longer be sending pings or heartbeat because the device itself has failed, or a connection from SGW 650 to another device (such as SGW1-memory 680 or PGW1 660) has failed. SGW1-memory 680 may communicate to SGW-2 memory 685 that SGW1 650 is not functioning. SGW2-memory 685 may communicate with SGW2 655. SGW2 655, may receive from SGW2-memory 685, the session information related to the session that was originally between SGW1 650 and user device 610. This may allow SGW2 655 to communicate with user device 610, and inform user device 610 that SGW2 655 has taken over the session.
  • SGW2 655 may communicate with base station 620 and provides the session information related to the session between SGW1 650 and user device 610. Base station 620 may contact user device 610, informing user device 610 that the session may now be served by SGW2 655. User device 610 may then continue the session, and send session information to SGW2 655 (instead of SGW1 650) via base station 620. The session information between SGW2 655 and user device 610 may be stored in SGW2-memory 685.
  • The session information between SGW2 655 and user device 610 may be forwarded from SGW2-memory 685 to another memory device, such as SGW1-memory 680. SGW1-memory 680 may store this session information, and the information related to the session request 410, described with regard to FIG. 4.
  • Several additional operations may occur when SGW1 650 ceases to function. PGW1 660 may communicate with SGW2 655 instead of SGW1 650. SGW1 650 may communicate information to SGW2 655 by using memory devices, such as SGW1-memory 680 and/or SGW2-memory 685. SGW1-memory 680 and SGW2-memory 685 may function in an active/active mode (both SGW1-memory 680 and SGW2-memory 685 are concurrently active). At a later time, SGW2 655 may cease to function and that process 600 (as describe above) may find another SGW 230 to take over the role of SGW2 655.
  • In one implementation, the time lapse between changing from SGW1 650 to SGW2 655 may occur in less than one second. Additionally, or alternatively, the time lapse between changing from SGW1 650 to SGW2 655 may result in no disruption in service for user device 610. For example, if user device 610 is receiving streaming multimedia (from content provider 270 in FIG. 2), when a network device (such as SGW 650) fails, changing from one network device (such as from SGW 650 to SGW2 655) may result in no disruption of the streaming multimedia to user device 610.
  • Turning now to FIG. 6C, assume that MME1 630 ceases to function. MME1-memory 640 may determine that MME1 630 has ceased to function. For example, when MME1 630 no longer sends pings or heartbeats to MME1-memory 640, MME1-memory 640 may determine that MME1 630 is not functioning. MME1 630 may no longer be sending pings or heartbeat because MME1 630 has failed, or a connection from MME1 630 to another device (such as MME1-memory 640) has failed. When MME1 630 ceases to function, MME1-memory 640 may communicate to MME2-memory 645 that MME1 630 has ceased to function. MME2-memory 645 may forward the session information, between user device 610 and MME1 630, to MME2 635. This may allow MME2 635 to communicate with user device 610, and inform user device 610 that MME2 635 has taken over the session. MME2 635 may communicate with user device 610 (via base station 620) that MME2 635 has now taken over the functions of MME1 630. User device 610 may continue the session with MME2 635 (instead of MME1 630) via base station 620. The session information between MME2 635 and user device 610 may be stored in MME2-memory 645.
  • The session information between MME2 635 and user device 610 may be forwarded from MME2-memory 645 to another memory, such as MME1-memory 640. MME1-memory 640 may store this session information, and the information related to the session request 410, described with regard to FIG. 4.
  • Several additional operations may occur when MME1 630 ceases to function. MME1 630 may communicate information to MME2 635 by using memory devices, such as MME1-memory 640 and/or MME2-memory 645. MME1-memory 640 and MME2-memory 645 may function in an active/active mode (both MME1-memory 640 and MME2-memory 645 are concurrently active). At a later time, MME2 635 may cease to function and that process 600 (as describe above) may find another MME 240 to take over the role of MME2 635.
  • In one implementation, the time lapse between changing from MME1 630 to MME2 635 may occur in less than one second. Additionally, or alternatively, the time lapse between changing from MME1 630 to MME2 635 may result in no disruption in service for user device 610. For example, if user device 610 is receiving streaming multimedia (from content provider 270 in FIG. 2), when a network device (such as MME1 630) fails, changing from one network device (such as from MME1 630 to MME2 635) may result in no disruption of the streaming multimedia to user device 610.
  • Turning now to FIG. 6D, Assume that PGW1 660 ceases to function. As a result, PGW1-memory 670 may determine that PGW1 660 has ceased to function. For example, when PGW1 660 no longer sends pings or heartbeats to PGW1-memory 670, PGW1-memory 670 may determine that PGW1 660 is not functioning. PGW1 660 may no longer be sending pings or heartbeat because PGW1 660 has failed, or a connection from PGW1 660 to another device (such as SGW1 650 or PGW1-memory 670) has failed. When PGW1 660 ceases to function, PGW1-memory 670 may communicate to PGW2-memory 675 that PGW1 660 has ceased to function. PGW2-memory 675 may forward the session information, between user device 610 and PGW1 660, to PGW2 665. This may allow PGW2 665 to communicate with user device 610, and inform user device 610 that PGW2 655 has taken over the session.
  • PGW2 665 may communicate with user device 610 (via base station 620 and SGW1 650) that PGW2 665 has taken over the functions of PGW1 660. User device 610 may continue the session with PGW2 655 (instead of PGW1 660) via base station 620. The session information between PGW2 655 and user device 610 may be stored in PGW2-memory 675.
  • The session information between PGW2 665 and user device 610 may be forwarded from PGW2-memory 675 to another memory device, such as PGW1-memory 670. PGW1-memory 670 may store this session information, and the information related to the session request 410, described with regard to FIG. 4.
  • Several additional operations may occur when PGW1 660 ceases to function. SGW1 650 may communicate with PGW2 655, instead of PGW1 660. PGW1 660 may communicate information to PGW2 665 by using memory devices, such as PGW1-memory 670 and/or PGW2-memory 675. PGW1-memory 670 and PGW2-memory 675 may function in an active/active mode (both PGW1-memory 670 and PGW2-memory 675 are concurrently active). At a later time, PGW2 665 may cease to function and that process 600 (as described above) may find another PGW 250 to take over the role of PGW2 665.
  • In one implementation, the time lapse between changing from PGW1 660 to PGW2 665 may occur in less than one second. Additionally, or alternatively, the time lapse between changing from PGW1 660 to PGW2 665 may result in no disruption in service for user device 610. For example, if user device 610 is receiving streaming multimedia (from content provider 270 in FIG. 2), when a network device (such as PGW 660) fails, changing from one network device (such as from PGW 660 to PGW2 665) may result in no disruption of the streaming multimedia to user device 610.
  • Process 600 shown in FIGS. 6B-6D may have one, some, or all of the network devices, such as MME1 630, MME2 635, MME1-memory 640, MME2-memory 645, SGW1 650, SGW2 655, PGW1 660, PGW2 665, PGW1-memory 670, PGW2-memory 675, SGW1-memory 680, and/or SGW2-memory 685, or similar devices, failing at any time including at the same time. If one, some, or all of MME1 630, MME2 635, MME1-memory 640, MME2-memory 645, SGW1 650, SGW2 655, PGW1 660, PGW2 665, PGW1-memory 670, PGW2-memory 675, SGW1-memory 680, and/or SGW2-memory 685 or similar devices fail, then each device may have its function taken over by one, some, or all of similar network devices. Also, there may be multiple user devices 610 and/or base stations 620.
  • The foregoing description of implementations provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
  • It will be apparent that example aspects, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these aspects should not be construed as limiting. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware could be designed to implement the aspects based on the description herein.
  • Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the possible implementations includes each dependent claim in combination with every other claim in the claim set.
  • No element, act, or instruction used in the present application should be construed as critical or essential unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
  • In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.

Claims (25)

What is claimed is:
1. A method comprising:
establishing a session between a first network device and a user device;
receiving, by a first memory device, session information associated with the session from the first network device;
determining, by the first memory device, that the first network device is not functioning;
forwarding, by the first memory device, the session information, associated with the session, to a second network device after determining that the first network device is not functioning;
receiving, by the second network device, the session information, associated with the session between the first network device and the user device; and
informing the user device, by the second network device, that the second network device has taken over the session from the first network device.
2. The method of claim 1, further comprising:
forwarding, by the first memory device, the session information to a second memory device, the first and second memory devices being separate memory devices.
3. The method of claim 2, further comprising:
forwarding, by the second memory device, the session information to a third network device when the second network device fails.
4. The method of claim 1, where forwarding the session information to the second network device includes:
forwarding the session information to a second memory device; and
forwarding the session information from the second memory device to the second network device.
5. The method of claim 1, further comprising:
switching the session from the first network device to the second network device, within one second of the first network device no longer functioning.
6. The method of claim 1, further comprising:
switching from the first network device to the second network device, when the first network device is no longer functioning, in a manner that results in no interruption of service for the user device.
7. A system comprising:
a first network device to:
output session information associated with a session between the first network device and a user device;
a first memory device to:
receive the session information associated with the session between the first network device and the user device, and
output the session information associated with the session; and
a second memory device to:
receive the session information, associated with the session, from the first memory device,
receive a communication from the first memory device that the first network device is not functioning, after receiving the session information from the first memory device, and
send the session information to a second network device, after receiving the communication from the first memory device that the first network device is not functioning, the second network device taking over the session from the first network device.
8. The system of claim 7, where the second network device is to contact the user device that the second network device has taken over the session from the first network device, based on the second memory device sending the session information to the second network device.
9. The system of claim 7, where the second network device is to take over the session, with the user device, from the first network device without any interruption in service for the user device.
10. The system of claim 7, where the first memory device and the second memory device are a same memory device.
11. The system of claim 7, where the first memory device and the second memory device are separate memory devices.
12. The system of claim 7, where the first and second network devices include: serving gateways, packet data network gateways, or mobility managed entity devices.
13. The system of claim 7, where the second memory device is to forward additional session information, related to the session between the second network device and the user device, to a third network device when the second network device stops functioning.
14. A system comprising:
a first memory device to:
receive session information associated with a session between a first network device and a user device, and
output the session information associated with the session; and
a second memory device to:
receive the session information, associated with the session, from the first memory device,
receive a communication from the first memory device that the first network device is not functioning, and
send session information to a second network device, based on receiving the communication from the first memory device that the first network device is not functioning, the second network device taking over the session from the first network device.
15. The system of claim 14, where the second network device is to contact the user device that the second network device has taken over the session from the first network device.
16. The system of claim 14, where the second network device is to take over the session with the user device without any interruption in service for the user device.
17. The system of claim 14, where the first memory device and the second memory device are a same memory device.
18. The system of claim 14, where the first memory device and the second memory device are separate memory devices.
19. The system of claim 14, where the second memory device is to forward additional session information, related to the session between the second network device and the user device, to a third network device when the second network device stops functioning.
20. The system of claim 14, where the second network device is to take over the session, with the user device, from the first network device within one second of the first network device not functioning.
21. A method comprising:
receiving, by a device, session information associated with a session between a first network device and a user device;
determining, by the device, that the first network device is not functioning;
sending, by the device, the session information to a second network device, based on determining that the first network device is not functioning, the second network device taking over the session from the first network device.
22. The method of claim 21, further comprising:
forwarding, by the device, the session information to a second device, the first and second devices being separate devices.
23. The method of claim 21, further comprising:
forwarding, by the device, the session information to a third network device when the second network device fails.
24. The method of claim 21, where sending, by the device, the session information to the second network device includes:
forwarding the session information to a second device; and
forwarding the session information from the second device to the second network device.
25. The method of claim 21, further comprising:
switching, from the first network device to the second network device, when the first network device is no longer functioning, in a manner that results in no interruption of service for the user device.
US13/466,240 2012-05-08 2012-05-08 Recovering information based on device functionality Active 2033-02-16 US8914664B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/466,240 US8914664B2 (en) 2012-05-08 2012-05-08 Recovering information based on device functionality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/466,240 US8914664B2 (en) 2012-05-08 2012-05-08 Recovering information based on device functionality

Publications (2)

Publication Number Publication Date
US20130305082A1 true US20130305082A1 (en) 2013-11-14
US8914664B2 US8914664B2 (en) 2014-12-16

Family

ID=49549597

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/466,240 Active 2033-02-16 US8914664B2 (en) 2012-05-08 2012-05-08 Recovering information based on device functionality

Country Status (1)

Country Link
US (1) US8914664B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166599A (en) * 2014-07-10 2014-11-26 汉柏科技有限公司 Method for recovering delivery configuration by restarting ARM device
US20160157274A1 (en) * 2013-07-11 2016-06-02 Nec Corporation Communication system, serving gateway, communication method therefor, and base station
US10394639B2 (en) * 2016-09-26 2019-08-27 Microsoft Technology Licensing, Llc Detecting and surfacing user interactions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080013447A1 (en) * 2006-07-14 2008-01-17 Lauber Pamela J Method and Apparatus for Survivable Failover in Communication System
US20080232247A1 (en) * 2007-03-19 2008-09-25 Cisco Technology, Inc. Network traffic demotion
US7518987B2 (en) * 2005-07-25 2009-04-14 Cisco Technology, Inc. Mechanisms for providing connectivity in NAT redundant/fail-over scenarios in unshared address-space
US20110149951A1 (en) * 2009-12-22 2011-06-23 At&T Intellectual Property I, L.P. Method and apparatus for managing communication faults
US20120327763A1 (en) * 2009-02-20 2012-12-27 Juniper Networks, Inc. Preventing upper layer renegotiations by making ppp aware of layer one switchovers
US20130229922A1 (en) * 2012-03-02 2013-09-05 Futurewei Technologies, Inc. DS-Lite with BFD Support
US20130272109A1 (en) * 2009-06-30 2013-10-17 At&T Intellectual Property I, Lp Method and apparatus for managing communication services for user endpoint devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7518987B2 (en) * 2005-07-25 2009-04-14 Cisco Technology, Inc. Mechanisms for providing connectivity in NAT redundant/fail-over scenarios in unshared address-space
US20080013447A1 (en) * 2006-07-14 2008-01-17 Lauber Pamela J Method and Apparatus for Survivable Failover in Communication System
US20080232247A1 (en) * 2007-03-19 2008-09-25 Cisco Technology, Inc. Network traffic demotion
US20120327763A1 (en) * 2009-02-20 2012-12-27 Juniper Networks, Inc. Preventing upper layer renegotiations by making ppp aware of layer one switchovers
US20130272109A1 (en) * 2009-06-30 2013-10-17 At&T Intellectual Property I, Lp Method and apparatus for managing communication services for user endpoint devices
US20110149951A1 (en) * 2009-12-22 2011-06-23 At&T Intellectual Property I, L.P. Method and apparatus for managing communication faults
US20130229922A1 (en) * 2012-03-02 2013-09-05 Futurewei Technologies, Inc. DS-Lite with BFD Support

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160157274A1 (en) * 2013-07-11 2016-06-02 Nec Corporation Communication system, serving gateway, communication method therefor, and base station
US10149331B2 (en) * 2013-07-11 2018-12-04 Nec Corporation Communication system, serving gateway, communication method therefor, and base station
US10743355B2 (en) 2013-07-11 2020-08-11 Nec Corporation Communication system and base station
CN104166599A (en) * 2014-07-10 2014-11-26 汉柏科技有限公司 Method for recovering delivery configuration by restarting ARM device
US10394639B2 (en) * 2016-09-26 2019-08-27 Microsoft Technology Licensing, Llc Detecting and surfacing user interactions

Also Published As

Publication number Publication date
US8914664B2 (en) 2014-12-16

Similar Documents

Publication Publication Date Title
US11956332B2 (en) Edge aware distributed network
US11937131B2 (en) Resume request followed by release and redirect
EP3926930B1 (en) Network service exposure for service and session continuity
US10009936B2 (en) System level procedures and methods to enable data sharing in cellular network
EP3479623B1 (en) Methods for supporting session continuity on per-session basis
KR101521954B1 (en) Communication method and system, access network device, and application server
EP3659359A1 (en) Network data analytics in a communications network
US20210258869A1 (en) Server in internet-of-things communication path
US20160127967A1 (en) Service offloading method and base station
US20200120551A1 (en) Triggering selective fallback based on user subscription information
US20230179640A1 (en) Synchronization for Multiple Data Flows
US20220303935A1 (en) Amf re-allocation solution with network slice isolation
US8914664B2 (en) Recovering information based on device functionality
US20230189172A1 (en) Handover for Synchronization of Data Flows
US9742814B2 (en) Selective call blocking and call re-direction
CN112740824B (en) Recovery requests are subsequently released and redirected
US20240137855A1 (en) Enhancements for edge network access for a ue

Legal Events

Date Code Title Description
AS Assignment

Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DRAZNIN, SAGIV;KOTECHA, LALIT R.;REEL/FRAME:028171/0879

Effective date: 20120507

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8