[go: up one dir, main page]

WO2011042767A1 - System, method, and apparatus for facilitating stateless prefix delegation - Google Patents

System, method, and apparatus for facilitating stateless prefix delegation Download PDF

Info

Publication number
WO2011042767A1
WO2011042767A1 PCT/IB2009/007088 IB2009007088W WO2011042767A1 WO 2011042767 A1 WO2011042767 A1 WO 2011042767A1 IB 2009007088 W IB2009007088 W IB 2009007088W WO 2011042767 A1 WO2011042767 A1 WO 2011042767A1
Authority
WO
WIPO (PCT)
Prior art keywords
prefix
unique
delegated
bits
protocol version
Prior art date
Application number
PCT/IB2009/007088
Other languages
French (fr)
Inventor
Teemu Ilmari Savolainen
Original Assignee
Nokia Corporation
Nokia Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corporation, Nokia Inc. filed Critical Nokia Corporation
Priority to PCT/IB2009/007088 priority Critical patent/WO2011042767A1/en
Publication of WO2011042767A1 publication Critical patent/WO2011042767A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets

Definitions

  • Embodiments of the present invention relate generally to communication technology and, more particularly, relate to a system, method, and apparatus for facilitating stateless prefix delegation.
  • IP Internet Protocol
  • the user of a computing device may face certain limitations when attempting to expand a local network by allocating unique IP addresses to other computer devices on the local network.
  • the current Internet protocol may lack the capacity for unique IP addresses to fully accommodate the other computing devices.
  • An example of the above scenario involves the transition from Internet Protocol version 4 (IPv4) to Internet Protocol version 6 (IPv6). This transition is partly driven by limited address availability in IPv4 and the ongoing exponential increase in demand for IP addresses for computing devices accessing the Internet, which is resulting in a shortage of available IPv4 addresses. Once the transition from IPv4 to IPv6 is fully complete, there will be a significantly increased number of available unique IP addresses. However, the currently
  • C0NFIRMATI0N COPY proposed methods for allowing computing devices to allocate IP addresses to other computing devices on a local network are inconvenient to users, add unnecessary complexity, consume too many network resources, do not scale well, and can be prohibitively expensive. Accordingly, it may be advantageous to provide computing device users with a system, method, and apparatus for facilitating address delegation without the drawbacks of the currently proposed methods.
  • a system, method, and apparatus is therefore provided for facilitating stateless prefix delegation.
  • a system, method, and apparatus is provided that may provide several advantages to computing devices and computing device users.
  • Embodiments of the invention provide for stateless prefix delegation.
  • embodiments of the invention provide stateless prefix delegation without the need for Network Address Translation (NAT), Neighbor Discovery proxy technology (particularly advantageous as IPv6 prefixes can be proxied only once), stateful Dynamic Host Control Protocol (DHCP) v6 Prefix Delegation (DHCPv6 PD), multiple Public Data Networks (PDNs), or any special
  • NAT Network Address Translation
  • DHCP Stateful Dynamic Host Control Protocol
  • DHCPv6 PD v6 Prefix Delegation
  • PDNs Public Data Networks
  • Embodiments of the invention provide stateless prefix delegation on a single protocol network such as IPv6, thus eliminating the need for dual stack implementation, IPv6-in-IPv4 encapsulation, or the use of IPv4 addresses at all.
  • Embodiments of the invention advantageously provide for mapping for accounting, authorization, and legal interception one-to-one to the delegated prefix without requiring such entities to be dynamically informed of which prefixes are allocated to which hosts.
  • Various embodiments of the invention provide for stateless prefix delegation with minimal or, in some embodiments, no changes to point-to-point elements and standards.
  • a method comprising receiving a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix.
  • the network entity may be connected to a global network utilizing a first protocol version.
  • the method of this embodiment further comprises selecting the quantity of unique bits indicated in the message from a unique information source.
  • the method of this embodiment also comprises combining the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix.
  • the delegated prefix may be formatted using the first protocol version.
  • the method of this embodiment further comprises determining the one or more available prefixes based on the delegated prefix.
  • an apparatus comprising at least one processor and at least one memory storing computer program code, wherein the at least one memory and stored computer program code are configured to, with the at least one processor, cause the apparatus to at least receive a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix.
  • the network entity may be connected to a global network utilizing a first protocol version.
  • the at least one memory and stored computer program code are configured to, with the at least one processor, additionally cause the apparatus of this embodiment to select the quantity of unique bits indicated in the message from a unique information source.
  • the at least one memory and stored computer program code are configured to, with the at least one processor, further cause the apparatus of this embodiment to combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix.
  • the delegated prefix may be formatted using the first protocol version.
  • the at least one memory and stored computer program code are configured to, with the at least one processor, additionally cause the apparatus of this embodiment to determine the one or more available prefixes based on the delegated prefix.
  • a system in another example embodiment, comprises a network entity connected to a global network utilizing a first protocol version.
  • the system of this embodiment further comprises a mobile device configured to receive a message from the network entity comprising a common stateless delegation prefix and an indication of a quantity of unique bits required to generate a delegated prefix; select the quantity of unique bits indicated in the message from a unique information source; combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix, wherein the delegated prefix may be formatted using the first protocol version; and determine the one or more available prefixes based on the delegated prefix.
  • FIG. 1 illustrates a terminal apparatus for facilitating stateless prefix delegation according to an example embodiment of the present invention
  • FIG. 2 illustrates a network entity for facilitating stateless prefix delegation according to an example embodiment of the present invention
  • FIG. 3 is a schematic block diagram of a mobile terminal according to an example embodiment of the present invention.
  • FIG. 4 illustrates a block diagram of an example system for facilitating stateless prefix delegation according to an example embodiment of the present invention
  • FIG. 5 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention
  • FIG. 6 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention.
  • FIG. 7 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention.
  • the term 'circuitry' refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term herein, including in any claims.
  • the term 'circuitry' also includes an
  • circuitry' also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
  • FIG. 1 illustrates a terminal apparatus 102 for facilitating stateless prefix delegation according to an example embodiment of the present invention. It will be appreciated that the scope of the invention encompasses many potential embodiments in addition to those illustrated and described herein. As such, while FIG. 1 illustrates one example of a configuration of a terminal apparatus 102 for facilitating stateless prefix delegation, numerous other configurations may also be used to implement embodiments of the present invention.
  • the terminal apparatus 102 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, server, network node, multiple computing devices in communication with each other, any combination thereof, and/or the like.
  • the terminal apparatus 102 may be embodied as a mobile terminal, such as that illustrated in FIG. 3.
  • FIG. 3 illustrates a block diagram of a mobile terminal 10 representative of one embodiment of a terminal apparatus 102 in accordance with embodiments of the present invention.
  • the mobile terminal 10 illustrated and hereinafter described is merely illustrative of one type of terminal apparatus 102 that may implement and/or benefit from embodiments of the present invention and, therefore, should not be taken to limit the scope of the present invention.
  • While several embodiments of the electronic device are illustrated and will be hereinafter described for purposes of example, other types of electronic devices, such as mobile telephones, mobile computers, portable digital assistants (PDAs), pagers, laptop computers, desktop computers, gaming devices, televisions, and any other type of electronic system, may employ embodiments of the present invention.
  • PDAs portable digital assistants
  • the mobile terminal 10 may include an antenna 12 (or multiple antennas 12) in communication with a transmitter 14 and a receiver 16.
  • the mobile terminal may also include a processor 20 that provides signals to and receives signals from the transmitter and receiver, respectively.
  • These signals may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wireless-Fidelity (Wi-Fi), wireless local access network (WLAN) techniques such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, 802.16, and/or the like.
  • these signals may include speech data, user generated data, user requested data, and/or the like.
  • the mobile terminal may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. More particularly, the mobile terminal may be capable of operating in accordance with various first generation (1G), second generation (2G), 2.5G, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, Internet Protocol Multimedia
  • IMS Internet Protocol
  • SIP session initiation protocol
  • the mobile terminal may be capable of operating in accordance with 2G wireless communication protocols IS- 136 (Time Division Multiple Access (TDMA)), Global System for Mobile communications (GSM), IS- 95 (Code Division Multiple Access (CDMA)), and/or the like.
  • TDMA Time Division Multiple Access
  • GSM Global System for Mobile communications
  • CDMA Code Division Multiple Access
  • the mobile terminal may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like.
  • GPRS General Packet Radio Service
  • EDGE Enhanced Data GSM Environment
  • the mobile terminal may be capable of operating in accordance with 3G wireless
  • the mobile terminal may be additionally capable of operating in accordance with 3.9G wireless communication protocols such as Long Term Evolution (LTE) or Evolved Universal Terrestrial Radio Access Network (E-UTRAN) and/or the like. Additionally, for example, the mobile terminal may be capable of operating in accordance with fourth-generation (4G) wireless communication protocols and/or the like as well as similar wireless communication protocols that may be developed in the future.
  • UMTS Universal Mobile Telecommunications System
  • CDMA2000 Code Division Multiple Access 2000
  • WCDMA Wideband Code Division Multiple Access
  • TD-SCDMA Time Division-Synchronous Code Division Multiple Access
  • the mobile terminal may be additionally capable of operating in accordance with 3.9G wireless communication protocols such as Long Term Evolution (LTE) or Evolved Universal Terrestrial Radio Access Network (E-UTRAN) and/or the like. Additionally, for example, the mobile terminal may be capable of operating in accordance with fourth-generation (4G) wireless communication protocols and/or the like as well as similar wireless communication protocols that may be developed in the future.
  • NAMPS Narrow-band Advanced Mobile Phone System
  • TACS Total Access Communication System
  • mobile terminals may also benefit from embodiments of this invention, as should dual or higher mode phones (e.g., digital/analog or TDMA/CDMA/analog phones).
  • the mobile terminal 10 may be capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for Microwave Access (WiMAX) protocols.
  • Wi-Fi Wireless Fidelity
  • WiMAX Worldwide Interoperability for Microwave Access
  • the processor 20 may comprise circuitry for implementing audio/video and logic functions of the mobile terminal 10.
  • the processor 20 may be embodied as various means including circuitry, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits, such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof.
  • the processor may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like.
  • the processor may comprise functionality to operate one or more software programs, which may be stored in memory.
  • the processor 20 may be capable of operating a connectivity program, such as a web browser.
  • the connectivity program may allow the mobile terminal 10 to transmit and receive web content, such as location- based content, according to a protocol, such as Wireless Application Protocol (WAP), hypertext transfer protocol (HTTP), and/or the like.
  • WAP Wireless Application Protocol
  • HTTP hypertext transfer protocol
  • the mobile terminal 10 may be capable of using a Transmission Control Protocol/Internet Protocol
  • TCP/IP Transmission Control Protocol/IP
  • the mobile terminal 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20.
  • the processor 20 may comprise user interface circuitry configured to control at least some functions of one or elements of the user interface, such as, for example, the speaker 24, the ringer 22, the microphone 26, the display 28, and/or the like.
  • the processor 20 and/or user interface circuitry comprising the controller 20 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., volatile memory 40, non-volatile memory 42, and/or the like).
  • the mobile terminal may comprise a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output.
  • the user input interface may comprise devices allowing the mobile terminal to receive data, such as a keypad 30, a touch display, a joystick, and/or other input device. In embodiments including a keypad, the keypad may comprise numeric (0-9) and related keys (#, *), and/or other keys for operating the mobile terminal.
  • the mobile terminal 10 may also include one or more means for sharing and/or obtaining data.
  • the mobile terminal may comprise a short-range radio frequency (RF) transceiver and/or interrogator 64 so data may be shared with and/or obtained from electronic devices in accordance with RF techniques.
  • the mobile terminal may comprise other short-range transceivers, such as, for example, an infrared (IR) transceiver 66, a BluetoothTM (BT) transceiver 68 operating using BluetoothTM brand wireless technology developed by the BluetoothTM Special Interest Group, a wireless universal serial bus (USB) transceiver 70 and/or the like.
  • IR infrared
  • BT BluetoothTM
  • USB wireless universal serial bus
  • the BluetoothTM transceiver 68 may be capable of operating according to ultra-low power BluetoothTM technology (e.g., Wibree ) radio standards.
  • the mobile terminal 10 and, in particular, the short-range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within a proximity of the mobile terminal, such as within 10 meters, for example.
  • the mobile terminal may be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including Wireless Fidelity (Wi-Fi), WLAN techniques such as IEEE 802.1 1 techniques, IEEE 802.16 techniques, and/or the like.
  • Wi-Fi Wireless Fidelity
  • WLAN techniques such as IEEE 802.1 1 techniques, IEEE 802.16 techniques, and/or the like.
  • the mobile terminal 10 may comprise memory, such as a subscriber identity module (SIM) 38, a removable user identity module (R-UIM), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the mobile terminal 10 may comprise other removable and/or fixed memory.
  • the mobile terminal 10 may include volatile memory 40 and/or non- volatile memory 42.
  • volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like.
  • RAM Random Access Memory
  • Non-volatile memory 42 which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory 40 non-volatile memory 42 may include a cache area for temporary storage of data.
  • the memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the mobile terminal for performing functions of the mobile terminal.
  • the memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the mobile terminal 10.
  • IMEI international mobile equipment identification
  • the terminal apparatus 102 includes various means, such as a processor 120, memory 122, communication interface 124, user interface 126, and prefix determination circuitry 128 for performing the various functions herein described.
  • These means of the terminal apparatus 102 as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer- readable program instructions (e.g., software or firmware) stored on a computer- readable medium (e.g. memory 122) that is executable by a suitably configured processing device (e.g., the processor 120), or some combination thereof.
  • the processor 120 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in FIG. 1 as a single processor, in some embodiments the processor 120 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively configured to function as the terminal apparatus 102.
  • the plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the terminal apparatus 102 as described herein.
  • the processor 120 may be embodied as or comprise the processor 20.
  • the processor 120 may be configured to execute instructions stored in the memory 122 or otherwise accessible to the processor 120. These instructions, when executed by the processor 120, may cause the terminal apparatus 102 to perform one or more of the functionalities of the terminal apparatus 102 as described herein.
  • the processor 120 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly.
  • the processor 120 when the processor 120 is embodied as an ASIC, FPGA or the like, the processor 120 may comprise specifically configured hardware for conducting one or more operations described herein.
  • the processor 120 when the processor 120 is embodied as an executor of instructions, such as may be stored in the memory 122, the instructions may specifically configure the processor 120 to perform one or more algorithms and operations described herein.
  • the memory 122 may include, for example, volatile and/or non- volatile memory. Although illustrated in FIG. 1 as a single memory, the memory 122 may comprise a plurality of memories. The plurality of memories may be embodied on a single computing device or distributed across a plurality of computing devices. The memory 122 may comprise volatile memory, non- volatile memory, or some combination thereof. In this regard, the memory 122 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD- ROM), an optical disc, circuitry configured to store information, or some combination thereof.
  • CD-ROM compact disc read only memory
  • DVD- ROM digital versatile disc read only memory
  • the memory 122 may comprise the volatile memory 40 and/or the non-volatile memory 42.
  • the memory 122 may be configured to store information, data, applications, instructions, or the like for enabling the terminal apparatus 102 to carry out various functions in accordance with embodiments of the present invention.
  • the memory 122 may be configured to buffer input data for processing by the processor 120.
  • the memory 122 may be configured to store program instructions for execution by the processor 120.
  • the memory 122 may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by the prefix determination circuitry 128 during the course of performing their functionalities.
  • the communication interface 124 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 122) and executed by a processing device (e.g., the processor 120), or a combination thereof that is configured to receive and/or transmit data from/to another device, such as, for example, a server, a network entity (e.g., the network entity 104 illustrated in FIG. 4), a DHCP entity (e.g., the DHCP entity 108 illustrated in FIG. 4), a downstream device (e.g., the downstream devices 106 illustrated in FIG. 4), and/or the like.
  • a server e.g., a network entity 104 illustrated in FIG. 4
  • a DHCP entity e.g., the DHCP entity 108 illustrated in FIG. 4
  • a downstream device e.g., the downstream devices 106 illustrated in FIG. 4
  • the like e.g.
  • the communication interface 124 may be at least partially embodied as or otherwise controlled by the processor 120.
  • the communication interface 124 may be in communication with the processor 120, such as via a bus.
  • the communication interface 124 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with another computing device.
  • the communication interface 124 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices.
  • the communication interface 124 may additionally be in communication with the memory 122, user interface 126, and/or prefix determination circuitry 128, such as via a bus.
  • the user interface 126 may be in communication with the processor 120 to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user.
  • the user interface 126 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms.
  • aspects of the user interface 126 may be reduced or the user interface 126 may even be eliminated.
  • the terminal apparatus 102 is embodied as a server
  • at least some aspects of the user interface 126 may be embodied on an apparatus used by a user that is in communication with the terminal apparatus 102.
  • the user interface 126 may be in communication with the memory 122, communication interface 124, and/or prefix determination circuitry 128, such as via a bus.
  • the prefix determination circuitry 128 may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 122) and executed by a processing device (e.g., the processor 120), or some combination thereof and, in one embodiment, may be embodied as or otherwise controlled by the processor 120. In embodiments wherein the prefix determination circuitry 128 is embodied separately from the processor 120, the prefix determination circuitry 128 may be in communication with the processor 120. The prefix determination circuitry 128 may further be in communication with one or more of the memory 122, communication interface 124, or user interface 126, such as via a bus. The prefix determination circuitry 128 may be configured to facilitate stateless prefix delegation, such as to enable a terminal apparatus 102 to determine and allocate one or more addresses available for allocation based on a delegated prefix.
  • the prefix determination circuitry 128 may be configured to connect directly to or indirectly to, such as via a network management relay entity, a network entity 104. Accordingly, the prefix determination circuitry 128 may be configured to receive in response directly from or indirectly from, such as via a network management relay entity, a network entity 104 a message indicating a unique identifier allocated to the terminal apparatus 102.
  • the unique identifier may be an IP address allocated to the terminal apparatus 102.
  • the unique identifier may be a unique IPv6 64-bit prefix.
  • the unique IPv6 64-bit prefix may have been allocated by a 3rd Generation Partnership Project (3GPP) Public Data Network (PDN) Gateway, a Gateway GPRS Support Node (GGSN), a WiMAX Connectivity Service Network (CSN) Gateway, any other point-to-point access gateway, or the like.
  • 3GPP 3rd Generation Partnership Project
  • PDN Public Data Network
  • GGSN Gateway GPRS Support Node
  • CSN WiMAX Connectivity Service Network
  • any other point-to-point access gateway or the like.
  • the prefix determination circuitry 128 may be configured to send a message directly to or indirectly to, such as via a network management relay entity, a network entity 104 to request a common stateless delegation prefix for the service provider.
  • the request may be made via a Dynamic Host Configuration
  • the prefix determination circuitry 128 may be configured to receive in response directly from or indirectly from, such as via a network management relay entity, a network entity 104 a message comprising at least the common stateless delegation prefix and an indication of the number of bits from the unique information source associated with the terminal apparatus 102 required to generate the delegated prefix.
  • the received message may comprise an indication of the unique information source from which to generate the delegated prefix.
  • the received message may additionally include an indication of the length of the common stateless delegation prefix in number of bits.
  • the common stateless delegation prefix may be an IPv6 common stateless delegation prefix associated with the service provider.
  • the common stateless delegation prefix may be associated solely with the terminal apparatus 102.
  • the prefix determination circuitry 128 may be configured to receive the delegated prefix configuration information via a DHCPv6 option, IPv6 Router Advertisement option, 3GPP specific means, Open Mobile Alliance (OMA) signaling, or the like.
  • OMA Open Mobile Alliance
  • the prefix determination circuitry 128 may further be configured to utilize the information received in the above described common stateless delegation prefix response message to select a quantity of unique bits from a unique information source to facilitate generating the delegated prefix.
  • the prefix determination circuitry 128 may select the quantity of unique bits from a unique information source associated with the terminal apparatus 102 based on the quantity indicated in the message.
  • the unique information source from which the bits are selected may be the unique IPv6 64-bit prefix.
  • the unique information source may be an IPv4 address allocated to the terminal apparatus 102, an Interface Identifier (IID) of the terminal apparatus 102, an IPv6 address allocated to the terminal apparatus 102 statefully using DHCPv6, a Layer 2 identifier such as a GPRS Tunneling Protocol Tunnel Endpoint Identifier (GTP TEID), or any other similar unique information source associated with the terminal apparatus 102.
  • IID Interface Identifier
  • GTP TEID GPRS Tunneling Protocol Tunnel Endpoint Identifier
  • the prefix determination circuitry 128 may be configured to select the quantity of unique bits from a different portion of the unique information source such that the selected bits uniquely identify the terminal apparatus 102.
  • the prefix determination circuitry 128 may further be configured to generate the delegated prefix so as to facilitate stateless prefix delegation.
  • the prefix determination circuitry 128 may be configured to combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix.
  • the prefix determination circuitry 128 may effect the combination by appending the bits selected from the unique information source to the end of the common stateless delegation prefix. Such a concatenation results in the creation of an n-bit prefix, which may be known as the delegated prefix.
  • the delegated prefix generated by the prefix determination circuitry 128 may define the delegated address space.
  • the prefix determination circuitry 128 may further be configured to determine the one or more available prefixes based on the delegated prefix; The prefix determination circuitry 128 may determine the number of prefixes available for allocation based on the length of the delegated prefix.
  • the length of the n-bit delegated prefix may be equal to the length of the common stateless delegation prefix plus the quantity of unique bits indicated in the above described common stateless delegation prefix response message.
  • the prefix determination circuitry 128 may subtract the length of the delegated prefix in bits from the length of the available number of bits in an address according to the current network protocol to determine the number of bits remaining for defining the delegated address space. The remaining bits may be referred to as the subnet ID of the address.
  • the prefix determination circuitry 128 may utilize the length of the number of bits remaining to calculate the number of delegated prefixes and addresses in the delegated address space. In this regard, a subnet ID of n bits represents 2" available delegated subnets. In embodiments where the network protocol is IPv6, the number of bits available for generating unique prefixes may be 64, assuming the trailing 64 bits of the 128-bit IPv6 address are reserved for the IID. In these embodiments, the prefix determination circuitry 128 may subtract the length of the delegated prefix from 64 to determine the number of bits available in the address space for allocating unique addresses and prefixes to downstream devices 106.
  • the length of the delegated prefix may be limited to less than the number of bits in an address according to the current network protocol. In instances where the length of the delegated prefix equals or exceeds the number of bits in an address according to the current network protocol, no bits remain for generating unique addresses for downstream devices 106.
  • the prefix determination circuitry 128 may be configured to allocate a subnet prefix of the delegated prefix to one or more local networks.
  • a local network may be a local area network such as a WLAN, BluetoothTM Personal Area Network, fixed Ethernet network, or the like.
  • the prefix determination circuitry 128 may advertise the allocated subnet prefix to the downstream devices 106 in the respective one or more local networks.
  • the downstream devices 106 may use the allocated subnet prefix to configure a unique address for themselves within the allocated subnet prefix space. In some embodiments, the downstream devices 106 may use their unique IID to configure their unique address.
  • a downstream device 106 may be configured to perform the functionality of the terminal apparatus 102 and further delegate prefixes within the subnet prefix to devices downstream from the downstream device 106.
  • the terminal apparatus 102 may be configured to perform the functionality of the network entity 104 with respect to the downstream device 106.
  • the prefix determination circuitry 128 may be configured to accept a request from a downstream device 106 for a second common stateless delegation prefix.
  • the prefix determination circuitry 128 may be configured to allocate a second common stateless delegation prefix that may be a subnet prefix of the delegated prefix to the downstream device 106 on a local network of the terminal apparatus 102.
  • the prefix determination circuitry 128 may be further configured to implement a DHCPv6 server to facilitate delegating the prefix downstream.
  • the network entity 104 may comprise any computing device, mobile or fixed, and may be embodied as a server, desktop computer, laptop computer, mobile terminal 10, and/or the like configured to provide network side services, such as address allocation.
  • the network entity 104 may also be embodied as a combination of a plurality of computing devices configured to provide network side services, such as address allocation.
  • the network entity 104 may be embodied, for example, as a server cluster and/or may be embodied as a distributed computing system, which may be distributed across a plurality of computing devices, such as, for example, mobile terminals 10.
  • the network entity 104 may be embodied as a gateway of a service provider.
  • the network entity 104 may be embodied as a 3 GPP PDN Gateway, a GGSN, a WiMAX CSN Gateway, or the like. In some embodiments, the network entity 104 may be located a single hop from the terminal apparatus 102.
  • the network entity 104 includes various means, such as a processor 220, memory 222, communication interface 224, and prefix delegation circuitry 228 for performing the various functions herein described.
  • These means of the network entity 104 as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions (e.g., software or firmware) stored on a computer-readable medium (e.g. memory 222) that is executable by a suitably configured processing device (e.g., the processor 220), or some
  • the processor 220 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in FIG. 2 as a single processor, in some embodiments the processor 220 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively configured to function as the network entity 104.
  • the plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the network entity 104 as described herein.
  • the processor 120 may be embodied as or comprise the controller 20.
  • the processor 220 may be configured to execute instructions stored in the memory 222 or otherwise accessible to the processor 220. These instructions, when executed by the processor 220, may cause the network entity 104 to perform one or more of the functionalities of the network entity 104 as described herein.
  • the processor 220 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly.
  • the processor 220 when the processor 220 is embodied as an ASIC, FPGA or the like, the processor 220 may comprise specifically configured hardware for conducting one or more operations described herein.
  • the processor 220 when the processor 220 is embodied as an executor of instructions, such as may be stored in the memory 222, the instructions may specifically configure the processor 220 to perform one or more algorithms and operations described herein.
  • the memory 222 may include, for example, volatile and/or non-volatile memory. Although illustrated in FIG. 2 as a single memory, the memory 222 may comprise a plurality of memories. The plurality of memories may be embodied on a single computing device or distributed across a plurality of computing devices. The memory 222 may comprise volatile memory, non-volatile memory, or some combination thereof. In this regard, the memory 222 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD- ROM), an optical disc, circuitry configured to store information, or some combination thereof.
  • CD-ROM compact disc read only memory
  • DVD- ROM digital versatile disc read only memory
  • the memory 222 may comprise the volatile memory 40 and/or the non- volatile memory 42.
  • the memory 222 may be configured to store information, data, applications, instructions, or the like for enabling the network entity 104 to carry out various functions in accordance with example embodiments of the present invention.
  • the memory 222 may be configured to buffer input data for processing by the processor 220.
  • the memory 222 may be configured to store program instructions for execution by the processor 220.
  • the memory 222 may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by the prefix delegation circuitry 228 during the course of performing their functionalities.
  • the communication interface 224 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 222) and executed by a processing device (e.g., the processor 220), or a combination thereof that may be configured to receive and/or transmit data from/to another device, such as, for example, a server, a terminal apparatus (e.g., the terminal apparatus 102 illustrated in FIG. 4), a DHCP entity (e.g., the DHCP entity 108 illustrated in FIG. 4), a downstream device (e.g., the downstream devices 106 illustrated in FIG. 4), and/or the like.
  • a server e.g., a terminal apparatus 102 illustrated in FIG. 4
  • a DHCP entity e.g., the DHCP entity 108 illustrated in FIG. 4
  • a downstream device e.g., the downstream devices 106 illustrated in FIG. 4
  • the communication interface 224 may be at least partially embodied as or otherwise controlled by the processor 220.
  • the communication interface 224 may be in communication with the processor 220, such as via a bus.
  • the communication interface 224 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with another computing device.
  • the communication interface 224 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices.
  • the communication interface 224 may additionally be in communication with the memory 222 and/or prefix delegation circuitry 228, such as via a bus.
  • the prefix delegation circuitry 228 may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 222) and executed by a processing device (e.g., the processor 220), or some combination thereof and, in one embodiment, may be embodied as or otherwise controlled by the processor 220. In embodiments wherein the prefix delegation circuitry 228 is embodied separately from the processor 220, the prefix delegation circuitry 228 may be in communication with the processor 220. The prefix delegation circuitry 228 may further be in communication with one or more of the memory 222 or communication interface 224 such as via a bus.
  • the prefix delegation circuitry 228 may be configured to facilitate stateless prefix delegation, such as by delegating a prefix to facilitate a terminal apparatus 102 connected to the network entity 104 to determine and allocate one or more addresses available for allocation based on the delegated prefix.
  • the prefix delegation circuitry 228 may be configured to determine the number of unique addresses to be delegated by the delegated prefix.
  • the number of unique addresses to be delegated may depend on the number of hosts that are to be supported by the network entity 104 and the number of addresses or subnets each host is to be allocated.
  • the host may be a subscriber.
  • only a subset of all subscribers may be delegated addresses for allocation, for example stateless prefix delegation may be provided as a premium service to subscribers.
  • the number of addresses or subnets each subscriber is to be allocated may vary from subscriber to subscriber.
  • the number of unique addresses to be delegated may depend on the address space available for delegation.
  • the prefix delegation circuitry 228 may be configured to calculate the number of unique addresses to be delegated by adding all of the addresses or subnets to be allocated for each subscriber.
  • the prefix delegation circuitry 228 may be configured to request configuration information for facilitating stateless prefix delegation.
  • the configuration information may comprise an indication of a common stateless delegation prefix.
  • the prefix delegation circuitry 228 may request a common stateless delegation prefix of a particular size based on the number of unique addresses to be allocated as determined above.
  • the request may be made via a DHCP Information Request, in an example embodiment via a DHCPv6 Information Request.
  • the prefix delegation circuitry 228 may be configured to receive in response the requested configuration information.
  • the configuration information may be received via a DHCP entity, in an example embodiment via a DHCPv6 entity.
  • the configuration information may be delivered in a Router Advertisement (in certain embodiments an IPv6 Router Advertisement), via 3 GPP specific signaling, OMA, or the like.
  • the prefix delegation circuitry 228 may further be configured to receive a connection request directly from or indirectly from, such as via a network management relay entity, a terminal apparatus 102. Accordingly, the prefix delegation circuitry 228 may be configured to send in response directly to or indirectly to, such as via a network management relay entity, a terminal apparatus 102 a message comprising an indication of a unique identifier allocated to the terminal apparatus 102.
  • the unique identifier may be an IP address allocated to the terminal apparatus 102.
  • the unique identifier may be a unique IPv6 64-bit prefix.
  • the prefix delegation circuitry 228 may be configured to calculate the delegated prefix for the newly connected terminal apparatus 102.
  • the delegated prefix may be calculated based on the common stateless delegation prefix and the unique identifier allocated to the terminal apparatus 102.
  • static unique identifiers may be used so that the downstream network need not be renumbered each time the connection of the terminal apparatus 102 is re-established.
  • the prefix delegation circuitry may acquire the alternative unique information from the appropriate source.
  • the calculation may be based on the number of addresses to be delegated to the terminal apparatus 102.
  • the prefix delegation circuitry 228 may be configured to calculate the number of bits necessary to uniquely identify each subscriber to which addresses will be allocated. Additionally, the prefix delegation circuitry 228 may be configured to calculate the number of bits required to generate the number of addresses or subnets the terminal apparatus 102 will be allocated. The prefix delegation circuitry 228 may further be configured to calculate the length in bits of the common stateless delegation prefix.
  • the prefix delegation circuitry 228 may calculate these values such that the number of bits required to uniquely identify each subscriber plus the number of bits required to generate the number of addresses or subnets the terminal apparatus 102 is to be allocated plus the number of bits of the common stateless delegation prefix does not exceed the number of bits available for the delegated prefix. Accordingly, the prefix delegation circuitry 228 may select the number of bits required to uniquely identify each subscriber from the unique information source.
  • the prefix delegation circuitry 228 may be configured to calculate the delegated prefix by appending the selected bits from the unique information source to the end of the common stateless delegation prefix. In some embodiments, the selected bits of the unique information source may be the least significant bits of the unique identifier.
  • the delegated prefix may be an IPv6 delegated prefix.
  • the prefix delegation circuitry 228 may be further configured to update the routing tables to reflect the newly calculated delegated prefix for the newly added terminal apparatus 102. Accordingly, the accounting and authorization functions may identify the subscriber that should receive data destined for downstream devices 106 by calculating the delegated prefix using the unique information source.
  • the prefix delegation circuitry 228 may be further configured to receive a request directly from or indirectly from, such as via a network management relay entity, a terminal apparatus 102 for configuration information for facilitating the determination of the delegated prefix.
  • the request for configuration information may comprise a request for an indication of the common stateless delegation prefix.
  • the prefix delegation circuitry 228 may be configured to send in response directly to or indirectly to, such as via a network management relay entity, a terminal apparatus 102 a message comprising an indication of
  • the configuration information may comprise an indication of the common stateless delegation prefix and an indication of the number of bits from a unique information source associated with the terminal apparatus 102 required to generate the delegated prefix.
  • the configuration information may further comprise an indication of the length of the common stateless delegation prefix in number of bits.
  • the configuration information may comprise an indication of the unique information source from which the terminal apparatus 102 should select the unique bits required to generate the delegated prefix.
  • the unique information source may be determined contextually based on the type of network. For example, the unique information source may be determined contextually to be an IPv6 64-bit prefix when the network is a 3rd Generation Partnership Project (3GPP) network
  • the terminal apparatus 102 may be configured to implement the functionality of the network entity 104.
  • the terminal apparatus 102 may create a second common stateless delegation prefix based on the delegated prefix and advertise the new common stateless delegated prefix to the downstream devices 106.
  • the downstream devices 106 may then implement the functionality of a terminal apparatus 102 in order to generate a new delegated prefix.
  • this recursive delegation may continue further downstream from the downstream devices 106 as many times as the available bits of the protocol address permits.
  • a use case scenario contemplated in accordance with various embodiments of the present invention will now be described in conjunction with FIG. 2.
  • the use case scenario will be discussed in conjunction with usage of an IPv6-only network and, accordingly, unique IPv6 addresses. It will be appreciated, however, that use of IPv6 addresses are provided merely for example and embodiments of the invention are not limited to facilitating stateless prefix delegation using IPv6 network addresses.
  • the prefix delegation circuitry 228 may support approximately 16.78 million simultaneous subscribers.
  • the prefix delegation circuitry 228 may calculate that to support 16.78 million subscribers, the number of bits required from a unique information source must be 24 bits (e.g. 2 24 ⁇ 16.78 million).
  • the prefix delegation circuitry 228 may elect to delegate 256 unique prefixes per subscriber. Accordingly, the prefix delegation circuitry
  • FIG. 4 illustrates a block diagram of a system 100 for facilitating stateless prefix delegation according to an example embodiment of the present invention. It will be appreciated that the scope of the invention encompasses many potential embodiments in addition to those illustrated and described herein. As such, while FIG. 4 illustrates one example of a configuration of a system for facilitating stateless prefix delegation, numerous other configurations may also be used to implement embodiments of the present invention.
  • the system 100 includes a network entity 104, terminal apparatus 102, and one or more downstream devices 106.
  • the system 100 further comprises a DHCP entity 108.
  • a "DHCP" entity includes both DHCP servers and DHCP relay devices.
  • the system 100 further comprises a network 110.
  • the network 110 may comprise one or more wireline networks, one or more wireless networks (e.g., a cellular network, wireless local area network, wireless personal area network, wireless metropolitan area network, and/or the like), or some combination thereof, and in some embodiments comprises the internet.
  • the network 1 10 comprises a public land mobile network (e.g., a cellular network), such as may be implemented by a network operator (e.g. a cellular access provider).
  • the network 110 may operate in accordance with universal terrestrial radio access network (UTRAN) standards, evolved UTRAN (E-UTRAN) standards, and/or the like.
  • UTRAN universal terrestrial radio access network
  • E-UTRAN evolved UTRAN
  • system 100 illustrates a single terminal apparatus 102, a single network entity 104, three downstream devices 106, and an optional DHCP entity 108 for purposes of example, the system 100 may include a plurality of terminal apparatuses 102, network entities 104, DHCP entities 108, and/or any number of downstream devices 106.
  • the downstream device 106 may comprise any device located in any of the local networks of the terminal apparatus 102 that is configured to be allocated one of the addresses delegated to the terminal apparatus 102 via the delegated prefix.
  • the downstream device 106 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like.
  • the network entity 104 may comprise any computing device, mobile or fixed, and may be embodied as a server, desktop computer, laptop computer, mobile terminal 10, and/or the like configured to provide network side services, such as address allocation.
  • the network entity 104 may also be embodied as a combination of a plurality of computing devices configured to provide network side services, such as address allocation.
  • the network entity 104 may be embodied, for example, as a server cluster and/or may be embodied as a distributed computing system, which may be distributed across a plurality of computing devices, such as, for example, mobile terminals 10.
  • a server cluster and/or may be embodied as a distributed computing system, which may be distributed across a plurality of computing devices, such as, for example, mobile terminals 10.
  • the network entity 104 may be embodied as a gateway of a service provider.
  • the network entity 104 may be embodied as a 3 GPP PDN Gateway, a GGSN, a WiMAX CSN Gateway, or the like.
  • the network entity 104 may be located a single hop from the terminal apparatus 102.
  • the terminal apparatus 102 may comprise any device configured for use to generate a delegated prefix and determine the addresses available for allocation based on the delegated prefix.
  • the terminal apparatus 102 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like.
  • the terminal apparatus 102 may be allocated a network address in accordance with a network address protocol.
  • the terminal apparatus 102 may be embodied as a mobile terminal 10, such as that illustrated in FIG. 3. FIG.
  • FIG. 5 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention.
  • the method may comprise connecting to a network entity, at operation 500.
  • Operation 510 may comprise receiving a unique device address. It will be appreciated, however, that operations 500-510 are not prerequisites to operation 520.
  • the terminal apparatus 102 may utilize a different unique information source to provide the unique bits required to generate the delegated prefix.
  • the method may then comprise requesting the common stateless delegation prefix, at operation 520.
  • Operation 530 may comprise receiving a message comprising the common stateless delegation prefix and an indication of the quantity of required unique bits.
  • the method may then comprise selecting the quantity of unique bits indicated in the message from the unique information source such as the unique device address, at operation 540.
  • Operation 550 may comprise combining the common stateless delegation prefix with the selected unique information source bits to generate the delegated prefix.
  • the method may then comprise determining the one or more available prefixes based on the delegated prefix, at operation 560.
  • FIG. 6 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an additional example embodiment of the invention.
  • FIG. 6 illustrates operations that may be performed by the prefix determination circuitry 128.
  • Operations 600-660 of FIG. 6 are identical to operations 500-560 of FIG. 5, as described above.
  • the method may comprise allocating a subnet prefix of the delegated prefix to one or more local networks, at operation 670.
  • Operation 680 may comprise advertising the subnet prefix to the respective one or more local networks.
  • FIG. 7 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an additional example embodiment of the invention.
  • the method may comprise determining the number of unique addresses to be delegated by the delegated prefix, at operation 700.
  • Operation 710 may comprise requesting configuration information for facilitating stateless prefix delegation.
  • the method may then comprise receiving the requested configuration information, at operation 720.
  • Operation 730 may comprise receiving a connection request from a host.
  • the method may comprise allocating and sending a unique identifier to the host, at operation 740.
  • Operation 750 may comprise calculating the delegated prefix for the host and updating the routing tables to reflect the delegated prefix.
  • the method may comprise receiving a request for configuration information for facilitating the determination of the delegated prefix, at operation 760.
  • Operation 770 may comprise sending a message comprising the configuration information for facilitating the determination of the delegated prefix.
  • FIGs. 5-7 are flowcharts of a system, method, and computer program product according to example embodiments of the invention. It will be understood that each block or step of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware and/or a computer program product comprising one or more computer-readable mediums having computer readable program instructions stored thereon. For example, one or more of the procedures described herein may be embodied by computer program instructions of a computer program product.
  • the computer program product(s) that embodies the procedures described herein may be stored by one or more memory devices of a mobile terminal, server, or other computing device (e.g., the terminal apparatus 102 or network entity 104) and executed by a processor (e.g., the processor 120 or 220) in the computing device.
  • the computer program instructions comprising the computer program product(s) that embodies the procedures described above may be stored by memory devices of a plurality of computing devices.
  • any such computer program product may be loaded onto a computer or other programmable apparatus to produce a machine, such that the computer program product including the instructions which execute on the computer or other programmable apparatus creates means for implementing the functions specified in the flowchart block(s) or step(s).
  • the computer program product may comprise one or more computer-readable memories on which the computer program instructions may be stored such that the one or more computer-readable memories can direct a computer or other programmable apparatus to function in a particular manner, such that the computer program product comprises an article of manufacture which implements the function specified in the flowchart block(s) or step(s).
  • the computer program instructions of one or more computer program products may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block(s) or step(s).
  • blocks or steps of the flowchart support combinations of means for performing the specified functions and combinations of steps for performing the specified functions. It will also be understood that one or more blocks or steps of the flowchart, and combinations of blocks or steps in the flowchart, may be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer program product(s).
  • a suitably configured processor may provide all or a portion of the elements of the invention.
  • all or a portion of the elements of the invention may be configured by and operate under control of a computer program product.
  • the computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
  • Embodiments of the invention provide several advantages to computing devices and computing device users.
  • Embodiments of the invention provide for stateless prefix delegation.
  • embodiments of the invention provide stateless prefix delegation without the need for Network Address Translation (NAT), Neighbor Discovery proxy technology (particularly advantageous as IPv6 prefixes can be proxied only once), stateful DHCPv6 Prefix Delegation (DHCPv6 PD), multiple Public Data Networks (PDNs), or any special Authentication, Authorization, and Accounting (AAA).
  • NAT Network Address Translation
  • DHCPv6 PD stateful DHCPv6 Prefix Delegation
  • PDNs Public Data Networks
  • AAA Authentication, Authorization, and Accounting
  • Embodiments of the invention provide stateless prefix delegation on an IPv6-only network, thus eliminating the need for dual stack implementation, IPv6-in-IPv4 encapsulation, or the use of IPv4 addresses at all.
  • Embodiments of the invention advantageously provide for mapping for accounting, authorization, and legal interception one-to- one to the delegated prefix without requiring such entities to be dynamically informed of which prefixes are allocated to which hosts.
  • Various embodiments of the invention provide for stateless prefix delegation with minimal or, in some embodiments, no changes to point-to-point elements and standards.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A system, method, and apparatus is provided for facilitating stateless prefix delegation. A method may include receiving a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix. The network entity may be connected to a global network utilizing a first protocol version. The method may further include selecting the quantity of unique bits indicated in the message from a unique information source. The method may additionally include combining the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix. The delegated prefix may be formatted using the first protocol version. The method may further include determining the one or more addresses available for allocation based on the delegated prefix. A corresponding system and apparatus is also provided.

Description

SYSTEM, METHOD, AND APPARATUS FOR FACILITATING STATELESS PREFIX DELEGATION
TECHNOLOGICAL FIELD
Embodiments of the present invention relate generally to communication technology and, more particularly, relate to a system, method, and apparatus for facilitating stateless prefix delegation.
BACKGROUND
The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented
technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. One area in which there is a demand to further improve the convenience to users is facilitating prefix delegation. In this regard, for example, the user of a computing device may desire to expand a local network by allocating unique Internet Protocol (IP) addresses to other computer devices on the local network.
BRIEF SUMMARY OF SOME EXAMPLES OF THE INVENTION
The user of a computing device may face certain limitations when attempting to expand a local network by allocating unique IP addresses to other computer devices on the local network. For instance, the current Internet protocol may lack the capacity for unique IP addresses to fully accommodate the other computing devices. An example of the above scenario involves the transition from Internet Protocol version 4 (IPv4) to Internet Protocol version 6 (IPv6). This transition is partly driven by limited address availability in IPv4 and the ongoing exponential increase in demand for IP addresses for computing devices accessing the Internet, which is resulting in a shortage of available IPv4 addresses. Once the transition from IPv4 to IPv6 is fully complete, there will be a significantly increased number of available unique IP addresses. However, the currently
-1-
C0NFIRMATI0N COPY proposed methods for allowing computing devices to allocate IP addresses to other computing devices on a local network are inconvenient to users, add unnecessary complexity, consume too many network resources, do not scale well, and can be prohibitively expensive. Accordingly, it may be advantageous to provide computing device users with a system, method, and apparatus for facilitating address delegation without the drawbacks of the currently proposed methods.
A system, method, and apparatus is therefore provided for facilitating stateless prefix delegation. In this regard, a system, method, and apparatus is provided that may provide several advantages to computing devices and computing device users. Embodiments of the invention provide for stateless prefix delegation. In this regard, embodiments of the invention provide stateless prefix delegation without the need for Network Address Translation (NAT), Neighbor Discovery proxy technology (particularly advantageous as IPv6 prefixes can be proxied only once), stateful Dynamic Host Control Protocol (DHCP) v6 Prefix Delegation (DHCPv6 PD), multiple Public Data Networks (PDNs), or any special
Authentication, Authorization, and Accounting (AAA). Embodiments of the invention provide stateless prefix delegation on a single protocol network such as IPv6, thus eliminating the need for dual stack implementation, IPv6-in-IPv4 encapsulation, or the use of IPv4 addresses at all. Embodiments of the invention advantageously provide for mapping for accounting, authorization, and legal interception one-to-one to the delegated prefix without requiring such entities to be dynamically informed of which prefixes are allocated to which hosts. Various embodiments of the invention provide for stateless prefix delegation with minimal or, in some embodiments, no changes to point-to-point elements and standards.
In a first example embodiment, a method is provided, which comprises receiving a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix. The network entity may be connected to a global network utilizing a first protocol version. The method of this embodiment further comprises selecting the quantity of unique bits indicated in the message from a unique information source. The method of this embodiment also comprises combining the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix. The delegated prefix may be formatted using the first protocol version. The method of this embodiment further comprises determining the one or more available prefixes based on the delegated prefix.
In another example embodiment, an apparatus is provided. The apparatus of this embodiment comprises at least one processor and at least one memory storing computer program code, wherein the at least one memory and stored computer program code are configured to, with the at least one processor, cause the apparatus to at least receive a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix. The network entity may be connected to a global network utilizing a first protocol version. The at least one memory and stored computer program code are configured to, with the at least one processor, additionally cause the apparatus of this embodiment to select the quantity of unique bits indicated in the message from a unique information source. The at least one memory and stored computer program code are configured to, with the at least one processor, further cause the apparatus of this embodiment to combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix. The delegated prefix may be formatted using the first protocol version. The at least one memory and stored computer program code are configured to, with the at least one processor, additionally cause the apparatus of this embodiment to determine the one or more available prefixes based on the delegated prefix.
In another example embodiment, a system is provided that comprises a network entity connected to a global network utilizing a first protocol version. The system of this embodiment further comprises a mobile device configured to receive a message from the network entity comprising a common stateless delegation prefix and an indication of a quantity of unique bits required to generate a delegated prefix; select the quantity of unique bits indicated in the message from a unique information source; combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix, wherein the delegated prefix may be formatted using the first protocol version; and determine the one or more available prefixes based on the delegated prefix.
The above summary is provided merely for purposes of summarizing some example embodiments of the invention so as to provide a basic understanding of some aspects of the invention. Accordingly, it will be appreciated that the above described example embodiments are merely examples and should not be construed to narrow the scope or spirit of the invention in any way. It will be appreciated that the scope of the invention encompasses many potential embodiments, some of which will be further described below, in addition to those here summarized.
BRIEF DESCRIPTION OF THE DRAWING(S) Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 illustrates a terminal apparatus for facilitating stateless prefix delegation according to an example embodiment of the present invention;
FIG. 2 illustrates a network entity for facilitating stateless prefix delegation according to an example embodiment of the present invention;
FIG. 3 is a schematic block diagram of a mobile terminal according to an example embodiment of the present invention;
FIG. 4 illustrates a block diagram of an example system for facilitating stateless prefix delegation according to an example embodiment of the present invention;
FIG. 5 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention;
FIG. 6 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention; and
FIG. 7 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention.
DETAILED DESCRIPTION
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
As used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term 'circuitry' also includes an
implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
FIG. 1 illustrates a terminal apparatus 102 for facilitating stateless prefix delegation according to an example embodiment of the present invention. It will be appreciated that the scope of the invention encompasses many potential embodiments in addition to those illustrated and described herein. As such, while FIG. 1 illustrates one example of a configuration of a terminal apparatus 102 for facilitating stateless prefix delegation, numerous other configurations may also be used to implement embodiments of the present invention.
The terminal apparatus 102 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, server, network node, multiple computing devices in communication with each other, any combination thereof, and/or the like. In an example embodiment, the terminal apparatus 102 may be embodied as a mobile terminal, such as that illustrated in FIG. 3.
In this regard, FIG. 3 illustrates a block diagram of a mobile terminal 10 representative of one embodiment of a terminal apparatus 102 in accordance with embodiments of the present invention. It should be understood, however, that the mobile terminal 10 illustrated and hereinafter described is merely illustrative of one type of terminal apparatus 102 that may implement and/or benefit from embodiments of the present invention and, therefore, should not be taken to limit the scope of the present invention. While several embodiments of the electronic device are illustrated and will be hereinafter described for purposes of example, other types of electronic devices, such as mobile telephones, mobile computers, portable digital assistants (PDAs), pagers, laptop computers, desktop computers, gaming devices, televisions, and any other type of electronic system, may employ embodiments of the present invention.
As shown, the mobile terminal 10 may include an antenna 12 (or multiple antennas 12) in communication with a transmitter 14 and a receiver 16. The mobile terminal may also include a processor 20 that provides signals to and receives signals from the transmitter and receiver, respectively. These signals may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wireless-Fidelity (Wi-Fi), wireless local access network (WLAN) techniques such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, 802.16, and/or the like. In addition, these signals may include speech data, user generated data, user requested data, and/or the like. In this regard, the mobile terminal may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. More particularly, the mobile terminal may be capable of operating in accordance with various first generation (1G), second generation (2G), 2.5G, third-generation (3G) communication protocols, fourth- generation (4G) communication protocols, Internet Protocol Multimedia
Subsystem (IMS) communication protocols (e.g., session initiation protocol (SIP)), and/or the like. For example, the mobile terminal may be capable of operating in accordance with 2G wireless communication protocols IS- 136 (Time Division Multiple Access (TDMA)), Global System for Mobile communications (GSM), IS- 95 (Code Division Multiple Access (CDMA)), and/or the like. Also, for example, the mobile terminal may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the mobile terminal may be capable of operating in accordance with 3G wireless
communication protocols such as Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), and/or the like. The mobile terminal may be additionally capable of operating in accordance with 3.9G wireless communication protocols such as Long Term Evolution (LTE) or Evolved Universal Terrestrial Radio Access Network (E-UTRAN) and/or the like. Additionally, for example, the mobile terminal may be capable of operating in accordance with fourth-generation (4G) wireless communication protocols and/or the like as well as similar wireless communication protocols that may be developed in the future.
Some Narrow-band Advanced Mobile Phone System (NAMPS), as well as Total Access Communication System (TACS), mobile terminals may also benefit from embodiments of this invention, as should dual or higher mode phones (e.g., digital/analog or TDMA/CDMA/analog phones). Additionally, the mobile terminal 10 may be capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for Microwave Access (WiMAX) protocols.
It is understood that the processor 20 may comprise circuitry for implementing audio/video and logic functions of the mobile terminal 10. For example, the processor 20 may be embodied as various means including circuitry, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits, such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. The processor may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like. Further, the processor may comprise functionality to operate one or more software programs, which may be stored in memory. For example, the processor 20 may be capable of operating a connectivity program, such as a web browser. The connectivity program may allow the mobile terminal 10 to transmit and receive web content, such as location- based content, according to a protocol, such as Wireless Application Protocol (WAP), hypertext transfer protocol (HTTP), and/or the like. The mobile terminal 10 may be capable of using a Transmission Control Protocol/Internet Protocol
(TCP/IP) to transmit and receive web content across the internet or other networks.
The mobile terminal 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20. In this regard, the processor 20 may comprise user interface circuitry configured to control at least some functions of one or elements of the user interface, such as, for example, the speaker 24, the ringer 22, the microphone 26, the display 28, and/or the like. The processor 20 and/or user interface circuitry comprising the controller 20 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., volatile memory 40, non-volatile memory 42, and/or the like). The mobile terminal may comprise a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output. The user input interface may comprise devices allowing the mobile terminal to receive data, such as a keypad 30, a touch display, a joystick, and/or other input device. In embodiments including a keypad, the keypad may comprise numeric (0-9) and related keys (#, *), and/or other keys for operating the mobile terminal.
As shown in FIG. 3, the mobile terminal 10 may also include one or more means for sharing and/or obtaining data. For example, the mobile terminal may comprise a short-range radio frequency (RF) transceiver and/or interrogator 64 so data may be shared with and/or obtained from electronic devices in accordance with RF techniques. The mobile terminal may comprise other short-range transceivers, such as, for example, an infrared (IR) transceiver 66, a Bluetooth™ (BT) transceiver 68 operating using Bluetooth™ brand wireless technology developed by the Bluetooth™ Special Interest Group, a wireless universal serial bus (USB) transceiver 70 and/or the like. The Bluetooth™ transceiver 68 may be capable of operating according to ultra-low power Bluetooth™ technology (e.g., Wibree ) radio standards. In this regard, the mobile terminal 10 and, in particular, the short-range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within a proximity of the mobile terminal, such as within 10 meters, for example. The mobile terminal may be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including Wireless Fidelity (Wi-Fi), WLAN techniques such as IEEE 802.1 1 techniques, IEEE 802.16 techniques, and/or the like.
The mobile terminal 10 may comprise memory, such as a subscriber identity module (SIM) 38, a removable user identity module (R-UIM), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the mobile terminal 10 may comprise other removable and/or fixed memory. The mobile terminal 10 may include volatile memory 40 and/or non- volatile memory 42. For example, volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory 42, which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory 40 non-volatile memory 42 may include a cache area for temporary storage of data. The memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the mobile terminal for performing functions of the mobile terminal. For example, the memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the mobile terminal 10.
Returning now to FIG. 1 , in an example embodiment the terminal apparatus 102 includes various means, such as a processor 120, memory 122, communication interface 124, user interface 126, and prefix determination circuitry 128 for performing the various functions herein described. These means of the terminal apparatus 102 as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer- readable program instructions (e.g., software or firmware) stored on a computer- readable medium (e.g. memory 122) that is executable by a suitably configured processing device (e.g., the processor 120), or some combination thereof.
The processor 120 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in FIG. 1 as a single processor, in some embodiments the processor 120 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively configured to function as the terminal apparatus 102. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the terminal apparatus 102 as described herein. In embodiments wherein the terminal apparatus 102 may be embodied as a mobile terminal 10, the processor 120 may be embodied as or comprise the processor 20. In an example embodiment, the processor 120 may be configured to execute instructions stored in the memory 122 or otherwise accessible to the processor 120. These instructions, when executed by the processor 120, may cause the terminal apparatus 102 to perform one or more of the functionalities of the terminal apparatus 102 as described herein. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 120 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 120 is embodied as an ASIC, FPGA or the like, the processor 120 may comprise specifically configured hardware for conducting one or more operations described herein. Alternatively, as another example, when the processor 120 is embodied as an executor of instructions, such as may be stored in the memory 122, the instructions may specifically configure the processor 120 to perform one or more algorithms and operations described herein.
The memory 122 may include, for example, volatile and/or non- volatile memory. Although illustrated in FIG. 1 as a single memory, the memory 122 may comprise a plurality of memories. The plurality of memories may be embodied on a single computing device or distributed across a plurality of computing devices. The memory 122 may comprise volatile memory, non- volatile memory, or some combination thereof. In this regard, the memory 122 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD- ROM), an optical disc, circuitry configured to store information, or some combination thereof. In embodiments wherein the terminal apparatus 102 is embodied as a mobile terminal 10, the memory 122 may comprise the volatile memory 40 and/or the non-volatile memory 42. The memory 122 may be configured to store information, data, applications, instructions, or the like for enabling the terminal apparatus 102 to carry out various functions in accordance with embodiments of the present invention. For example, in at least some example embodiments, the memory 122 may be configured to buffer input data for processing by the processor 120. Additionally or alternatively, in at least some example embodiments, the memory 122 may be configured to store program instructions for execution by the processor 120. The memory 122 may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by the prefix determination circuitry 128 during the course of performing their functionalities.
The communication interface 124 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 122) and executed by a processing device (e.g., the processor 120), or a combination thereof that is configured to receive and/or transmit data from/to another device, such as, for example, a server, a network entity (e.g., the network entity 104 illustrated in FIG. 4), a DHCP entity (e.g., the DHCP entity 108 illustrated in FIG. 4), a downstream device (e.g., the downstream devices 106 illustrated in FIG. 4), and/or the like. In at least one embodiment, the
communication interface 124 may be at least partially embodied as or otherwise controlled by the processor 120. In this regard, the communication interface 124 may be in communication with the processor 120, such as via a bus. The communication interface 124 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with another computing device. The communication interface 124 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices. The communication interface 124 may additionally be in communication with the memory 122, user interface 126, and/or prefix determination circuitry 128, such as via a bus.
The user interface 126 may be in communication with the processor 120 to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user. As such, the user interface 126 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms. In embodiments wherein the terminal apparatus 102 is embodied as a server, aspects of the user interface 126 may be reduced or the user interface 126 may even be eliminated. Alternatively, in embodiments wherein the terminal apparatus 102 is embodied as a server, at least some aspects of the user interface 126 may be embodied on an apparatus used by a user that is in communication with the terminal apparatus 102. The user interface 126 may be in communication with the memory 122, communication interface 124, and/or prefix determination circuitry 128, such as via a bus.
The prefix determination circuitry 128 may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 122) and executed by a processing device (e.g., the processor 120), or some combination thereof and, in one embodiment, may be embodied as or otherwise controlled by the processor 120. In embodiments wherein the prefix determination circuitry 128 is embodied separately from the processor 120, the prefix determination circuitry 128 may be in communication with the processor 120. The prefix determination circuitry 128 may further be in communication with one or more of the memory 122, communication interface 124, or user interface 126, such as via a bus. The prefix determination circuitry 128 may be configured to facilitate stateless prefix delegation, such as to enable a terminal apparatus 102 to determine and allocate one or more addresses available for allocation based on a delegated prefix.
The prefix determination circuitry 128 may be configured to connect directly to or indirectly to, such as via a network management relay entity, a network entity 104. Accordingly, the prefix determination circuitry 128 may be configured to receive in response directly from or indirectly from, such as via a network management relay entity, a network entity 104 a message indicating a unique identifier allocated to the terminal apparatus 102. In certain embodiments, the unique identifier may be an IP address allocated to the terminal apparatus 102. In an example embodiment, the unique identifier may be a unique IPv6 64-bit prefix. In this regard, the unique IPv6 64-bit prefix may have been allocated by a 3rd Generation Partnership Project (3GPP) Public Data Network (PDN) Gateway, a Gateway GPRS Support Node (GGSN), a WiMAX Connectivity Service Network (CSN) Gateway, any other point-to-point access gateway, or the like.
To facilitate stateless prefix delegation, the prefix determination circuitry 128 may be configured to send a message directly to or indirectly to, such as via a network management relay entity, a network entity 104 to request a common stateless delegation prefix for the service provider. According to some example embodiments, the request may be made via a Dynamic Host Configuration
Protocol (DHCP) Information Request, in an example embodiment via a DHCP version 6 (DHCPv6) Information Request. Accordingly, the prefix determination circuitry 128 may be configured to receive in response directly from or indirectly from, such as via a network management relay entity, a network entity 104 a message comprising at least the common stateless delegation prefix and an indication of the number of bits from the unique information source associated with the terminal apparatus 102 required to generate the delegated prefix.
According to an example embodiment, the received message may comprise an indication of the unique information source from which to generate the delegated prefix. The received message may additionally include an indication of the length of the common stateless delegation prefix in number of bits. In at least one embodiment, the common stateless delegation prefix may be an IPv6 common stateless delegation prefix associated with the service provider. In another embodiment, the common stateless delegation prefix may be associated solely with the terminal apparatus 102. According to some embodiments, the prefix determination circuitry 128 may be configured to receive the delegated prefix configuration information via a DHCPv6 option, IPv6 Router Advertisement option, 3GPP specific means, Open Mobile Alliance (OMA) signaling, or the like. The prefix determination circuitry 128 may further be configured to utilize the information received in the above described common stateless delegation prefix response message to select a quantity of unique bits from a unique information source to facilitate generating the delegated prefix. The prefix determination circuitry 128 may select the quantity of unique bits from a unique information source associated with the terminal apparatus 102 based on the quantity indicated in the message. According to example embodiments, the unique information source from which the bits are selected may be the unique IPv6 64-bit prefix. In alternate embodiments, the unique information source may be an IPv4 address allocated to the terminal apparatus 102, an Interface Identifier (IID) of the terminal apparatus 102, an IPv6 address allocated to the terminal apparatus 102 statefully using DHCPv6, a Layer 2 identifier such as a GPRS Tunneling Protocol Tunnel Endpoint Identifier (GTP TEID), or any other similar unique information source associated with the terminal apparatus 102. In selecting the indicated quantity of unique bits from the unique information source, the prefix
determination circuitry 128 may be configured to select the least significant bits, namely the rightmost bits of the unique information source. In embodiments where the indicated quantity of least significant bits of the unique information source are not the unique bits of the unique information source, the prefix determination circuitry 128 may be configured to select the quantity of unique bits from a different portion of the unique information source such that the selected bits uniquely identify the terminal apparatus 102.
The prefix determination circuitry 128 may further be configured to generate the delegated prefix so as to facilitate stateless prefix delegation. In this regard, the prefix determination circuitry 128 may be configured to combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix. The prefix determination circuitry 128 may effect the combination by appending the bits selected from the unique information source to the end of the common stateless delegation prefix. Such a concatenation results in the creation of an n-bit prefix, which may be known as the delegated prefix. The delegated prefix generated by the prefix determination circuitry 128 may define the delegated address space.
Additionally, the prefix determination circuitry 128 may further be configured to determine the one or more available prefixes based on the delegated prefix; The prefix determination circuitry 128 may determine the number of prefixes available for allocation based on the length of the delegated prefix. In particular, the length of the n-bit delegated prefix may be equal to the length of the common stateless delegation prefix plus the quantity of unique bits indicated in the above described common stateless delegation prefix response message. The prefix determination circuitry 128 may subtract the length of the delegated prefix in bits from the length of the available number of bits in an address according to the current network protocol to determine the number of bits remaining for defining the delegated address space. The remaining bits may be referred to as the subnet ID of the address. The prefix determination circuitry 128 may utilize the length of the number of bits remaining to calculate the number of delegated prefixes and addresses in the delegated address space. In this regard, a subnet ID of n bits represents 2" available delegated subnets. In embodiments where the network protocol is IPv6, the number of bits available for generating unique prefixes may be 64, assuming the trailing 64 bits of the 128-bit IPv6 address are reserved for the IID. In these embodiments, the prefix determination circuitry 128 may subtract the length of the delegated prefix from 64 to determine the number of bits available in the address space for allocating unique addresses and prefixes to downstream devices 106. In this regard, the length of the delegated prefix may be limited to less than the number of bits in an address according to the current network protocol. In instances where the length of the delegated prefix equals or exceeds the number of bits in an address according to the current network protocol, no bits remain for generating unique addresses for downstream devices 106.
The prefix determination circuitry 128 may be configured to allocate a subnet prefix of the delegated prefix to one or more local networks. According to some embodiments, a local network may be a local area network such as a WLAN, Bluetooth™ Personal Area Network, fixed Ethernet network, or the like. In this regard, the prefix determination circuitry 128 may advertise the allocated subnet prefix to the downstream devices 106 in the respective one or more local networks. The downstream devices 106 may use the allocated subnet prefix to configure a unique address for themselves within the allocated subnet prefix space. In some embodiments, the downstream devices 106 may use their unique IID to configure their unique address. According to an example embodiment, a downstream device 106 may be configured to perform the functionality of the terminal apparatus 102 and further delegate prefixes within the subnet prefix to devices downstream from the downstream device 106. In this regard, the terminal apparatus 102 may be configured to perform the functionality of the network entity 104 with respect to the downstream device 106. The prefix determination circuitry 128 may be configured to accept a request from a downstream device 106 for a second common stateless delegation prefix. Furthermore, the prefix determination circuitry 128 may be configured to allocate a second common stateless delegation prefix that may be a subnet prefix of the delegated prefix to the downstream device 106 on a local network of the terminal apparatus 102. In an example embodiment, the prefix determination circuitry 128 may be further configured to implement a DHCPv6 server to facilitate delegating the prefix downstream.
Referring now to FIG. 2, the network entity 104 may comprise any computing device, mobile or fixed, and may be embodied as a server, desktop computer, laptop computer, mobile terminal 10, and/or the like configured to provide network side services, such as address allocation. The network entity 104 may also be embodied as a combination of a plurality of computing devices configured to provide network side services, such as address allocation. In this regard, the network entity 104 may be embodied, for example, as a server cluster and/or may be embodied as a distributed computing system, which may be distributed across a plurality of computing devices, such as, for example, mobile terminals 10. In one embodiment, the network entity 104 may be embodied as a gateway of a service provider. For example, the network entity 104 may be embodied as a 3 GPP PDN Gateway, a GGSN, a WiMAX CSN Gateway, or the like. In some embodiments, the network entity 104 may be located a single hop from the terminal apparatus 102.
In an example embodiment the network entity 104 includes various means, such as a processor 220, memory 222, communication interface 224, and prefix delegation circuitry 228 for performing the various functions herein described. These means of the network entity 104 as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions (e.g., software or firmware) stored on a computer-readable medium (e.g. memory 222) that is executable by a suitably configured processing device (e.g., the processor 220), or some
combination thereof.
The processor 220 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in FIG. 2 as a single processor, in some embodiments the processor 220 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively configured to function as the network entity 104. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the network entity 104 as described herein. In embodiments wherein the network entity 104 is embodied as a mobile terminal 10, the processor 120 may be embodied as or comprise the controller 20. In an example embodiment, the processor 220 may be configured to execute instructions stored in the memory 222 or otherwise accessible to the processor 220. These instructions, when executed by the processor 220, may cause the network entity 104 to perform one or more of the functionalities of the network entity 104 as described herein. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 220 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 220 is embodied as an ASIC, FPGA or the like, the processor 220 may comprise specifically configured hardware for conducting one or more operations described herein. Alternatively, as another example, when the processor 220 is embodied as an executor of instructions, such as may be stored in the memory 222, the instructions may specifically configure the processor 220 to perform one or more algorithms and operations described herein.
The memory 222 may include, for example, volatile and/or non-volatile memory. Although illustrated in FIG. 2 as a single memory, the memory 222 may comprise a plurality of memories. The plurality of memories may be embodied on a single computing device or distributed across a plurality of computing devices. The memory 222 may comprise volatile memory, non-volatile memory, or some combination thereof. In this regard, the memory 222 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD- ROM), an optical disc, circuitry configured to store information, or some combination thereof. In embodiments wherein the network entity 104 is embodied as a mobile terminal 10, the memory 222 may comprise the volatile memory 40 and/or the non- volatile memory 42. The memory 222 may be configured to store information, data, applications, instructions, or the like for enabling the network entity 104 to carry out various functions in accordance with example embodiments of the present invention. For example, in at least some embodiments, the memory 222 may be configured to buffer input data for processing by the processor 220. Additionally or alternatively, in at least some embodiments, the memory 222 may be configured to store program instructions for execution by the processor 220. The memory 222 may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by the prefix delegation circuitry 228 during the course of performing their functionalities.
The communication interface 224 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 222) and executed by a processing device (e.g., the processor 220), or a combination thereof that may be configured to receive and/or transmit data from/to another device, such as, for example, a server, a terminal apparatus (e.g., the terminal apparatus 102 illustrated in FIG. 4), a DHCP entity (e.g., the DHCP entity 108 illustrated in FIG. 4), a downstream device (e.g., the downstream devices 106 illustrated in FIG. 4), and/or the like. In at least one embodiment, the communication interface 224 may be at least partially embodied as or otherwise controlled by the processor 220. In this regard, the communication interface 224 may be in communication with the processor 220, such as via a bus. The communication interface 224 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with another computing device. The communication interface 224 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices. The communication interface 224 may additionally be in communication with the memory 222 and/or prefix delegation circuitry 228, such as via a bus.
The prefix delegation circuitry 228 may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 222) and executed by a processing device (e.g., the processor 220), or some combination thereof and, in one embodiment, may be embodied as or otherwise controlled by the processor 220. In embodiments wherein the prefix delegation circuitry 228 is embodied separately from the processor 220, the prefix delegation circuitry 228 may be in communication with the processor 220. The prefix delegation circuitry 228 may further be in communication with one or more of the memory 222 or communication interface 224 such as via a bus. The prefix delegation circuitry 228 may be configured to facilitate stateless prefix delegation, such as by delegating a prefix to facilitate a terminal apparatus 102 connected to the network entity 104 to determine and allocate one or more addresses available for allocation based on the delegated prefix.
The prefix delegation circuitry 228 may be configured to determine the number of unique addresses to be delegated by the delegated prefix. The number of unique addresses to be delegated may depend on the number of hosts that are to be supported by the network entity 104 and the number of addresses or subnets each host is to be allocated. According to various embodiments, the host may be a subscriber. In certain embodiments, only a subset of all subscribers may be delegated addresses for allocation, for example stateless prefix delegation may be provided as a premium service to subscribers. In additional or alternative embodiments, the number of addresses or subnets each subscriber is to be allocated may vary from subscriber to subscriber. The number of unique addresses to be delegated may depend on the address space available for delegation. The prefix delegation circuitry 228 may be configured to calculate the number of unique addresses to be delegated by adding all of the addresses or subnets to be allocated for each subscriber.
The prefix delegation circuitry 228 may be configured to request configuration information for facilitating stateless prefix delegation. The configuration information may comprise an indication of a common stateless delegation prefix. In this regard, the prefix delegation circuitry 228 may request a common stateless delegation prefix of a particular size based on the number of unique addresses to be allocated as determined above. According to some embodiments, the request may be made via a DHCP Information Request, in an example embodiment via a DHCPv6 Information Request. Accordingly, the prefix delegation circuitry 228 may be configured to receive in response the requested configuration information. In some embodiments, the configuration information may be received via a DHCP entity, in an example embodiment via a DHCPv6 entity. In additional or alternative embodiments, the configuration information may be delivered in a Router Advertisement (in certain embodiments an IPv6 Router Advertisement), via 3 GPP specific signaling, OMA, or the like.
The prefix delegation circuitry 228 may further be configured to receive a connection request directly from or indirectly from, such as via a network management relay entity, a terminal apparatus 102. Accordingly, the prefix delegation circuitry 228 may be configured to send in response directly to or indirectly to, such as via a network management relay entity, a terminal apparatus 102 a message comprising an indication of a unique identifier allocated to the terminal apparatus 102. In certain embodiments, the unique identifier may be an IP address allocated to the terminal apparatus 102. In an example embodiment, the unique identifier may be a unique IPv6 64-bit prefix.
The prefix delegation circuitry 228 may be configured to calculate the delegated prefix for the newly connected terminal apparatus 102. In an example embodiment, the delegated prefix may be calculated based on the common stateless delegation prefix and the unique identifier allocated to the terminal apparatus 102. In embodiments where the delegated prefix is based on the unique identifier, static unique identifiers may be used so that the downstream network need not be renumbered each time the connection of the terminal apparatus 102 is re-established. In embodiments where the delegated prefix is based on a unique information source other than the unique identifier allocated to the terminal apparatus 102, the prefix delegation circuitry may acquire the alternative unique information from the appropriate source. The calculation may be based on the number of addresses to be delegated to the terminal apparatus 102. In this regard, the prefix delegation circuitry 228 may be configured to calculate the number of bits necessary to uniquely identify each subscriber to which addresses will be allocated. Additionally, the prefix delegation circuitry 228 may be configured to calculate the number of bits required to generate the number of addresses or subnets the terminal apparatus 102 will be allocated. The prefix delegation circuitry 228 may further be configured to calculate the length in bits of the common stateless delegation prefix. In this regard, the prefix delegation circuitry 228 may calculate these values such that the number of bits required to uniquely identify each subscriber plus the number of bits required to generate the number of addresses or subnets the terminal apparatus 102 is to be allocated plus the number of bits of the common stateless delegation prefix does not exceed the number of bits available for the delegated prefix. Accordingly, the prefix delegation circuitry 228 may select the number of bits required to uniquely identify each subscriber from the unique information source. The prefix delegation circuitry 228 may be configured to calculate the delegated prefix by appending the selected bits from the unique information source to the end of the common stateless delegation prefix. In some embodiments, the selected bits of the unique information source may be the least significant bits of the unique identifier. According to various embodiments, the delegated prefix may be an IPv6 delegated prefix. The prefix delegation circuitry 228 may be further configured to update the routing tables to reflect the newly calculated delegated prefix for the newly added terminal apparatus 102. Accordingly, the accounting and authorization functions may identify the subscriber that should receive data destined for downstream devices 106 by calculating the delegated prefix using the unique information source.
The prefix delegation circuitry 228 may be further configured to receive a request directly from or indirectly from, such as via a network management relay entity, a terminal apparatus 102 for configuration information for facilitating the determination of the delegated prefix. The request for configuration information may comprise a request for an indication of the common stateless delegation prefix. Accordingly, the prefix delegation circuitry 228 may be configured to send in response directly to or indirectly to, such as via a network management relay entity, a terminal apparatus 102 a message comprising an indication of
configuration information for facilitating the determination of the delegated prefix. The configuration information may comprise an indication of the common stateless delegation prefix and an indication of the number of bits from a unique information source associated with the terminal apparatus 102 required to generate the delegated prefix. The configuration information may further comprise an indication of the length of the common stateless delegation prefix in number of bits. Additionally, the configuration information may comprise an indication of the unique information source from which the terminal apparatus 102 should select the unique bits required to generate the delegated prefix. According to various embodiments, the unique information source may be determined contextually based on the type of network. For example, the unique information source may be determined contextually to be an IPv6 64-bit prefix when the network is a 3rd Generation Partnership Project (3GPP) network
According to an example embodiment, once the terminal apparatus 102 generates the delegated prefix, the terminal apparatus 102 may be configured to implement the functionality of the network entity 104. In this regard, the terminal apparatus 102 may create a second common stateless delegation prefix based on the delegated prefix and advertise the new common stateless delegated prefix to the downstream devices 106. Accordingly, the downstream devices 106 may then implement the functionality of a terminal apparatus 102 in order to generate a new delegated prefix. In some embodiments, this recursive delegation may continue further downstream from the downstream devices 106 as many times as the available bits of the protocol address permits.
A use case scenario contemplated in accordance with various embodiments of the present invention will now be described in conjunction with FIG. 2. The use case scenario will be discussed in conjunction with usage of an IPv6-only network and, accordingly, unique IPv6 addresses. It will be appreciated, however, that use of IPv6 addresses are provided merely for example and embodiments of the invention are not limited to facilitating stateless prefix delegation using IPv6 network addresses.
In the use case scenario, the prefix delegation circuitry 228 may support approximately 16.78 million simultaneous subscribers. The prefix delegation circuitry 228 may calculate that to support 16.78 million subscribers, the number of bits required from a unique information source must be 24 bits (e.g. 224 ~ 16.78 million). Furthermore, the prefix delegation circuitry 228 may elect to delegate 256 unique prefixes per subscriber. Accordingly, the prefix delegation circuitry
228 may calculate that 8 bits are needed (e.g. 2 = 256). The prefix delegation circuitry 228 may then determine that for an IPv6 delegated prefix, a common stateless delegation prefix of 32 bits may be required. That is, the prefix delegation circuitry 228 may subtract the 24 bits for the unique information source and the 8 bits for the prefixes per subscriber from the 64 available bits of the IPv6 delegated prefix to determine that the common stateless delegation prefix should be 32 bits long.
FIG. 4 illustrates a block diagram of a system 100 for facilitating stateless prefix delegation according to an example embodiment of the present invention. It will be appreciated that the scope of the invention encompasses many potential embodiments in addition to those illustrated and described herein. As such, while FIG. 4 illustrates one example of a configuration of a system for facilitating stateless prefix delegation, numerous other configurations may also be used to implement embodiments of the present invention.
In at least some embodiments, the system 100 includes a network entity 104, terminal apparatus 102, and one or more downstream devices 106. According to other embodiments, the system 100 further comprises a DHCP entity 108. As used herein, a "DHCP" entity includes both DHCP servers and DHCP relay devices. In at least some embodiments, the system 100 further comprises a network 110. The network 110 may comprise one or more wireline networks, one or more wireless networks (e.g., a cellular network, wireless local area network, wireless personal area network, wireless metropolitan area network, and/or the like), or some combination thereof, and in some embodiments comprises the internet. In one embodiment, the network 1 10 comprises a public land mobile network (e.g., a cellular network), such as may be implemented by a network operator (e.g. a cellular access provider). The network 110 may operate in accordance with universal terrestrial radio access network (UTRAN) standards, evolved UTRAN (E-UTRAN) standards, and/or the like. It will be appreciated, however, that where references herein are made to a network standard and/or terminology particular to a network standard, the references are provided merely by way of example and not by way of limitation. Additionally, although the system 100 illustrates a single terminal apparatus 102, a single network entity 104, three downstream devices 106, and an optional DHCP entity 108 for purposes of example, the system 100 may include a plurality of terminal apparatuses 102, network entities 104, DHCP entities 108, and/or any number of downstream devices 106.
The downstream device 106 may comprise any device located in any of the local networks of the terminal apparatus 102 that is configured to be allocated one of the addresses delegated to the terminal apparatus 102 via the delegated prefix. In this regard, the downstream device 106 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like.
The network entity 104 may comprise any computing device, mobile or fixed, and may be embodied as a server, desktop computer, laptop computer, mobile terminal 10, and/or the like configured to provide network side services, such as address allocation. The network entity 104 may also be embodied as a combination of a plurality of computing devices configured to provide network side services, such as address allocation. In this regard, the network entity 104 may be embodied, for example, as a server cluster and/or may be embodied as a distributed computing system, which may be distributed across a plurality of computing devices, such as, for example, mobile terminals 10. In one
embodiment, the network entity 104 may be embodied as a gateway of a service provider. For example, the network entity 104 may be embodied as a 3 GPP PDN Gateway, a GGSN, a WiMAX CSN Gateway, or the like. In some embodiments, the network entity 104 may be located a single hop from the terminal apparatus 102.
The terminal apparatus 102 may comprise any device configured for use to generate a delegated prefix and determine the addresses available for allocation based on the delegated prefix. In this regard, the terminal apparatus 102 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like. The terminal apparatus 102 may be allocated a network address in accordance with a network address protocol. In an example embodiment, the terminal apparatus 102 may be embodied as a mobile terminal 10, such as that illustrated in FIG. 3. FIG. 5 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an example embodiment of the invention. In this regard, FIG. 5 illustrates operations that may be performed by the prefix determination circuitry 128. The method may comprise connecting to a network entity, at operation 500. Operation 510 may comprise receiving a unique device address. It will be appreciated, however, that operations 500-510 are not prerequisites to operation 520. In this regard, the terminal apparatus 102 may utilize a different unique information source to provide the unique bits required to generate the delegated prefix. The method may then comprise requesting the common stateless delegation prefix, at operation 520. Operation 530 may comprise receiving a message comprising the common stateless delegation prefix and an indication of the quantity of required unique bits. The method may then comprise selecting the quantity of unique bits indicated in the message from the unique information source such as the unique device address, at operation 540. Operation 550 may comprise combining the common stateless delegation prefix with the selected unique information source bits to generate the delegated prefix. The method may then comprise determining the one or more available prefixes based on the delegated prefix, at operation 560.
FIG. 6 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an additional example embodiment of the invention. In this regard, FIG. 6 illustrates operations that may be performed by the prefix determination circuitry 128. Operations 600-660 of FIG. 6 are identical to operations 500-560 of FIG. 5, as described above.
Additionally, the method may comprise allocating a subnet prefix of the delegated prefix to one or more local networks, at operation 670. Operation 680 may comprise advertising the subnet prefix to the respective one or more local networks.
FIG. 7 illustrates a flowchart according to an example method for facilitating stateless prefix delegation according to an additional example embodiment of the invention. In this regard, FIG. 7 illustrates operations that may be performed by the prefix delegation circuitry 228. The method may comprise determining the number of unique addresses to be delegated by the delegated prefix, at operation 700. Operation 710 may comprise requesting configuration information for facilitating stateless prefix delegation. The method may then comprise receiving the requested configuration information, at operation 720. Operation 730 may comprise receiving a connection request from a host. The method may comprise allocating and sending a unique identifier to the host, at operation 740. Operation 750 may comprise calculating the delegated prefix for the host and updating the routing tables to reflect the delegated prefix. The method may comprise receiving a request for configuration information for facilitating the determination of the delegated prefix, at operation 760. Operation 770 may comprise sending a message comprising the configuration information for facilitating the determination of the delegated prefix.
FIGs. 5-7 are flowcharts of a system, method, and computer program product according to example embodiments of the invention. It will be understood that each block or step of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware and/or a computer program product comprising one or more computer-readable mediums having computer readable program instructions stored thereon. For example, one or more of the procedures described herein may be embodied by computer program instructions of a computer program product. In this regard, the computer program product(s) that embodies the procedures described herein may be stored by one or more memory devices of a mobile terminal, server, or other computing device (e.g., the terminal apparatus 102 or network entity 104) and executed by a processor (e.g., the processor 120 or 220) in the computing device. In some embodiments, the computer program instructions comprising the computer program product(s) that embodies the procedures described above may be stored by memory devices of a plurality of computing devices. As will be appreciated, any such computer program product may be loaded onto a computer or other programmable apparatus to produce a machine, such that the computer program product including the instructions which execute on the computer or other programmable apparatus creates means for implementing the functions specified in the flowchart block(s) or step(s). Further, the computer program product may comprise one or more computer-readable memories on which the computer program instructions may be stored such that the one or more computer-readable memories can direct a computer or other programmable apparatus to function in a particular manner, such that the computer program product comprises an article of manufacture which implements the function specified in the flowchart block(s) or step(s). The computer program instructions of one or more computer program products may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block(s) or step(s).
Accordingly, blocks or steps of the flowchart support combinations of means for performing the specified functions and combinations of steps for performing the specified functions. It will also be understood that one or more blocks or steps of the flowchart, and combinations of blocks or steps in the flowchart, may be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer program product(s).
The above described functions may be carried out in many ways. For example, any suitable means for carrying out each of the functions described above may be employed to carry out embodiments of the invention. In one embodiment, a suitably configured processor may provide all or a portion of the elements of the invention. In another embodiment, all or a portion of the elements of the invention may be configured by and operate under control of a computer program product. The computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
As such, then, some embodiments of the invention provide several advantages to computing devices and computing device users. Embodiments of the invention provide for stateless prefix delegation. In this regard, embodiments of the invention provide stateless prefix delegation without the need for Network Address Translation (NAT), Neighbor Discovery proxy technology (particularly advantageous as IPv6 prefixes can be proxied only once), stateful DHCPv6 Prefix Delegation (DHCPv6 PD), multiple Public Data Networks (PDNs), or any special Authentication, Authorization, and Accounting (AAA). Embodiments of the invention provide stateless prefix delegation on an IPv6-only network, thus eliminating the need for dual stack implementation, IPv6-in-IPv4 encapsulation, or the use of IPv4 addresses at all. Embodiments of the invention advantageously provide for mapping for accounting, authorization, and legal interception one-to- one to the delegated prefix without requiring such entities to be dynamically informed of which prefixes are allocated to which hosts. Various embodiments of the invention provide for stateless prefix delegation with minimal or, in some embodiments, no changes to point-to-point elements and standards.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WHAT IS CLAIMED IS:
1. A method comprising:
receiving a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix, wherein the network entity is connected to a global network utilizing a first protocol version;
selecting the quantity of unique bits indicated in the message from a unique information source;
combining the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix, wherein the delegated prefix is formatted using the first protocol version; and
determining the one or more available prefixes based on the delegated prefix.
2. The method of Claim 1 , further comprising:
allocating a subnet prefix of the delegated prefix to one or more local networks; and
advertising the subnet prefix to the respective one or more local networks.
3. The method of Claim 2 wherein the quantity of unique bits required to generate a delegated prefix is based at least in part on a number of hosts to be supported simultaneously and a number of addresses to be allocated to each host.
4. The method of Claim 1 wherein the unique information source comprises a unique Internet Protocol version 6 prefix.
5. The method of Claim 4 wherein selecting the quantity of bits indicated further comprises selecting the least significant bits of the unique Internet Protocol version 6 prefix.
6. The method of Claim 4 wherein the first protocol version comprises Internet Protocol version 6.
7. The method of Claim 1 wherein the message comprises an indication of the unique information source from which to select the quantity of unique bits.
8. An apparatus comprising at least one processor and at least one memory storing computer program code, wherein the at least one memory and stored computer program code are configured to, with the at least one processor, cause the apparatus to at least:
receive a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix, wherein the network entity is connected to a global network utilizing a first protocol version;
select the quantity of unique bits indicated in the message from a unique information source;
combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix, wherein the delegated prefix is formatted using the first protocol version; and
determine the one or more available prefixes based on the delegated prefix.
9. The apparatus of Claim 8, wherein the at least one memory and stored computer program code are configured to, with the at least one processor, further cause the apparatus to:
allocating a subnet prefix of the delegated prefix to one or more local networks; and
advertising the subnet prefix to the respective one or more local networks.
10. The apparatus of Claim 9, wherein the quantity of unique bits required to generate a delegated prefix is based at least in part on a number of hosts to be supported simultaneously and a number of addresses to be allocated to each host.
1 1. The apparatus of Claim 8, wherein the first protocol version comprises Internet Protocol version 6.
12. The apparatus of Claim 1 1, wherein selecting the quantity of bits indicated further comprises selecting the least significant bits of the unique information source.
13. The apparatus of Claim 8 wherein the message comprises an indication of the unique information source from which to select the quantity of unique bits.
14. The apparatus of Claim 8, wherein the apparatus comprises or is embodied on a mobile phone, the mobile phone comprising user interface circuitry and user interface software stored on one or more of the at least one memory; wherein the user interface circuitry and user interface software are configured to: facilitate user control of at least some functions of the mobile phone through use of a display; and
cause at least a portion of a user interface of the mobile phone to be displayed on the display to facilitate user control of at least some functions of the mobile phone.
15. A computer program product comprising at least one computer- readable storage medium having computer-readable program instructions stored therein, the computer-readable program instructions comprising:
a program instruction configured for receiving a message comprising a common stateless delegation prefix for a network entity and an indication of a quantity of unique bits required to generate a delegated prefix, wherein the network entity is connected to a global network utilizing a first protocol version;
a program instruction configured for selecting the quantity of unique bits indicated in the message from a unique information source;
a program instruction configured for combining the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix, wherein the delegated prefix is formatted using the first protocol version; and
a program instruction configured for determining the one or more available prefixes based on the delegated prefix.
16. The computer program product of Claim 15, further comprising: a program instruction configured for allocating a subnet prefix of the delegated prefix to one or more local networks; and
a program instruction configured for advertising the subnet prefix to the respective one or more local networks.
17. The computer program product of Claim 16 wherein the quantity of unique bits required to generate a delegated prefix is based at least in part on a number of hosts to be supported simultaneously and a number of addresses to be allocated to each host.
18. The computer program product of Claim 15 wherein the unique information source comprises a unique Internet Protocol version 6 prefix and the first protocol version comprises Internet Protocol version 6.
19. The computer program product of Claim 18 wherein the program instruction configured for selecting the quantity of bits indicated further comprises selecting the least significant bits of the unique Internet Protocol version 6 prefix.
20. The computer program product of Claim 15 wherein the message comprises an indication of the unique information source from which to select the quantity of unique bits.
21. A system comprising:
a network entity connected to a global network utilizing a first protocol version; and
a mobile device configured to receive a message from the network entity comprising a common stateless delegation prefix and an indication of a quantity of unique bits required to generate a delegated prefix; select the quantity of unique bits indicated in the message from a unique information source; combine the common stateless delegation prefix and the bits selected from the unique information source to generate the delegated prefix, wherein the delegated prefix is formatted using the first protocol version; and determine the one or more available prefixes based on the delegated prefix.
22. The system of Claim 21 further comprising:
one or more entities connected to the mobile device;
wherein the mobile device is further configured to allocate a subnet prefix of the delegated prefix to one or more local networks and advertise the subnet prefix to the one or more entities in the respective one or more local networks; and wherein the unique information source comprises a unique Internet Protocol version 6 prefix and the first protocol version comprises Internet Protocol version 6.
23. The system of Claim 22, wherein the network entity generates the delegated prefix based on the unique Internet Protocol version 6 prefix and updates a routing table to route the delegated prefix to the mobile device.
PCT/IB2009/007088 2009-10-09 2009-10-09 System, method, and apparatus for facilitating stateless prefix delegation WO2011042767A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2009/007088 WO2011042767A1 (en) 2009-10-09 2009-10-09 System, method, and apparatus for facilitating stateless prefix delegation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2009/007088 WO2011042767A1 (en) 2009-10-09 2009-10-09 System, method, and apparatus for facilitating stateless prefix delegation

Publications (1)

Publication Number Publication Date
WO2011042767A1 true WO2011042767A1 (en) 2011-04-14

Family

ID=41566233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2009/007088 WO2011042767A1 (en) 2009-10-09 2009-10-09 System, method, and apparatus for facilitating stateless prefix delegation

Country Status (1)

Country Link
WO (1) WO2011042767A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111033420A (en) * 2017-09-01 2020-04-17 英特尔公司 Federated automated interoperability between premises and autonomous resources
US20210409328A1 (en) * 2018-11-01 2021-12-30 Nokia Technologies Oy Ipv6 address management in iab system
US11528346B2 (en) 2014-08-21 2022-12-13 Nokia Technologies Oy IPv4 communications using 6lowpan header compression mechanisms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070121613A1 (en) * 2004-02-02 2007-05-31 Laurent Clevy Automatic allocation of prefixes to equipments of an ipv6 communication network
US20080259925A1 (en) * 2007-04-23 2008-10-23 Ralph Edward Droms Extensions to IPv6 neighbor discovery protocol for automated prefix delegation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070121613A1 (en) * 2004-02-02 2007-05-31 Laurent Clevy Automatic allocation of prefixes to equipments of an ipv6 communication network
US20080259925A1 (en) * 2007-04-23 2008-10-23 Ralph Edward Droms Extensions to IPv6 neighbor discovery protocol for automated prefix delegation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11528346B2 (en) 2014-08-21 2022-12-13 Nokia Technologies Oy IPv4 communications using 6lowpan header compression mechanisms
CN111033420A (en) * 2017-09-01 2020-04-17 英特尔公司 Federated automated interoperability between premises and autonomous resources
US20210409328A1 (en) * 2018-11-01 2021-12-30 Nokia Technologies Oy Ipv6 address management in iab system
US12021749B2 (en) * 2018-11-01 2024-06-25 Nokia Technologies Oy IPV6 address management in iab system

Similar Documents

Publication Publication Date Title
US9992813B2 (en) Method and apparatus for keep-alive signalling
CN104137518B (en) Internet protocol connection over service oriented architecture bus
US8971255B2 (en) Method and apparatus for wireless device with multiple wireless interfaces using proxy mobility
EP2578050B1 (en) Method, and apparatus for determining a network interface preference policy
WO2010067144A1 (en) Assignment of a common network address to multiple network interfaces of a computing device
US9344402B2 (en) Method, device, and system for automatically selecting IPV6 address transmission mode
CN106797406B (en) IPv4 communication using 6LoWPAN header compression mechanism
US20110038377A1 (en) Method and apparatus for providing host node awareness for multiple NAT64 environments
US20150281947A1 (en) Method and apparatus for fast ip address assignment
US8953609B1 (en) Packet-data-network-specific addressing solutions for clients relying on proxy-based mobility
US9807176B2 (en) Method and apparatus for connection management
US20110110378A1 (en) Method and Apparatus for Communications Traffic Breakout
JP2017528052A (en) Technique for delegating a prefix to a Wi-Fi client connected to a mobile access point router
US10694358B2 (en) Session continuity for IPv6 over Bluetooth low energy
JP2014222908A (en) Method and apparatus for local gateway assignment in wireless networks
US9125148B2 (en) Method and apparatus for enabling provision of routing information and network selection information to one or more devices
US20060029014A1 (en) System and method for establishing dynamic home agent addresses and home addresses using the mobile IPv6 protocol
CN102918817B (en) Method and equipment for assigning IPv6 address
CN103298148A (en) Method for connecting mobile terminal to multiple PDNs (public data networks) through fixed network and related device
US7889705B2 (en) Mobile terminal and method for notifying access router of IP address in wireless network
WO2011042767A1 (en) System, method, and apparatus for facilitating stateless prefix delegation
EP2700254B1 (en) Apparatus and method for transmitting and receiving ip information in a wireless communication network
CN102469176B (en) Method and equipment for distributing IP (Internet protocol) addresses
US20120196609A1 (en) Systems, Methods, and Apparatuses for Facilitating Allocation of a Common Resource to a Terminal
US10862849B2 (en) Address resolution system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09748142

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09748142

Country of ref document: EP

Kind code of ref document: A1