US9271261B1 - Wireless geographic routing protocol - Google Patents

Wireless geographic routing protocol Download PDF

Info

Publication number
US9271261B1
US9271261B1 US12/900,795 US90079510A US9271261B1 US 9271261 B1 US9271261 B1 US 9271261B1 US 90079510 A US90079510 A US 90079510A US 9271261 B1 US9271261 B1 US 9271261B1
Authority
US
United States
Prior art keywords
packet
wireless communication
communication device
address
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/900,795
Inventor
Brian D. Mauer
Pallavur Sankaranaraynan
Matthew C. Schlesener
Lyle Walter Paczkowski
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.)
T Mobile Innovations LLC
Original Assignee
Sprint Communications Co LP
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 Sprint Communications Co LP filed Critical Sprint Communications Co LP
Priority to US12/900,795 priority Critical patent/US9271261B1/en
Assigned to SPRINT COMMUNICATIONS COMPANY L.P. reassignment SPRINT COMMUNICATIONS COMPANY L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MAUER, BRIAN D., PACZKOWSKI, LYLE WALTER, SANKARANARAYNAN, PALLAVUR, SCHLESENER, MATTHEW C.
Application granted granted Critical
Publication of US9271261B1 publication Critical patent/US9271261B1/en
Assigned to DEUTSCHE BANK TRUST COMPANY AMERICAS reassignment DEUTSCHE BANK TRUST COMPANY AMERICAS GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Assignors: SPRINT COMMUNICATIONS COMPANY L.P.
Assigned to DEUTSCHE BANK TRUST COMPANY AMERICAS reassignment DEUTSCHE BANK TRUST COMPANY AMERICAS SECURITY AGREEMENT Assignors: ASSURANCE WIRELESS USA, L.P., BOOST WORLDWIDE, LLC, CLEARWIRE COMMUNICATIONS LLC, CLEARWIRE IP HOLDINGS LLC, CLEARWIRE LEGACY LLC, ISBV LLC, Layer3 TV, Inc., PushSpring, Inc., SPRINT COMMUNICATIONS COMPANY L.P., SPRINT INTERNATIONAL INCORPORATED, SPRINT SPECTRUM L.P., T-MOBILE CENTRAL LLC, T-MOBILE USA, INC.
Assigned to SPRINT COMMUNICATIONS COMPANY L.P. reassignment SPRINT COMMUNICATIONS COMPANY L.P. TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Assignors: DEUTSCHE BANK TRUST COMPANY AMERICAS
Assigned to T-MOBILE INNOVATIONS LLC reassignment T-MOBILE INNOVATIONS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SPRINT COMMUNICATIONS COMPANY L.P.
Assigned to ASSURANCE WIRELESS USA, L.P., IBSV LLC, SPRINT COMMUNICATIONS COMPANY L.P., LAYER3 TV, LLC, CLEARWIRE IP HOLDINGS LLC, PUSHSPRING, LLC, BOOST WORLDWIDE, LLC, T-MOBILE USA, INC., SPRINT SPECTRUM LLC, CLEARWIRE COMMUNICATIONS LLC, T-MOBILE CENTRAL LLC, SPRINTCOM LLC, SPRINT INTERNATIONAL INCORPORATED reassignment ASSURANCE WIRELESS USA, L.P. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: DEUTSCHE BANK TRUST COMPANY AMERICAS
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Definitions

  • Wireless communications have become increasingly prominent for sending and receiving information.
  • individuals may utilize a wireless communication device for voice communications, research, entertainment, or for conducting critical business transactions.
  • wireless communications have increased, so have the number of wireless access modes used to support these communications.
  • many modern wireless communication devices are capable of communicating over both third generation (3G) and fourth generation (4G) wireless networks, often referred to as “dual-mode” devices.
  • a wireless communication device may also communicate using other wireless protocols, such as Wi-Fi or Bluetooth.
  • a user In order to utilize a wireless communication device, a user typically operates the device to register with a communication network operated by a wireless communication service provider. Upon successful registration, a communication session is established in a particular wireless protocol. During the communication session, the user may send and receive data via the access network of the communication service provider. However, if a dual-mode wireless communication device transitions between access media, a new communication session is typically established. For example, when a wireless communication device transitions to a different access mode by switching from a 3G network to a 4G network, the 3G communication session would typically be torn down and a new communication session for the 4G network would be established.
  • a method of operating a communication system comprises, in a wireless communication device, acquiring a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device, and transmitting the packet address, a device identifier, and a location of the wireless communication device for delivery to a database in the communication network.
  • the method further comprises, in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, querying the database with the packet address to determine the device identifier and the location of the wireless communication device, processing the location to select a plurality of output ports of the packet router, and broadcasting the data packet over the plurality of output ports.
  • a communication system comprises a wireless communication device and packet router.
  • the wireless communication device is configured to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device, and transmit the packet address, a device identifier, and a location of the wireless communication device for delivery to a database in the communication network.
  • the packet router is configured to receive a data packet with a destination address of the packet address assigned to the wireless communication device, query the database with the packet address to determine the device identifier and the location of the wireless communication device, process the location to select a plurality of output ports of the packet router, and broadcast the data packet over the plurality of output ports.
  • a method of operating a communication system comprises, in a wireless communication device, transmitting a packet address, a media access control address, and a location of the wireless communication device for delivery to a database in a communication network.
  • the method further comprises, in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, querying the database with the packet address to determine the media access control address and the location of the wireless communication device, processing the location to select a plurality of output ports of the packet router, wherein each output port of the plurality of output ports communicates using a different wireless protocol of a plurality of wireless protocols, and broadcasting the data packet over the plurality of output ports.
  • the method further comprises, in the wireless communication device, identifying the media access control address in the data packet, and receiving the data packet based on the media access control address.
  • FIG. 1 is a block diagram that illustrates a communication system.
  • FIG. 2 is a flow diagram that illustrates an operation of the communication system.
  • FIG. 3 is a block diagram that illustrates a communication system in an exemplary embodiment.
  • FIG. 4 illustrates tables in a wireless device information database and a router port database in an exemplary embodiment.
  • FIG. 5 is a sequence diagram that illustrates an operation of the communication system in an exemplary embodiment.
  • FIG. 6 is a block diagram that illustrates a packet router.
  • FIG. 7 is a block diagram that illustrates a wireless communication device.
  • FIG. 1 is a block diagram that illustrates communication system 100 .
  • Communication system 100 includes wireless communication device 101 , wireless access node 110 , communication network 120 , packet router 130 , and database 140 .
  • Wireless communication device 101 and wireless access node 110 are in communication over wireless communication link 111 .
  • Wireless access node 110 and communication network 120 communicate over communication link 121 .
  • Communication network 120 and packet router 130 are in communication over communication link 131 , while database 140 and communication network 130 communicate over communication link 141 .
  • FIG. 2 is a flow diagram that illustrates an operation of communication system 100 . The steps of the operation are indicated below parenthetically.
  • wireless communication device 101 acquires a packet address from communication network 120 ( 201 ).
  • Communication network 120 assigns the packet address to wireless communication device 101 ( 201 ).
  • the packet address assignment to wireless communication device 101 could be static or dynamic, and wireless communication device 101 may acquire the packet address only once, such as during initial provisioning.
  • Wireless communication device 101 transmits the packet address, a device identifier, and a location of wireless communication device 101 for delivery to database 140 in communication network 120 ( 202 ).
  • the device identifier could comprise any identifier associated with wireless communication device 101 and/or its user.
  • the device identifier could comprise a Media Access Control (MAC) address, Mobile Station International Subscriber Directory Number (MSISDN) or some other telephone number, Electronic Serial Number (ESN), Mobile Station Identifier (MSID), Mobile Equipment Identifier (MEID), International Mobile Equipment Identity (IMEI), International Mobile Subscriber Identity (IMSI), Media Access Control Identifier (MACID), User Identifier (UID), or some other identifier that uniquely identifies wireless communication device 101 and/or a user of device 101 —including combinations thereof.
  • MAC Media Access Control
  • MSISDN Mobile Station International Subscriber Directory Number
  • ESN Electronic Serial Number
  • MSID Mobile Station Identifier
  • MEID Mobile Equipment Identifier
  • IMEI International Mobile Equipment Identity
  • IMSI International Mobile Subscribe
  • the location of wireless communication device 101 could comprise any level of specificity, from precise coordinates to a larger geographic area.
  • the location of wireless communication device 101 could be identified by global positioning system (GPS) coordinates or other GPS data, latitude/longitude, a sector of wireless access node 110 serving device 101 , or any other technique that determines a location of wireless communication device 101 .
  • GPS global positioning system
  • the location is identified by a GPS range.
  • packet router 130 receives a data packet with a destination address of the packet address assigned to wireless communication device 101 ( 203 ).
  • the data packet received by packet router 130 could comprise any datagram or other message intended for delivery to wireless communication device 101 .
  • packet router 130 queries database 140 with the packet address to determine the device identifier and the location of wireless communication device 101 ( 204 ). Since database 140 relates the packet address to the device identifier and the location of wireless communication device 101 as provided by device 101 in operation 202 , packet router 130 receives the device identifier and the location of wireless communication device 101 in response to the query.
  • Packet router 130 processes the location of wireless communication device 101 to select a plurality of output ports of the packet router 130 ( 205 ). Thus, packet router 130 typically selects the output ports based on the location of wireless communication device 101 . In some examples, each output port of the plurality of output ports on packet router 130 communicates using a different wireless protocol of a plurality of wireless protocols. In this case, packet router 130 could select output ports associated with the wireless protocols that have coverage in the location of wireless communication device 101 . In other examples, packet router 130 may select the output ports based on wireless protocols of which wireless communication device 101 is capable of communicating. For example, packet router 130 could process the device identifier of wireless communication device 101 to determine the wireless capabilities of device 101 , and select output ports that are associated with the wireless capabilities of wireless communication device 101 .
  • Packet router 130 typically serves an area including the location of wireless communication device 101 , so that the output ports selected by packet router 130 are within range of device 101 .
  • wireless communication device 101 may be traveling away from the location at some velocity.
  • packet router 130 could determine the velocity of wireless communication device 101 based on a series of location updates associated with device 101 and timestamps corresponding to the location updates. Packet router 130 could then process the location to select the output ports of packet router 130 by determining if the velocity of wireless communication device 101 exceeds a threshold. For example, if the velocity of wireless communication device 101 exceeds ten miles per hour, packet router 130 would typically select a larger number of output ports to increase the likelihood that wireless communication device 101 will receive the packet.
  • packet router 130 broadcasts the data packet over the plurality of output ports ( 206 ).
  • Packet router 130 typically broadcasts the data packet by wirelessly propagating the data packet over the plurality of output ports.
  • the data packet is broadcast over the plurality of output ports in a plurality of wireless protocols.
  • packet router 130 could broadcast the data packet using the plurality of output ports of the packet router if the packet router serves an area including the location and if the velocity of the wireless communication device exceeds the threshold.
  • packet router 130 processes the location of wireless communication device 101 to select a plurality of output ports on which to broadcast a data packet to wireless communication device 101 .
  • wireless communication device 101 may monitor for data packets that are broadcast by packet router 130 .
  • wireless communication device 101 could identify its MAC address in the data packet, and receive the data packet based on the MAC address. Since packet router 130 may broadcast data packets intended for wireless communication device 101 in a plurality of different wireless protocols, communication sessions between device 101 and communication network 120 may be maintained, even while transitioning across different access media that support the different wireless protocols.
  • wireless communication device 101 comprises any device having wireless communication connectivity with hardware and circuitry programmed to function as a telecommunications device, such as Radio Frequency (RF) communication circuitry and an antenna.
  • the RF communication circuitry typically includes an amplifier, filter, modulator, and signal processing circuitry.
  • Wireless communication device 101 may also include a user interface, memory device, software, processing circuitry, or some other communication components.
  • wireless communication device 101 could comprise a telephone, transceiver, mobile phone, cellular phone, smartphone, computer, personal digital assistant (PDA), e-book, game console, mobile Internet device, wireless network interface card, media player, or some other wireless communication apparatus—including combinations thereof.
  • PDA personal digital assistant
  • Wireless network protocols that may be utilized by wireless communication device 101 include Code Division Multiple Access (CDMA) 1xRTT, Global System for Mobile communications (GSM), Universal Mobile Telecommunications System (UMTS), High-Speed Packet Access (HSPA), Evolution-Data Optimized (EV-DO), EV-DO rev. A, Third Generation Partnership Project Long Term Evolution (3GPP LTE), Worldwide Interoperability for Microwave Access (WiMAX), IEEE 802.11 protocols (Wi-Fi), Bluetooth, Internet, telephony, or any other wireless network protocol that facilitates communication between wireless communication device 101 and wireless access node 110 .
  • CDMA Code Division Multiple Access
  • GSM Global System for Mobile communications
  • UMTS Universal Mobile Telecommunications System
  • HSPA High-Speed Packet Access
  • EV-DO Evolution-Data Optimized
  • EV-DO rev. A Third Generation Partnership Project Long Term Evolution
  • 3GPP LTE Third Generation Partnership Project Long Term Evolution
  • WiMAX Worldwide Interoperability for Microwave Access
  • Wi-Fi IEEE 802.11 protocols
  • Wireless access node 110 comprises RF communication circuitry and an antenna.
  • the RF communication circuitry typically includes an amplifier, filter, RF modulator, and signal processing circuitry.
  • Wireless access node 110 may also comprise a router, server, memory device, software, processing circuitry, cabling, power supply, network communication interface, structural support, or some other communication apparatus.
  • Wireless access node 110 could comprise a base station, Internet access node, telephony service node, wireless data access point, or some other wireless communication system—including combinations thereof.
  • Some examples of wireless access node 110 include a base transceiver station (BTS), base station controller (BSC), radio base station (RBS), Node B, enhanced Node B (eNode B), and others.
  • Wireless network protocols that may be utilized by wireless access node 110 include CDMA, GSM, UMTS, HSPA, EV-DO, EV-DO rev. A, 3GPP LTE, WiMAX, Wi-Fi, Bluetooth, Internet, telephony, or some other communication format—including combinations thereof.
  • Communication network 120 comprises the core network of a wireless communication provider, and could include routers, gateways, telecommunication switches, servers, processing systems, or other communication equipment and systems for providing communication and data services.
  • Communication network 120 could comprise wireless communication nodes, telephony switches, Internet routers, network gateways, computer systems, communication links, or some other type of communication equipment—including combinations thereof.
  • Communication network 120 may also comprise optical networks, asynchronous transfer mode (ATM) networks, packet networks, radio access networks (RAN), local area networks (LAN), metropolitan area networks (MAN), wide area networks (WAN), or other network topologies, equipment, or systems—including combinations thereof.
  • Communication network 120 may be configured to communicate over metallic, wireless, or optical links.
  • Communication network 120 may be configured to use time-division multiplexing (TDM), Internet Protocol (IP), Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof.
  • TDM time-division multiplexing
  • IP Internet Protocol
  • Ethernet optical networking
  • wireless protocols communication signaling
  • communication network 120 includes further access nodes and associated equipment for providing communication services to many wireless communication devices across a large geographic region.
  • Packet router 130 comprises a processing system and communication transceiver. Packet router 130 may also include other components such as a router, server, data storage system, and power supply. Packet router 130 may reside in a single device or may be distributed across multiple devices. Packet router 130 may be a discrete system or may be integrated within other systems—including other systems within communication system 100 . In some examples, packet router 130 could comprise a mobile switching center, router, switching system, packet gateway, network gateway system, Internet access node, application server, service node, firewall, or some other communication system—including combinations thereof.
  • Database 140 comprises a processing system and communication transceiver.
  • Database 140 may also include other components such as a router, server, data storage system, and power supply.
  • Database 140 may reside in a single device or may be distributed across multiple devices.
  • Database 140 may be a discrete system or may be integrated within other systems—including other systems within communication system 100 .
  • database 140 could comprise a network database system, network-attached storage, storage area network, home location register, visitor location register, packet gateway, mobile switching center, network gateway system, Internet access node, application server, service node, firewall, or some other communication system—including combinations thereof.
  • Wireless communication link 111 uses the air or space as the transport medium.
  • Wireless communication link 111 may use various protocols, such as CDMA, GSM, UMTS, HSPA, EV-DO, EV-DO rev. A, 3GPP LTE, WiMAX, Wi-Fi, Bluetooth, Internet, telephony, or some other communication format—including combinations thereof.
  • Wireless communication link 111 may comprise many different signals sharing the same link.
  • wireless communication link 111 could include multiple signals operating in a single propagation path comprising multiple communication sessions, frequencies, timeslots, transportation ports, logical transportation links, network sockets, IP sockets, packets, or communication directions—including combinations thereof.
  • Communication links 121 , 131 , and 141 use metal, air, space, optical fiber such as glass or plastic, or some other material as the transport media—including combinations thereof.
  • Communication links 121 , 131 , and 141 could use various communication protocols, such as TDM, IP, Ethernet, telephony, optical networking, hybrid fiber coax (HFC), communication signaling, wireless protocols, or some other communication format—including combinations thereof.
  • Communication links 121 , 131 , and 141 may be direct links or could include intermediate networks, systems, or devices.
  • FIG. 3 is a block diagram that illustrates communication system 300 .
  • Communication system 300 includes wireless communication device 301 , wireless access node 310 , communication network 320 , packet router 330 , wireless device information database 340 , and router port database 350 .
  • Wireless communication device 301 and wireless access node 310 are in communication over wireless communication link 311 .
  • Wireless access node 310 and communication network 320 communicate over communication link 321 .
  • Communication network 320 and wireless device information database 340 are in communication over communication link 341
  • packet router 330 and communication network 320 communicate over communication link 331 .
  • Packet router 330 and router port database 350 are in communication over communication link 351 .
  • Packet router 330 comprises ports A, B, and C, over which packet router 330 may wirelessly transmit data packets.
  • ports A, B, and C of packet router 330 each communicate using a different wireless protocol.
  • wireless device information database 340 and router port database 350 are shown on FIG. 3 as separate databases, the information in each database 340 and 350 could all be related in a single database or some other storage system in some examples.
  • router port database 350 is shown external to packet router 330 , database 350 could be stored in an internal storage system of packet router 330 in some examples.
  • FIG. 4 illustrates tables in wireless device information database 340 and router port database 350 in an exemplary embodiment.
  • the table shown in wireless device information database 340 includes columns labeled IP ADDRESS, MAC ADDRESS, and GPS. Each row in the table represents related data, such that the values in the MAC ADDRESS and GPS fields are associated with the IP ADDRESS from the corresponding row.
  • the values in wireless device information table 340 are populated by wireless communication devices, such as wireless communication device 301 , that transmit the data for delivery to wireless device information database 340 .
  • the four rows shown in wireless device information database 340 represent four different wireless communication devices at different locations, as indicated by the GPS ranges for each of the IP and MAC address pairs.
  • wireless device information database 340 is utilized by packet router 330 to assist in routing packets to the wireless communication devices identified in database 340 .
  • the table shown in router port database 350 comprises two columns labeled GPS and ROUTER PORTS.
  • the table in router port database 350 maps GPS ranges to router ports of packet router 330 .
  • the GPS field shown in router port database 350 typically corresponds to the GPS field in wireless device information database 340 , so that a GPS range received by querying wireless device information database 340 can be used to query router port database 350 to determine the appropriate router ports of packet router 330 on which to broadcast a packet.
  • GPS ranges 2, 3, and 4 are associated with multiple ports of packet router 330 : B+C, A+C, and A+B+C, respectively. It should be understood that although the tables shown in databases 340 and 350 on FIG. 4 only comprise four rows each in this example, the number of rows of information in these tables would typically be much greater.
  • FIG. 5 is a sequence diagram that illustrates an operation of communication system 300 in an exemplary embodiment.
  • wireless communication device 301 Prior to the steps shown on FIG. 5 , wireless communication device 301 has acquired an IP address from communication network 320 and has determined its current location by utilizing GPS satellites. To begin, wireless communication device 301 transmits its IP address, MAC address, and a GPS range indicating the current location of device 301 for delivery to wireless device information database 340 .
  • wireless communication device 301 has an IP address of 64.173.211.241, a MAC address of 00:1D:FE:22:B2:DF, and a GPS of “RANGE 3”, which corresponds to the third row down in the table of wireless device information database 340 as shown in FIG. 4 .
  • this information is provided by wireless communication device 301 and entered into wireless device information database 340 , as shown in FIG. 5 .
  • packet router 330 After the database 340 has been updated with the information from wireless communication device 301 , packet router 330 receives a data packet with a destination address corresponding to the IP address of device 301 . Packet router 330 therefore queries wireless device information database 340 with the destination IP address of the received packet to determine the MAC address and GPS range associated with this IP address. Wireless device information database 340 responds to the query with the MAC address and GPS range that are stored therein for wireless communication device 301 based on the IP address in the query. Once packet router 330 receives the MAC address and GPS range for wireless communication device 301 , packet router 330 queries router port database 350 with the GPS range received from wireless device information database 340 .
  • the GPS range in this case is “RANGE 3”, so when packet router 330 queries router port database 350 with this GPS range, router port database 350 returns router ports A and C to packet router 330 , as shown in the table of router port database 350 in FIG. 4 .
  • packet router 330 receives a response from router port database 350 indicating that router ports A and C correspond to the GPS “RANGE 3”
  • packet router 330 broadcasts the data packet over both ports A and C with the MAC address for wireless communication device 301 .
  • the MAC address for device 301 was previously received by packet router 330 in response to the query to wireless device information database 340 .
  • Packet router 330 broadcasts the data packet with the MAC address for wireless communication device 301 to enable device 301 to detect the packets intended for it based on its MAC address.
  • wireless communication device 301 is configured to listen for data packets having this MAC address on all wireless networks that are in communication with device 301 .
  • router port A communicates over a third generation (3G) CDMA wireless network
  • router port C communicates over a fourth generation (4G) WiMAX wireless network
  • wireless communication device 301 is a dual-mode 3G/4G device.
  • wireless communication device 301 is configured to identify data packets having its MAC address on both the 3G CDMA network and the 4G WiMAX network in this example. Note that although wireless communication device is only shown in FIG. 5 as listening for packets with its MAC address at the time packet router 330 broadcasts the packet, device 301 would typically be configured to continually listen for packets with its MAC address at all times.
  • wireless communication device 301 Although packet router 330 broadcasts the data packet simultaneously over both ports A and C, wireless communication device 301 first receives the data packet over the 4G WiMAX wireless network via port C of packet router 330 . Subsequently, wireless communication device 301 receives the same packet from packet router 330 over the 3G CDMA wireless network via port A. In this example, wireless communication device 301 is configured to determine whether any data packets received have already been received over a different access medium. Therefore, wireless communication device 301 processes the two packets and determines that the packet received over the 3G CDMA wireless network was already received by device 301 over the 4G WiMAX network. Thus, wireless communication device 301 discards the duplicate packet and presents only one copy of the packet to the network layer (layer 3 ) interface of device 301 .
  • layer 3 network layer
  • wireless communication device 301 may receive packets over a plurality of wireless access media as device 301 transitions between them.
  • the received packets are processed to ensure that any duplicate packets are discarded, and the packets are then transparently presented to the layer 3 network layer of device 301 , so that the layer 3 interface of device 301 is unaware over which wireless network or networks the packets were received.
  • packet router 330 could be configured to broadcast data packets over multiple router ports only when the packet is in the proximity of its target destination. This proximity determination could be based on comparing the location of wireless communication device 301 to threshold values. For example, if wireless communication device 301 is currently located in a geographic area served by a different router than packet router 330 , packet router 330 would simply forward packets to the router that is currently serving device 301 based on the GPS range or other location information in the wireless device information database 340 .
  • the router that is serving the area in which wireless communication device 301 is located receives the packets from packet router 330 , that router could query wireless device information database 340 to determine that the location of device 301 is within a proximity threshold, and would therefore broadcast the packets over the ports indicated in its router port database. Effectively, as packets near their destination, a packet router that is closer to the target device will tend to broadcast the packets over a greater number of ports than a router that is farther away from the destination.
  • FIG. 6 is a block diagram that illustrates packet router 600 .
  • Packet router 600 provides an example of packet routers 130 and 330 , although routers 130 and 330 may use alternative configurations.
  • Packet router 600 comprises communication transceiver 601 and processing system 603 .
  • Processing system 603 is linked to communication transceiver 601 .
  • Processing system 603 includes processing circuitry 605 and memory device 606 that stores operating software 607 .
  • Communication transceiver 601 comprises components that communicate over communication links, such as network cards, ports, RF transceivers, processing circuitry and software, or some other communication components.
  • Communication transceiver 601 may be configured to communicate over metallic, wireless, or optical links.
  • Communication transceiver 601 may be configured to use TDM, IP, Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof.
  • communication transceiver 601 could be configured to receive a data packet with a destination address of a packet address assigned to a wireless communication device, and broadcast a data packet over a plurality of output ports.
  • Processing circuitry 605 comprises microprocessor and other circuitry that retrieves and executes operating software 607 from memory device 606 .
  • Memory device 606 comprises a disk drive, flash drive, data storage circuitry, or some other memory apparatus.
  • Operating software 607 comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software 607 may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software.
  • operating software 607 When executed by circuitry 605 , operating software 607 directs processing system 603 to operate as described herein for packet router 130 .
  • operating software 607 may direct processing system 603 to direct communication transceiver 601 to receive a data packet with a destination address of a packet address assigned to a wireless communication device.
  • operating software 607 directs processing system 603 to query a database with the packet address to determine a device identifier and a location of the wireless communication device, and process the location to select a plurality of output ports of packet router 600 .
  • operating software 607 may direct processing system 603 to direct communication transceiver 601 to broadcast the data packet over the plurality of output ports.
  • operating software 607 could comprise a packet receiver software module that receives a data packet with a destination address of a packet address assigned to a wireless communication device. Additionally, operating software 607 could comprise a port selection software module that queries a database with the packet address to determine a device identifier and a location of the wireless communication device, and process the location to select a plurality of output ports of packet router 600 . Further, operating software 607 could comprise a packet broadcast software module that broadcasts a data packet over the plurality of output ports.
  • FIG. 7 is a block diagram that illustrates wireless communication device 700 .
  • Wireless communication device 700 provides an example of wireless communication devices 101 and 301 , although devices 101 and 301 could use alternative configurations.
  • Wireless communication device 700 comprises wireless communication transceiver 701 , processing system 702 , and user interface 703 .
  • Processing system 702 is linked to wireless communication transceiver 701 and user interface 703 .
  • Processing system 702 includes processing circuitry 704 and memory device 705 that stores operating software 706 .
  • Wireless communication device 700 may include other well-known components such as a battery and enclosure that are not shown for clarity.
  • Wireless communication device 700 may comprise a telephone, computer, e-book, mobile Internet appliance, media player, game console, wireless network interface card, or some other wireless communication apparatus—including combinations thereof.
  • Wireless communication transceiver 701 comprises RF communication circuitry and an antenna.
  • the RF communication circuitry typically includes an amplifier, filter, RF modulator, and signal processing circuitry.
  • Wireless communication transceiver 701 may also include a memory device, software, processing circuitry, or some other communication device.
  • Wireless communication transceiver 701 may use various protocols, such as CDMA, GSM, UMTS, HSPA, EV-DO, EV-DO rev. A, 3GPP LTE, WiMAX, Wi-Fi, Bluetooth, Internet, telephony, or some other wireless communication format.
  • Wireless communication transceiver 701 could be configured to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device 700 , and transmit the packet address, a device identifier, and a location of the wireless communication device 700 for delivery to a database in the communication network.
  • User interface 703 comprises components that interact with a user to receive user inputs and to present media and/or information.
  • User interface 703 may include a speaker, microphone, buttons, lights, display screen, touch screen, touch pad, scroll wheel, communication port, or some other user input/output apparatus—including combinations thereof.
  • User interface 703 may be omitted in some examples.
  • Processing circuitry 704 comprises microprocessor and other circuitry that retrieves and executes operating software 706 from memory device 705 .
  • Memory device 705 comprises a disk drive, flash drive, data storage circuitry, or some other memory apparatus.
  • Processing circuitry 704 is typically mounted on a circuit board that may also hold memory device 705 and portions of communication transceiver 701 and user interface 703 .
  • Operating software 706 comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software 706 may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry 704 , operating software 706 directs processing system 702 to operate wireless communication device 700 as described herein for wireless communication devices 101 and 301 .
  • operating software 706 directs processing system 702 to direct wireless communication transceiver 701 to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device 700 , and transmit the packet address, a device identifier, and a location of the wireless communication device 700 for delivery to a database in the communication network.
  • operating software 706 could comprise a database update software module that transmits a packet address, a device identifier, and a location of the wireless communication device 700 for delivery to a database in a communication network.
  • operating software 706 could direct processing system 702 identify a media access control address in a data packet, and direct wireless communication transceiver 701 to receive the data packet based on the media access control address.

Abstract

A method of operating a communication system comprises, in a wireless communication device, acquiring a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device, and transmitting the packet address, a device identifier, and a location of the wireless communication device for delivery to a database in the communication network. The method further comprises, in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, querying the database with the packet address to determine the device identifier and the location of the wireless communication device, processing the location to select a plurality of output ports of the packet router, and broadcasting the data packet over the plurality of output ports.

Description

TECHNICAL BACKGROUND
Wireless communications have become increasingly prominent for sending and receiving information. For example, individuals may utilize a wireless communication device for voice communications, research, entertainment, or for conducting critical business transactions. As wireless communications have increased, so have the number of wireless access modes used to support these communications. For example, many modern wireless communication devices are capable of communicating over both third generation (3G) and fourth generation (4G) wireless networks, often referred to as “dual-mode” devices. In addition, a wireless communication device may also communicate using other wireless protocols, such as Wi-Fi or Bluetooth.
In order to utilize a wireless communication device, a user typically operates the device to register with a communication network operated by a wireless communication service provider. Upon successful registration, a communication session is established in a particular wireless protocol. During the communication session, the user may send and receive data via the access network of the communication service provider. However, if a dual-mode wireless communication device transitions between access media, a new communication session is typically established. For example, when a wireless communication device transitions to a different access mode by switching from a 3G network to a 4G network, the 3G communication session would typically be torn down and a new communication session for the 4G network would be established.
Overview
A method of operating a communication system comprises, in a wireless communication device, acquiring a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device, and transmitting the packet address, a device identifier, and a location of the wireless communication device for delivery to a database in the communication network. The method further comprises, in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, querying the database with the packet address to determine the device identifier and the location of the wireless communication device, processing the location to select a plurality of output ports of the packet router, and broadcasting the data packet over the plurality of output ports.
A communication system comprises a wireless communication device and packet router. The wireless communication device is configured to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device, and transmit the packet address, a device identifier, and a location of the wireless communication device for delivery to a database in the communication network. The packet router is configured to receive a data packet with a destination address of the packet address assigned to the wireless communication device, query the database with the packet address to determine the device identifier and the location of the wireless communication device, process the location to select a plurality of output ports of the packet router, and broadcast the data packet over the plurality of output ports.
A method of operating a communication system comprises, in a wireless communication device, transmitting a packet address, a media access control address, and a location of the wireless communication device for delivery to a database in a communication network. The method further comprises, in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, querying the database with the packet address to determine the media access control address and the location of the wireless communication device, processing the location to select a plurality of output ports of the packet router, wherein each output port of the plurality of output ports communicates using a different wireless protocol of a plurality of wireless protocols, and broadcasting the data packet over the plurality of output ports. The method further comprises, in the wireless communication device, identifying the media access control address in the data packet, and receiving the data packet based on the media access control address.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram that illustrates a communication system.
FIG. 2 is a flow diagram that illustrates an operation of the communication system.
FIG. 3 is a block diagram that illustrates a communication system in an exemplary embodiment.
FIG. 4 illustrates tables in a wireless device information database and a router port database in an exemplary embodiment.
FIG. 5 is a sequence diagram that illustrates an operation of the communication system in an exemplary embodiment.
FIG. 6 is a block diagram that illustrates a packet router.
FIG. 7 is a block diagram that illustrates a wireless communication device.
DETAILED DESCRIPTION
The following description and associated drawings teach the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects of the best mode may be simplified or omitted. The following claims specify the scope of the invention. Some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Thus, those skilled in the art will appreciate variations from the best mode that fall within the scope of the invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific examples described below, but only by the claims and their equivalents.
FIG. 1 is a block diagram that illustrates communication system 100. Communication system 100 includes wireless communication device 101, wireless access node 110, communication network 120, packet router 130, and database 140. Wireless communication device 101 and wireless access node 110 are in communication over wireless communication link 111. Wireless access node 110 and communication network 120 communicate over communication link 121. Communication network 120 and packet router 130 are in communication over communication link 131, while database 140 and communication network 130 communicate over communication link 141.
FIG. 2 is a flow diagram that illustrates an operation of communication system 100. The steps of the operation are indicated below parenthetically.
In FIG. 2, wireless communication device 101 acquires a packet address from communication network 120 (201). Communication network 120 assigns the packet address to wireless communication device 101 (201). In some examples, the packet address assignment to wireless communication device 101 could be static or dynamic, and wireless communication device 101 may acquire the packet address only once, such as during initial provisioning.
Wireless communication device 101 transmits the packet address, a device identifier, and a location of wireless communication device 101 for delivery to database 140 in communication network 120 (202). The device identifier could comprise any identifier associated with wireless communication device 101 and/or its user. For example, the device identifier could comprise a Media Access Control (MAC) address, Mobile Station International Subscriber Directory Number (MSISDN) or some other telephone number, Electronic Serial Number (ESN), Mobile Station Identifier (MSID), Mobile Equipment Identifier (MEID), International Mobile Equipment Identity (IMEI), International Mobile Subscriber Identity (IMSI), Media Access Control Identifier (MACID), User Identifier (UID), or some other identifier that uniquely identifies wireless communication device 101 and/or a user of device 101—including combinations thereof. The location of wireless communication device 101 could comprise any level of specificity, from precise coordinates to a larger geographic area. For example, the location of wireless communication device 101 could be identified by global positioning system (GPS) coordinates or other GPS data, latitude/longitude, a sector of wireless access node 110 serving device 101, or any other technique that determines a location of wireless communication device 101. In some examples, the location is identified by a GPS range.
Once database 140 has been populated with the packet address, device identifier, and location of wireless communication device 101, packet router 130 receives a data packet with a destination address of the packet address assigned to wireless communication device 101 (203). The data packet received by packet router 130 could comprise any datagram or other message intended for delivery to wireless communication device 101. Responsive to receiving the data packet, packet router 130 queries database 140 with the packet address to determine the device identifier and the location of wireless communication device 101 (204). Since database 140 relates the packet address to the device identifier and the location of wireless communication device 101 as provided by device 101 in operation 202, packet router 130 receives the device identifier and the location of wireless communication device 101 in response to the query.
Packet router 130 processes the location of wireless communication device 101 to select a plurality of output ports of the packet router 130 (205). Thus, packet router 130 typically selects the output ports based on the location of wireless communication device 101. In some examples, each output port of the plurality of output ports on packet router 130 communicates using a different wireless protocol of a plurality of wireless protocols. In this case, packet router 130 could select output ports associated with the wireless protocols that have coverage in the location of wireless communication device 101. In other examples, packet router 130 may select the output ports based on wireless protocols of which wireless communication device 101 is capable of communicating. For example, packet router 130 could process the device identifier of wireless communication device 101 to determine the wireless capabilities of device 101, and select output ports that are associated with the wireless capabilities of wireless communication device 101.
Packet router 130 typically serves an area including the location of wireless communication device 101, so that the output ports selected by packet router 130 are within range of device 101. However, in some examples, wireless communication device 101 may be traveling away from the location at some velocity. In this case, packet router 130 could determine the velocity of wireless communication device 101 based on a series of location updates associated with device 101 and timestamps corresponding to the location updates. Packet router 130 could then process the location to select the output ports of packet router 130 by determining if the velocity of wireless communication device 101 exceeds a threshold. For example, if the velocity of wireless communication device 101 exceeds ten miles per hour, packet router 130 would typically select a larger number of output ports to increase the likelihood that wireless communication device 101 will receive the packet.
Once the output ports have been selected, packet router 130 broadcasts the data packet over the plurality of output ports (206). Packet router 130 typically broadcasts the data packet by wirelessly propagating the data packet over the plurality of output ports. In some examples, the data packet is broadcast over the plurality of output ports in a plurality of wireless protocols. In examples that consider the velocity of wireless communication device 101, packet router 130 could broadcast the data packet using the plurality of output ports of the packet router if the packet router serves an area including the location and if the velocity of the wireless communication device exceeds the threshold.
Advantageously, packet router 130 processes the location of wireless communication device 101 to select a plurality of output ports on which to broadcast a data packet to wireless communication device 101. In this manner, wireless communication device 101 may monitor for data packets that are broadcast by packet router 130. For example, wireless communication device 101 could identify its MAC address in the data packet, and receive the data packet based on the MAC address. Since packet router 130 may broadcast data packets intended for wireless communication device 101 in a plurality of different wireless protocols, communication sessions between device 101 and communication network 120 may be maintained, even while transitioning across different access media that support the different wireless protocols.
Referring back to FIG. 1, wireless communication device 101 comprises any device having wireless communication connectivity with hardware and circuitry programmed to function as a telecommunications device, such as Radio Frequency (RF) communication circuitry and an antenna. The RF communication circuitry typically includes an amplifier, filter, modulator, and signal processing circuitry. Wireless communication device 101 may also include a user interface, memory device, software, processing circuitry, or some other communication components. For example, wireless communication device 101 could comprise a telephone, transceiver, mobile phone, cellular phone, smartphone, computer, personal digital assistant (PDA), e-book, game console, mobile Internet device, wireless network interface card, media player, or some other wireless communication apparatus—including combinations thereof. Wireless network protocols that may be utilized by wireless communication device 101 include Code Division Multiple Access (CDMA) 1xRTT, Global System for Mobile communications (GSM), Universal Mobile Telecommunications System (UMTS), High-Speed Packet Access (HSPA), Evolution-Data Optimized (EV-DO), EV-DO rev. A, Third Generation Partnership Project Long Term Evolution (3GPP LTE), Worldwide Interoperability for Microwave Access (WiMAX), IEEE 802.11 protocols (Wi-Fi), Bluetooth, Internet, telephony, or any other wireless network protocol that facilitates communication between wireless communication device 101 and wireless access node 110.
Wireless access node 110 comprises RF communication circuitry and an antenna. The RF communication circuitry typically includes an amplifier, filter, RF modulator, and signal processing circuitry. Wireless access node 110 may also comprise a router, server, memory device, software, processing circuitry, cabling, power supply, network communication interface, structural support, or some other communication apparatus. Wireless access node 110 could comprise a base station, Internet access node, telephony service node, wireless data access point, or some other wireless communication system—including combinations thereof. Some examples of wireless access node 110 include a base transceiver station (BTS), base station controller (BSC), radio base station (RBS), Node B, enhanced Node B (eNode B), and others. Wireless network protocols that may be utilized by wireless access node 110 include CDMA, GSM, UMTS, HSPA, EV-DO, EV-DO rev. A, 3GPP LTE, WiMAX, Wi-Fi, Bluetooth, Internet, telephony, or some other communication format—including combinations thereof.
Communication network 120 comprises the core network of a wireless communication provider, and could include routers, gateways, telecommunication switches, servers, processing systems, or other communication equipment and systems for providing communication and data services. Communication network 120 could comprise wireless communication nodes, telephony switches, Internet routers, network gateways, computer systems, communication links, or some other type of communication equipment—including combinations thereof. Communication network 120 may also comprise optical networks, asynchronous transfer mode (ATM) networks, packet networks, radio access networks (RAN), local area networks (LAN), metropolitan area networks (MAN), wide area networks (WAN), or other network topologies, equipment, or systems—including combinations thereof. Communication network 120 may be configured to communicate over metallic, wireless, or optical links. Communication network 120 may be configured to use time-division multiplexing (TDM), Internet Protocol (IP), Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof. In some examples, communication network 120 includes further access nodes and associated equipment for providing communication services to many wireless communication devices across a large geographic region.
Packet router 130 comprises a processing system and communication transceiver. Packet router 130 may also include other components such as a router, server, data storage system, and power supply. Packet router 130 may reside in a single device or may be distributed across multiple devices. Packet router 130 may be a discrete system or may be integrated within other systems—including other systems within communication system 100. In some examples, packet router 130 could comprise a mobile switching center, router, switching system, packet gateway, network gateway system, Internet access node, application server, service node, firewall, or some other communication system—including combinations thereof.
Database 140 comprises a processing system and communication transceiver. Database 140 may also include other components such as a router, server, data storage system, and power supply. Database 140 may reside in a single device or may be distributed across multiple devices. Database 140 may be a discrete system or may be integrated within other systems—including other systems within communication system 100. In some examples, database 140 could comprise a network database system, network-attached storage, storage area network, home location register, visitor location register, packet gateway, mobile switching center, network gateway system, Internet access node, application server, service node, firewall, or some other communication system—including combinations thereof.
Wireless communication link 111 uses the air or space as the transport medium. Wireless communication link 111 may use various protocols, such as CDMA, GSM, UMTS, HSPA, EV-DO, EV-DO rev. A, 3GPP LTE, WiMAX, Wi-Fi, Bluetooth, Internet, telephony, or some other communication format—including combinations thereof. Wireless communication link 111 may comprise many different signals sharing the same link. For example, wireless communication link 111 could include multiple signals operating in a single propagation path comprising multiple communication sessions, frequencies, timeslots, transportation ports, logical transportation links, network sockets, IP sockets, packets, or communication directions—including combinations thereof.
Communication links 121, 131, and 141 use metal, air, space, optical fiber such as glass or plastic, or some other material as the transport media—including combinations thereof. Communication links 121, 131, and 141 could use various communication protocols, such as TDM, IP, Ethernet, telephony, optical networking, hybrid fiber coax (HFC), communication signaling, wireless protocols, or some other communication format—including combinations thereof. Communication links 121, 131, and 141 may be direct links or could include intermediate networks, systems, or devices.
FIG. 3 is a block diagram that illustrates communication system 300. Communication system 300 includes wireless communication device 301, wireless access node 310, communication network 320, packet router 330, wireless device information database 340, and router port database 350. Wireless communication device 301 and wireless access node 310 are in communication over wireless communication link 311. Wireless access node 310 and communication network 320 communicate over communication link 321. Communication network 320 and wireless device information database 340 are in communication over communication link 341, while packet router 330 and communication network 320 communicate over communication link 331. Packet router 330 and router port database 350 are in communication over communication link 351. Packet router 330 comprises ports A, B, and C, over which packet router 330 may wirelessly transmit data packets. In this example, ports A, B, and C of packet router 330 each communicate using a different wireless protocol. Although wireless device information database 340 and router port database 350 are shown on FIG. 3 as separate databases, the information in each database 340 and 350 could all be related in a single database or some other storage system in some examples. Also, although router port database 350 is shown external to packet router 330, database 350 could be stored in an internal storage system of packet router 330 in some examples.
FIG. 4 illustrates tables in wireless device information database 340 and router port database 350 in an exemplary embodiment. The table shown in wireless device information database 340 includes columns labeled IP ADDRESS, MAC ADDRESS, and GPS. Each row in the table represents related data, such that the values in the MAC ADDRESS and GPS fields are associated with the IP ADDRESS from the corresponding row. Typically, the values in wireless device information table 340 are populated by wireless communication devices, such as wireless communication device 301, that transmit the data for delivery to wireless device information database 340. Thus, the four rows shown in wireless device information database 340 represent four different wireless communication devices at different locations, as indicated by the GPS ranges for each of the IP and MAC address pairs. One of skill in the art will understand that the GPS ranges in the GPS field would typically comprise actual values of GPS coordinates or other position information, but are referred to herein simply as RANGE 1 though RANGE 4 for clarity. The information in wireless device information database 340 is utilized by packet router 330 to assist in routing packets to the wireless communication devices identified in database 340.
The table shown in router port database 350 comprises two columns labeled GPS and ROUTER PORTS. Thus, in this example, the table in router port database 350 maps GPS ranges to router ports of packet router 330. The GPS field shown in router port database 350 typically corresponds to the GPS field in wireless device information database 340, so that a GPS range received by querying wireless device information database 340 can be used to query router port database 350 to determine the appropriate router ports of packet router 330 on which to broadcast a packet. Note that GPS ranges 2, 3, and 4 are associated with multiple ports of packet router 330: B+C, A+C, and A+B+C, respectively. It should be understood that although the tables shown in databases 340 and 350 on FIG. 4 only comprise four rows each in this example, the number of rows of information in these tables would typically be much greater.
FIG. 5 is a sequence diagram that illustrates an operation of communication system 300 in an exemplary embodiment. Prior to the steps shown on FIG. 5, wireless communication device 301 has acquired an IP address from communication network 320 and has determined its current location by utilizing GPS satellites. To begin, wireless communication device 301 transmits its IP address, MAC address, and a GPS range indicating the current location of device 301 for delivery to wireless device information database 340. In this example, wireless communication device 301 has an IP address of 64.173.211.241, a MAC address of 00:1D:FE:22:B2:DF, and a GPS of “RANGE 3”, which corresponds to the third row down in the table of wireless device information database 340 as shown in FIG. 4. Thus, this information is provided by wireless communication device 301 and entered into wireless device information database 340, as shown in FIG. 5.
After the database 340 has been updated with the information from wireless communication device 301, packet router 330 receives a data packet with a destination address corresponding to the IP address of device 301. Packet router 330 therefore queries wireless device information database 340 with the destination IP address of the received packet to determine the MAC address and GPS range associated with this IP address. Wireless device information database 340 responds to the query with the MAC address and GPS range that are stored therein for wireless communication device 301 based on the IP address in the query. Once packet router 330 receives the MAC address and GPS range for wireless communication device 301, packet router 330 queries router port database 350 with the GPS range received from wireless device information database 340. As discussed above, the GPS range in this case is “RANGE 3”, so when packet router 330 queries router port database 350 with this GPS range, router port database 350 returns router ports A and C to packet router 330, as shown in the table of router port database 350 in FIG. 4.
Once packet router 330 receives a response from router port database 350 indicating that router ports A and C correspond to the GPS “RANGE 3”, packet router 330 broadcasts the data packet over both ports A and C with the MAC address for wireless communication device 301. The MAC address for device 301 was previously received by packet router 330 in response to the query to wireless device information database 340. Packet router 330 broadcasts the data packet with the MAC address for wireless communication device 301 to enable device 301 to detect the packets intended for it based on its MAC address. Thus, wireless communication device 301 is configured to listen for data packets having this MAC address on all wireless networks that are in communication with device 301. In this example, router port A communicates over a third generation (3G) CDMA wireless network, while router port C communicates over a fourth generation (4G) WiMAX wireless network, and wireless communication device 301 is a dual-mode 3G/4G device. Thus, wireless communication device 301 is configured to identify data packets having its MAC address on both the 3G CDMA network and the 4G WiMAX network in this example. Note that although wireless communication device is only shown in FIG. 5 as listening for packets with its MAC address at the time packet router 330 broadcasts the packet, device 301 would typically be configured to continually listen for packets with its MAC address at all times.
Although packet router 330 broadcasts the data packet simultaneously over both ports A and C, wireless communication device 301 first receives the data packet over the 4G WiMAX wireless network via port C of packet router 330. Subsequently, wireless communication device 301 receives the same packet from packet router 330 over the 3G CDMA wireless network via port A. In this example, wireless communication device 301 is configured to determine whether any data packets received have already been received over a different access medium. Therefore, wireless communication device 301 processes the two packets and determines that the packet received over the 3G CDMA wireless network was already received by device 301 over the 4G WiMAX network. Thus, wireless communication device 301 discards the duplicate packet and presents only one copy of the packet to the network layer (layer 3) interface of device 301. In this manner, wireless communication device 301 may receive packets over a plurality of wireless access media as device 301 transitions between them. The received packets are processed to ensure that any duplicate packets are discarded, and the packets are then transparently presented to the layer 3 network layer of device 301, so that the layer 3 interface of device 301 is unaware over which wireless network or networks the packets were received.
In some examples, packet router 330 could be configured to broadcast data packets over multiple router ports only when the packet is in the proximity of its target destination. This proximity determination could be based on comparing the location of wireless communication device 301 to threshold values. For example, if wireless communication device 301 is currently located in a geographic area served by a different router than packet router 330, packet router 330 would simply forward packets to the router that is currently serving device 301 based on the GPS range or other location information in the wireless device information database 340. When the router that is serving the area in which wireless communication device 301 is located receives the packets from packet router 330, that router could query wireless device information database 340 to determine that the location of device 301 is within a proximity threshold, and would therefore broadcast the packets over the ports indicated in its router port database. Effectively, as packets near their destination, a packet router that is closer to the target device will tend to broadcast the packets over a greater number of ports than a router that is farther away from the destination.
FIG. 6 is a block diagram that illustrates packet router 600. Packet router 600 provides an example of packet routers 130 and 330, although routers 130 and 330 may use alternative configurations. Packet router 600 comprises communication transceiver 601 and processing system 603. Processing system 603 is linked to communication transceiver 601. Processing system 603 includes processing circuitry 605 and memory device 606 that stores operating software 607.
Communication transceiver 601 comprises components that communicate over communication links, such as network cards, ports, RF transceivers, processing circuitry and software, or some other communication components. Communication transceiver 601 may be configured to communicate over metallic, wireless, or optical links. Communication transceiver 601 may be configured to use TDM, IP, Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof. In some examples, communication transceiver 601 could be configured to receive a data packet with a destination address of a packet address assigned to a wireless communication device, and broadcast a data packet over a plurality of output ports.
Processing circuitry 605 comprises microprocessor and other circuitry that retrieves and executes operating software 607 from memory device 606. Memory device 606 comprises a disk drive, flash drive, data storage circuitry, or some other memory apparatus. Operating software 607 comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software 607 may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software.
When executed by circuitry 605, operating software 607 directs processing system 603 to operate as described herein for packet router 130. In particular, operating software 607 may direct processing system 603 to direct communication transceiver 601 to receive a data packet with a destination address of a packet address assigned to a wireless communication device. In addition, operating software 607 directs processing system 603 to query a database with the packet address to determine a device identifier and a location of the wireless communication device, and process the location to select a plurality of output ports of packet router 600. Further, operating software 607 may direct processing system 603 to direct communication transceiver 601 to broadcast the data packet over the plurality of output ports.
In some examples, operating software 607 could comprise a packet receiver software module that receives a data packet with a destination address of a packet address assigned to a wireless communication device. Additionally, operating software 607 could comprise a port selection software module that queries a database with the packet address to determine a device identifier and a location of the wireless communication device, and process the location to select a plurality of output ports of packet router 600. Further, operating software 607 could comprise a packet broadcast software module that broadcasts a data packet over the plurality of output ports.
FIG. 7 is a block diagram that illustrates wireless communication device 700. Wireless communication device 700 provides an example of wireless communication devices 101 and 301, although devices 101 and 301 could use alternative configurations. Wireless communication device 700 comprises wireless communication transceiver 701, processing system 702, and user interface 703. Processing system 702 is linked to wireless communication transceiver 701 and user interface 703. Processing system 702 includes processing circuitry 704 and memory device 705 that stores operating software 706. Wireless communication device 700 may include other well-known components such as a battery and enclosure that are not shown for clarity. Wireless communication device 700 may comprise a telephone, computer, e-book, mobile Internet appliance, media player, game console, wireless network interface card, or some other wireless communication apparatus—including combinations thereof.
Wireless communication transceiver 701 comprises RF communication circuitry and an antenna. The RF communication circuitry typically includes an amplifier, filter, RF modulator, and signal processing circuitry. Wireless communication transceiver 701 may also include a memory device, software, processing circuitry, or some other communication device. Wireless communication transceiver 701 may use various protocols, such as CDMA, GSM, UMTS, HSPA, EV-DO, EV-DO rev. A, 3GPP LTE, WiMAX, Wi-Fi, Bluetooth, Internet, telephony, or some other wireless communication format. Wireless communication transceiver 701 could be configured to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device 700, and transmit the packet address, a device identifier, and a location of the wireless communication device 700 for delivery to a database in the communication network.
User interface 703 comprises components that interact with a user to receive user inputs and to present media and/or information. User interface 703 may include a speaker, microphone, buttons, lights, display screen, touch screen, touch pad, scroll wheel, communication port, or some other user input/output apparatus—including combinations thereof. User interface 703 may be omitted in some examples.
Processing circuitry 704 comprises microprocessor and other circuitry that retrieves and executes operating software 706 from memory device 705. Memory device 705 comprises a disk drive, flash drive, data storage circuitry, or some other memory apparatus. Processing circuitry 704 is typically mounted on a circuit board that may also hold memory device 705 and portions of communication transceiver 701 and user interface 703. Operating software 706 comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software 706 may include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry 704, operating software 706 directs processing system 702 to operate wireless communication device 700 as described herein for wireless communication devices 101 and 301. In particular, operating software 706 directs processing system 702 to direct wireless communication transceiver 701 to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device 700, and transmit the packet address, a device identifier, and a location of the wireless communication device 700 for delivery to a database in the communication network. In some examples, operating software 706 could comprise a database update software module that transmits a packet address, a device identifier, and a location of the wireless communication device 700 for delivery to a database in a communication network. Further, in some examples, operating software 706 could direct processing system 702 identify a media access control address in a data packet, and direct wireless communication transceiver 701 to receive the data packet based on the media access control address.
The above description and associated figures teach the best mode of the invention. The following claims specify the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.

Claims (20)

What is claimed is:
1. A method of operating a communication system, the method comprising:
in a wireless communication device, acquiring a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device;
in the wireless communication device, transmitting the packet address, a device identifier, and a geographic location of the wireless communication device for delivery to a database in the communication network;
in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, and querying the database with the packet address to determine the device identifier and the geographic location of the wireless communication device;
in the packet router, processing the geographic location to select a plurality of output ports of the packet router; and
in the packet router, broadcasting the data packet over the plurality of output ports.
2. The method of claim 1 wherein the packet router serves an area including the location.
3. The method of claim 1 wherein broadcasting the data packet over the plurality of output ports comprises broadcasting the data packet by wirelessly propagating the data packet over the plurality of output ports.
4. The method of claim 1 wherein each output port of the plurality of output ports communicates using a different wireless protocol of a plurality of wireless protocols.
5. The method of claim 1 wherein the device identifier comprises a media access control address.
6. The method of claim 5 further comprising, in the wireless communication device, identifying the media access control address in the data packet, and receiving the data packet based on the media access control address.
7. The method of claim 1 wherein the location is identified by a global positioning system range.
8. The method of claim 1 wherein processing the location to select a plurality of output ports of the packet router comprises determining a velocity of the wireless communication device, and determining if the velocity of the wireless communication device exceeds a threshold.
9. The method of claim 8 wherein broadcasting the data packet over the plurality of output ports comprises broadcasting the data packet using the plurality of output ports of the packet router if the packet router serves an area including the location and if the velocity of the wireless communication device exceeds the threshold.
10. The method of claim 8 wherein determining if the velocity of the wireless communication device exceeds the threshold comprises determining the velocity of the wireless communication device based on a series of location updates associated with the wireless communication device and timestamps corresponding to the location updates, and comparing the velocity to the threshold.
11. A communication system comprising:
a wireless communication device configured to acquire a packet address from a communication network, wherein the communication network assigns the packet address to the wireless communication device, and transmit the packet address, a device identifier, and a location of the wireless communication device for delivery to a database in the communication network; and
a packet router configured to receive a data packet with a destination address of the packet address assigned to the wireless communication device, query the database with the packet address to determine the device identifier and the location of the wireless communication device, process the location to select a plurality of output ports of the packet router, and broadcast the data packet over the plurality of output ports.
12. The system of claim 11 wherein the packet router serves an area including the location.
13. The system of claim 11 wherein the packet router configured to broadcast the data packet over the plurality of output ports comprises the packet router configured to wirelessly propagate the data packet over the plurality of output ports.
14. The system of claim 11 wherein each output port of the plurality of output ports communicates using a different wireless protocol of a plurality of wireless protocols.
15. The system of claim 11 wherein the device identifier comprises a media access control address.
16. The system of claim 15 further comprising the wireless communication device configured to identify the media access control address in the data packet, and receive the data packet based on the media access control address.
17. The system of claim 11 wherein the location is identified by a global positioning system range.
18. The system of claim 11 wherein the packet router configured to process the location to select a plurality of output ports of the packet router comprises the packet router configured to determine a velocity of the wireless communication device, and determine if the velocity of the wireless communication device exceeds a threshold.
19. The system of claim 18 wherein the packet router configured to broadcast the data packet over the plurality of output ports comprises the packet router configured to broadcast the data packet using the plurality of output ports of the packet router if the packet router serves an area including the location and if the velocity of the wireless communication device exceeds the threshold.
20. A method of operating a communication system, the method comprising:
in a wireless communication device, transmitting a packet address, a media access control address, and a location of the wireless communication device for delivery to a database in a communication network;
in a packet router, receiving a data packet with a destination address of the packet address assigned to the wireless communication device, and querying the database with the packet address to determine the media access control address and the location of the wireless communication device;
in the packet router, processing the location to select a plurality of output ports of the packet router, wherein each output port of the plurality of output ports communicates using a different wireless protocol of a plurality of wireless protocols;
in the packet router, broadcasting the data packet over the plurality of output ports; and
in the wireless communication device, identifying the media access control address in the data packet, and receiving the data packet based on the media access control address.
US12/900,795 2010-10-08 2010-10-08 Wireless geographic routing protocol Active 2032-10-14 US9271261B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/900,795 US9271261B1 (en) 2010-10-08 2010-10-08 Wireless geographic routing protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/900,795 US9271261B1 (en) 2010-10-08 2010-10-08 Wireless geographic routing protocol

Publications (1)

Publication Number Publication Date
US9271261B1 true US9271261B1 (en) 2016-02-23

Family

ID=55314845

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/900,795 Active 2032-10-14 US9271261B1 (en) 2010-10-08 2010-10-08 Wireless geographic routing protocol

Country Status (1)

Country Link
US (1) US9271261B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057742B2 (en) * 2016-05-18 2018-08-21 Veniam, Inc. Systems and methods for managing the routing and replication of data in the download direction in a network of moving things
CN108494680A (en) * 2018-02-05 2018-09-04 北京连山时代科技有限公司 A kind of on-demand multi-path routing algorithm for supporting isomery networking
US10298691B2 (en) 2016-05-18 2019-05-21 Veniam, Inc. Systems and methods for managing the storage and dropping of data in a network of moving things

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894478A (en) * 1996-07-24 1999-04-13 Lucent Technologies Inc. Protocol converter and router for multi-mode wireless data communications
US5920699A (en) 1996-11-07 1999-07-06 Hewlett-Packard Company Broadcast isolation and level 3 network switch
US6023563A (en) 1996-08-20 2000-02-08 Shani; Ron Networking switch having the network presence of a bridge
US20020013858A1 (en) 2000-02-09 2002-01-31 Anderson Keith R. ARP caching apparatus and method
US20030217150A1 (en) 2002-03-01 2003-11-20 Roese John J. Location based enhanced routing
US20040082311A1 (en) * 2002-10-28 2004-04-29 Shiu Da-Shan Utilizing speed and position information to select an operational mode in a wireless communication system
US20040170181A1 (en) 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US20040264402A9 (en) 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US6850531B1 (en) 1999-02-23 2005-02-01 Alcatel Multi-service network switch
US6865160B1 (en) 1998-05-04 2005-03-08 Hewlett-Packard Development Company, L.P. Broadcast tree determination in load balancing switch protocols
US6990086B1 (en) 2001-01-26 2006-01-24 Cisco Technology, Inc. Method and system for label edge routing in a wireless network
US20080165780A1 (en) * 2007-01-08 2008-07-10 Luis Aldaz Passive listening in wireless communication
US20080228045A1 (en) * 2007-02-23 2008-09-18 Tia Gao Multiprotocol Wireless Medical Monitors and Systems
US20100057346A1 (en) 2008-08-28 2010-03-04 Ehrlacher Edward A Intelligent Travel Routing System and Method

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023676A1 (en) 1995-06-01 2006-02-02 Padcom, Inc. Port routing
US20040264402A9 (en) 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US5894478A (en) * 1996-07-24 1999-04-13 Lucent Technologies Inc. Protocol converter and router for multi-mode wireless data communications
US6023563A (en) 1996-08-20 2000-02-08 Shani; Ron Networking switch having the network presence of a bridge
US5920699A (en) 1996-11-07 1999-07-06 Hewlett-Packard Company Broadcast isolation and level 3 network switch
US6865160B1 (en) 1998-05-04 2005-03-08 Hewlett-Packard Development Company, L.P. Broadcast tree determination in load balancing switch protocols
US6850531B1 (en) 1999-02-23 2005-02-01 Alcatel Multi-service network switch
US20020013858A1 (en) 2000-02-09 2002-01-31 Anderson Keith R. ARP caching apparatus and method
US6990086B1 (en) 2001-01-26 2006-01-24 Cisco Technology, Inc. Method and system for label edge routing in a wireless network
US7623505B1 (en) 2001-01-26 2009-11-24 Cisco Technology, Inc. Method and system for label edge routing in a wireless network
US20030217150A1 (en) 2002-03-01 2003-11-20 Roese John J. Location based enhanced routing
US20040082311A1 (en) * 2002-10-28 2004-04-29 Shiu Da-Shan Utilizing speed and position information to select an operational mode in a wireless communication system
US20040170181A1 (en) 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US20080165780A1 (en) * 2007-01-08 2008-07-10 Luis Aldaz Passive listening in wireless communication
US20080228045A1 (en) * 2007-02-23 2008-09-18 Tia Gao Multiprotocol Wireless Medical Monitors and Systems
US20100057346A1 (en) 2008-08-28 2010-03-04 Ehrlacher Edward A Intelligent Travel Routing System and Method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057742B2 (en) * 2016-05-18 2018-08-21 Veniam, Inc. Systems and methods for managing the routing and replication of data in the download direction in a network of moving things
US10298691B2 (en) 2016-05-18 2019-05-21 Veniam, Inc. Systems and methods for managing the storage and dropping of data in a network of moving things
US10595181B2 (en) * 2016-05-18 2020-03-17 Veniam, Inc. Systems and methods for dissemination of data in the download direction based on context information available at nodes of a network of moving things
US10637925B2 (en) 2016-05-18 2020-04-28 Veniam, Inc. Systems and methods for communicating and storing data in a network of moving things including autonomous vehicles
CN108494680A (en) * 2018-02-05 2018-09-04 北京连山时代科技有限公司 A kind of on-demand multi-path routing algorithm for supporting isomery networking
CN108494680B (en) * 2018-02-05 2021-05-07 北京连山科技股份有限公司 Link disjoint multipath routing-on-demand method supporting heterogeneous networking

Similar Documents

Publication Publication Date Title
CN110603851B (en) Communication method and device based on slice
US8611946B2 (en) Methods and systems for configuring multi-mode mobile stations
US8443063B1 (en) Determination of communication networks for a wireless communication device
CN102647667B (en) Group management method and PUSH server
US9979790B1 (en) Long term evolution communication network to route Vehicle-to-X (V2X) data communications
US8340292B1 (en) Lawful intercept management by an authorization system
US11895716B2 (en) Methods, systems, and computer readable media for providing a unified interface configured to support infrequent data communications via a network exposure function
US11489881B2 (en) Systems and method for selection of a user plane component for internet protocol multimedia subsystem sessions
US9445389B1 (en) Utilization of relay nodes with beamformed communications
US9271261B1 (en) Wireless geographic routing protocol
US8983530B2 (en) Data session continuity between wireless networks
US20180124195A1 (en) Push notifications for multiple user devices
CN113950039B (en) Information transmission method, device and storage medium
US11889472B2 (en) Wireless communication system to deliver pages to wireless communication devices based on wireless fidelity network identifiers
US8892093B1 (en) Wireless communication system for increasing the rescan timer in a wireless communication device
US9872209B1 (en) Pre-registration of a wireless communication device in a long term evolution network
US8351939B1 (en) Pseudo network signal for a wireless communication device
US8204503B1 (en) Base station identification to indicate mobility of a wireless communication device
US8948802B1 (en) Conditional wireless communication channel for a wireless communication device
US8270993B2 (en) Proxy server and method thereof for forwarding location requests to a position determining entity
US8818409B1 (en) Identification of frequent locations of a wireless communication device
US9106507B1 (en) Selective packet voice trigger use in a wireless communication network
US9066314B2 (en) Notifying a wireless communication system about previously registered wireless communication systems
US9241350B1 (en) Access network type identification in mobile internet protocol (MIP) registration (RRQ)
US9462418B2 (en) Augmentation of call data information to determine a location of a wireless communication device

Legal Events

Date Code Title Description
AS Assignment

Owner name: SPRINT COMMUNICATIONS COMPANY L.P., KANSAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MAUER, BRIAN D.;SANKARANARAYNAN, PALLAVUR;SCHLESENER, MATTHEW C.;AND OTHERS;REEL/FRAME:025113/0367

Effective date: 20101007

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, NEW YORK

Free format text: GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:SPRINT COMMUNICATIONS COMPANY L.P.;REEL/FRAME:041895/0210

Effective date: 20170203

MAFP Maintenance fee payment

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

Year of fee payment: 4

AS Assignment

Owner name: SPRINT COMMUNICATIONS COMPANY L.P., KANSAS

Free format text: TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:052969/0475

Effective date: 20200401

Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:T-MOBILE USA, INC.;ISBV LLC;T-MOBILE CENTRAL LLC;AND OTHERS;REEL/FRAME:053182/0001

Effective date: 20200401

AS Assignment

Owner name: T-MOBILE INNOVATIONS LLC, KANSAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPRINT COMMUNICATIONS COMPANY L.P.;REEL/FRAME:055604/0001

Effective date: 20210303

AS Assignment

Owner name: SPRINT SPECTRUM LLC, KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: SPRINT INTERNATIONAL INCORPORATED, KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: SPRINT COMMUNICATIONS COMPANY L.P., KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: SPRINTCOM LLC, KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: CLEARWIRE IP HOLDINGS LLC, KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: CLEARWIRE COMMUNICATIONS LLC, KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: BOOST WORLDWIDE, LLC, KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: ASSURANCE WIRELESS USA, L.P., KANSAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: T-MOBILE USA, INC., WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: T-MOBILE CENTRAL LLC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: PUSHSPRING, LLC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: LAYER3 TV, LLC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

Owner name: IBSV LLC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001

Effective date: 20220822

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