USRE44798E1 - Cross-layer architecture for a network device - Google Patents

Cross-layer architecture for a network device Download PDF

Info

Publication number
USRE44798E1
USRE44798E1 US13/849,868 US201313849868A USRE44798E US RE44798 E1 USRE44798 E1 US RE44798E1 US 201313849868 A US201313849868 A US 201313849868A US RE44798 E USRE44798 E US RE44798E
Authority
US
United States
Prior art keywords
layer
network
based cross
protocol stack
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US13/849,868
Inventor
Gregory Morgan Evans
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qurio Holdings Inc
Original Assignee
Qurio Holdings 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 Qurio Holdings Inc filed Critical Qurio Holdings Inc
Priority to US13/849,868 priority Critical patent/USRE44798E1/en
Application granted granted Critical
Publication of USRE44798E1 publication Critical patent/USRE44798E1/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Definitions

  • the present invention relates to a cross-layer architecture for a network device, and more specifically relates to a cross-layer architecture for a network device having multiple applications and network interface cards.
  • the OSI protocol stack assumes a somewhat static performance of the low level protocol layers, such as the Media Access Control (MAC) layer and the physical layer (PHY).
  • MAC Media Access Control
  • PHY physical layer
  • the classic OSI protocol stack is not optimal. Changes in performance at the physical layer (PHY) result in rippling effects in the higher layers of the protocol stack. For example, as packets are dropped over an error prone wireless link, the Transmission Control Protocol (TCP) layer assumes network congestion at the Internet Protocol (IP) layer or high traffic loads within the network router. In response, the TCP layer overcompensates by slowing transmission rates.
  • IP Internet Protocol
  • cross-layering Due to the non-optimal performance of the classic OSI model in wireless networks, cross-layering has emerged as a viable approach to gaining network performance. In general, cross-layering is when communication or data sharing is enabled between non-adjacent layers in the protocol stack in violation of the classic OSI model.
  • One issue with known cross-layer architectures is that they do not support a network device having multiple applications interacting with multiple network interface cards. As such, there is a need for a cross-layer architecture for a network device having multiple applications interacting with multiple network interface cards.
  • the present invention provides a cross-layer architecture for a network device.
  • the network device includes a number of network interfaces each implementing a number of low level layers of a protocol stack and having a cross-layer agent associated with the low level layers of the protocol stack.
  • the low level protocol stack layers may include a physical layer, a link layer, a network layer, and a protocol layer.
  • the network device also includes an application based cross-layer agent associated with one or more high level protocol stack layers including an application layer.
  • the application layer may be a File Transfer Protocol (FTP) application.
  • FTP File Transfer Protocol
  • an arbitration agent operates to identify one of the network interfaces as a network interface for the network connection.
  • the arbitration agent then effects interconnection of the application based cross-layer agent and the network based cross-layer agent of the network interface and interconnection of the high level protocol stack layers including the application layer and the low level protocol stack layers of the network interface, thereby forming a complete protocol stack having a cross-layer architecture for the network connection.
  • FIG. 1 illustrates an exemplary network device implementing the cross-layering architecture of the present invention
  • FIG. 2 illustrates the messaging matrix for interconnecting application based cross-layer agents and network based cross-layer agents according to one embodiment of the present invention
  • FIG. 3 is flowchart illustrating the operation of the network device according to an exemplary embodiment of the present invention.
  • FIG. 4 is a block diagram of the network device of FIG. 1 .
  • the present invention relates to a cross-layer architecture for a network device having multiple applications and multiple network interfaces.
  • An exemplary embodiment of a network device 10 incorporating the cross-layer architecture of the present invention is illustrated in FIG. 1 .
  • the network device 10 includes a number of network interfaces 12 - 1 through 12 -M. It is to be understood that the network device 10 includes two or more network interfaces 12 - 1 , 12 -M.
  • the network interfaces 12 - 1 , 12 -M may be wireless network interfaces, wired network interfaces, or a combination thereof.
  • Exemplary wireless network interfaces are wireless network interfaces operating according to one or more of the suite of IEEE 802.11 standards (Wi-Fi), IEEE 802.16 standards (WiMAX), IEEE 802.15 standards (Personal Area Networks including Bluetooth and Zigbee), or the like.
  • Exemplary wired network interfaces include an Ethernet network interface, a modem, or the like.
  • the protocol stack of the Open System Interconnect (OSI) model is segmented such that low level layers of the protocol stack are implemented on the network interfaces 12 - 1 , 12 -M.
  • the traditional protocol stack is segmented such that Layers 1 - 4 are implemented on the network interfaces 12 - 1 , 12 -M and all layers above and including Layer 5 are implemented, for example, in software executed by a control system of the network device 10 .
  • the present invention is not limited thereto. Segmentation of the protocol stack may occur at any desired point in the protocol stack. Further, the segmentation of the protocol stack may vary among the network interfaces 12 - 1 , 12 -M.
  • the network interface 12 - 1 implements low level protocol stack layers 14 - 1 through 20 - 1 .
  • the low level protocol stack layers 14 - 1 through 20 - 1 may be implemented in hardware, software, or a combination of hardware and software and include a physical layer 14 - 1 , a link layer 16 - 1 , a network layer 18 - 1 , and a transport layer 20 - 1 .
  • the physical layer 14 - 1 is an IEEE 802.11x physical layer;
  • the link layer 16 - 1 is a Media Access Control (MAC) layer;
  • the network layer 18 - 1 is an Internet Protocol (IP) layer;
  • the transport layer 20 - 1 provides both a Transfer Control Protocol (TCP) service and a User Datagram Protocol (UDP) service.
  • TCP Transfer Control Protocol
  • UDP User Datagram Protocol
  • the network interface 12 -M implements low level protocol stack layers 14 -M through 20 -M.
  • IEEE 802.11x is used refer generically to any one of the suite of IEEE 8
  • the network device 10 also includes user applications 22 , 24 and a number of Layer 7 applications 26 - 1 through 26 -N.
  • the user applications 22 , 24 may be any applications desiring use of one or more of the network interfaces 12 - 1 , 12 -M.
  • Each of the user applications 22 , 24 may be, for example, a web browser, an e-mail application, an application for synchronizing e-mail between the network device 10 and a secondary device such as a Personal Digital Assistant (PDA), an application for streaming digital video to other network devices, a peer-to-peer photo or video sharing application, or the like.
  • the Layer 7 application 26 - 1 is a File Transfer Protocol (FTP) application and is used by the user application 22 .
  • FTP File Transfer Protocol
  • the FTP application 26 - 1 forms an application layer and may be coupled to one or more of the network interfaces 12 - 1 , 12 -M to form a complete protocol stack.
  • the Layer 7 application 26 -N is a Real-time Transfer Protocol (RTP) and RTP Control (RTPC) application used by the user application 24 .
  • the RTP/RTPC application 26 -N forms an application layer and may be coupled to one or more of the network interfaces 12 - 1 , 12 -M to form a complete protocol stack.
  • the network device 10 also includes network based cross-layer agents 28 - 1 through 28 -M associated with the network interfaces 12 - 1 through 12 -M; application based cross-layer agents 30 - 1 through 30 -N associated with the Layer 7 applications 26 - 1 through 26 -N; an arbitration agent 32 ; and a messaging matrix 34 .
  • the network based cross-layer agents 28 - 1 , 28 -M are implemented on the network interfaces 12 - 1 , 12 -M in hardware, software, or a combination of hardware and software.
  • the network based cross-layer agent 28 - 1 provides or facilitates information-sharing between and control of the low level protocol stack layers 14 - 1 through 20 - 1 , as will be apparent to one of ordinary skill in the art upon reading this disclosure.
  • the network based cross-layer agent 28 - 1 may be associated with the application based cross-layer agents 30 - 1 , 30 -N by the arbitration agent 32 and the messaging matrix 34 to facilitate information-sharing between and control of the low level protocol stack layers 14 - 1 through 20 - 1 and the upper protocol stack layers when desired.
  • the network based cross-layer agent 28 -M provides or facilitates information-sharing between and control of the low level protocol stack layers 14 -M through 20 -M, as will be apparent to one of ordinary skill in the art upon reading this disclosure.
  • the network based cross layer agent 28 -M may be associated with the application based cross-layer agents 30 - 1 , 30 -N by the arbitration agent 32 and the messaging matrix 34 to facilitate information-sharing between and control of the low level protocol layers 14 -M through 20 -M and the upper protocol stack layers when desired.
  • the application based cross-layer agents 30 - 1 and 30 -N are associated with, in this example, the FTP application 26 - 1 and the RTP/RTPC application 26 -N, respectively, and operate to facilitate information-sharing and control between the protocol stack layers.
  • the application based cross-layer agents 30 - 1 and 30 -N are preferably implemented in software executed by a control system of the network device 10 , but may alternatively be implemented in hardware or a combination of hardware and software.
  • the arbitration agent 32 is preferably implemented in software, but may alternatively be implemented in hardware or a combination of hardware and software.
  • the arbitration agent 32 operates to associate the application based cross-layer agents 30 - 1 , 30 -N with one or more of the network based cross-layer agents 28 - 1 , 28 -M as needed. For example, if the user application 22 desires to transfer a file to another network device via the FTP application 26 - 1 , the arbitration agent 32 may determine that the network interface 12 - 1 is capable of or preferred for providing a network connection to the other network device based on, for example, an IP address or Uniform Resource Locator (URL) of the other network device.
  • URL Uniform Resource Locator
  • the arbitration agent 32 operates to interconnect the FTP application 26 - 1 and the network interface 12 - 1 and interconnect the application based cross-layer agent 30 - 1 and the network based cross-layer agent 28 - 1 to provide a complete protocol stack having a cross-layer architecture for the network connection.
  • the implementation of the messaging matrix 34 may depend on the particular implementation of the network device 10 and specifically the network interfaces 12 - 1 , 12 -M.
  • the messaging matrix 34 may be implemented in software, hardware, or a combination of hardware and software. In operation, the messaging matrix 34 operates to interconnect the applications 26 - 1 , 26 -N of the upper protocol layers with the network interfaces and application based cross-layer agents 30 - 1 , 30 -N with the network based cross-layer agents 28 - 1 , 28 -M under the control of the arbitration agent 32 .
  • FIG. 2 more specifically illustrates the operation of the arbitration agent 32 and the messaging matrix 34 to interconnect application based cross-layer agents 30 - 1 through 30 - 4 and network based cross-layer agents 28 - 1 through 28 - 4 .
  • each “X” identifies a potential interconnection between one of the application based cross-layer agents 30 - 1 , 30 - 2 , 30 - 3 , 30 - 4 and one of the network based cross-layer agents 28 - 1 , 28 - 2 , 28 - 3 , 28 - 4 .
  • the arbitration agent 32 may control the messaging matrix 34 to interconnect the application based cross-layer agent 30 - 1 to any one or any combination of the network based cross-layer agents 28 - 1 through 28 - 4 .
  • the application based cross-layer agent 30 - 1 may desirably be connected to more than one of the network based cross-layer agents 28 - 1 through 28 - 4 when, for example, the network device 10 operates according to the proposed IEEE 802.11n standard, which provides for Multiple Input Multiple Output (MIMO) operation.
  • MIMO Multiple Input Multiple Output
  • the arbitration agent 32 may control the messaging matrix 34 to interconnect the application based cross-layer agents 30 - 2 through 30 - 4 to one or more of the network based cross-layer agents 28 - 1 through 28 - 4 when desired.
  • FIG. 3 is a flow chart illustrating the operation of the network device 10 according to an exemplary embodiment of the present invention.
  • the user application 22 is a web browser application. Operation begins when the web browser application 22 calls the FTP application 26 - 1 with an IP address or Uniform Resource Locator (URL) identifying another network device with which a network connection is desired (step 100 ).
  • the FTP application 26 - 1 then calls the associated application based cross-layer agent 30 - 1 with the IP address or URL (step 102 ).
  • the application based cross-layer agent 30 - 1 sends a request including the IP address or URL to the arbitration agent 32 for an appropriate network based cross-layer agent 28 - 1 , 28 -M (step 104 ).
  • the arbitration agent 32 matches the IP address or URL to one of the network based cross-layer agents 28 - 1 , 28 -M (step 106 ). More specifically, the arbitration agent 32 may determine which of the network interfaces 12 - 1 , 12 -M is capable of or is preferred for establishing a network connection with the other network device based on the IP address or URL of the other network device and associated network availability. Once the network device 12 - 1 , 12 -M is identified, the network based cross-layer agent 28 - 1 , 28 -M associated with the identified network interface 12 - 1 , 12 -M is identified as the desired network based cross-layer agent. In this example, the network based cross layer agent 28 - 1 is identified as the desired network based cross-layer agent.
  • the arbitration agent 32 then sends a request to the network based cross-layer agent 28 - 1 with the IP address or URL of the other network device (step 108 ).
  • the network based cross-layer agent 28 - 1 sends a response to the arbitration agent 32 including information indicating whether the network interface 12 - 1 has the ability to accept an interface to the FTP application 26 - 1 and, if so, appropriate protocol stack interface criteria including data and messaging requirements for the interface between the protocol stack layers (step 110 ).
  • the response may indicate whether the network interface 12 - 1 is currently in use such that bandwidth is unavailable or is limited.
  • the arbitration agent 32 may determine a priority assigned to the current connection maintained by the network interface 12 - 1 , a priority assigned to the desired transfer by the FTP application 26 - 1 , and optionally other criteria such as an expected duration of the current network connection of the network interface 12 - 1 or the like. Depending on these factors, the arbitration agent 32 may determine whether to wait until the current network connection of the network interface 12 - 1 has been terminated or to immediately terminate the current network connection such that the FTP application 26 - 1 is given immediate access to the network interface 12 - 1 .
  • the arbitration agent 32 may interact with the network based cross-layer agent 28 - 1 to determine whether the network interface 12 - 1 has the ability to establish parallel communication channels. For example, if the network interface 12 - 1 is a wireless network interface, the arbitration agent 32 may determine whether the network interface 12 - 1 is capable of establishing two parallel wireless communication links on non-overlapping channels. If so, the arbitration agent 32 may operate such that the network interface 12 - 1 establishes a second, parallel communication link for the FTP application 26 - 1 . If not, the arbitration agent 32 may operate such that the FTP application 26 - 1 waits until the network interface 12 - 1 is no longer in use or alternatively shares the bandwidth of the network interface 12 - 1 with the other application currently using the network interface 12 - 1 .
  • the network interface 12 - 1 has the ability to accept an interface to the FTP application 26 - 1 .
  • the arbitration agent selects an appropriate connection in the messaging matrix 34 to interconnect the application based cross-layer agent 30 - 1 to the network based cross-layer agent 28 - 1 (step 112 ).
  • the messaging matrix 34 is controlled by the arbitration agent 32 to interconnect the FTP application 26 - 1 to the network interface 12 - 1 .
  • the arbitration agent 32 may provide additional functionality by optimizing the cross-layer strategy.
  • the network interface 12 - 1 may be a wireless network interface operating according to one of the suite of IEEE 802.11 standards. Based on the IP address or URL and information from the network based cross-layer agent 28 - 1 , the arbitration agent 32 may determine that the other network device identified by the IP address or URL is within a local wireless coverage area of the network interface 12 - 1 such that a direct point-to-point wireless connection may be established between the two network devices.
  • the arbitration agent 32 may interact with the network based cross-layer agent 28 - 1 and optionally the application based cross-layer agent 30 - 1 to bypass, for example, the transport layer 20 - 1 and the network layer 18 - 1 .
  • the arbitration agent 32 notifies the application based cross-layer agent 30 - 1 of the protocol stack interface criteria (step 114 ), and an FTP session is established via the FTP application 26 - 1 and the network interface 12 - 1 (step 116 ).
  • the arbitration agent 32 may monitor the performance of the network interface 12 - 1 during the FTP session. If the performance of the network interface 12 - 1 is less than desired, the arbitration agent 32 may interact with the network based cross-layer agent 28 - 1 and optionally the application based cross-layer agent 30 - 1 such that the transport layer 20 - 1 and the network layer 18 - 1 are no longer bypassed.
  • the application based cross-layer agent 30 - 1 notifies the arbitration agent 32 of the termination of the FTP session (step 120 ). Then, the arbitration agent 32 notifies the network based cross-layer agent 28 - 1 of the termination of the FTP session (step 122 ) and disconnects the application based cross-layer agent 30 - 1 and the network based cross-layer agent 28 - 1 in the messaging matrix 34 (step 124 ).
  • FIG. 4 is a block diagram of an exemplary embodiment of the network device 10 .
  • the network device 10 includes a control system 36 having associated memory 38 .
  • the control system 36 may include hardware, software, or a combination of hardware and software and is not intended to be limited to a central processing unit.
  • the user applications 22 , 24 , the applications 26 - 1 through 26 -N, the application based cross-layer agents 30 - 1 through 30 -N, the arbitration agent 32 , and the messaging matrix 34 are implemented in software and stored in the memory 38 .
  • the present invention is not limited thereto.
  • the application based cross-layer agents 30 - 1 through 30 -N, the arbitration agent 32 , and the messaging matrix 34 may each be implemented in the control system 36 as software, hardware, or a combination of hardware and software.
  • the network device 10 also includes the network interfaces 12 - 1 through 12 -M. As discussed above, the network interfaces 12 - 1 , 12 -M implement low level protocol stack layers 14 - 1 through 20 - 1 and 14 -M through 20 -M.
  • the low level protocol stack layers 14 - 1 through 20 - 1 and 14 -M through 20 -M are preferably implemented in hardware, but may alternatively be implemented in a combination of hardware and software.
  • the network interfaces 12 - 1 , 12 -M preferably include the network based cross-layer agents 28 - 1 and 28 -M, respectively, which may be implemented in hardware or a combination of hardware and software.
  • the network device 10 may also include a user interface 40 .

Abstract

A cross-layer architecture for a network device having a number of network interfaces is provided. Each of the network interfaces implements a number of low level layers of a protocol stack and includes an associated network based cross-layer agent. The network device also includes an application based cross-layer agent associated with one or more high level protocol stack layers including an application layer. When the application layer desires to form a network connection to another network device, an arbitration agent operates to identify one of the network interfaces for the network connection. The arbitration agent then effects interconnection of the application based cross-layer agent and the network based cross-layer agent of the network interface and interconnection of the high level protocol stack layers and the low level protocol stack layers of the network interface, thereby forming a complete protocol stack having a cross-layer architecture for the network connection.

Description

RELATED APPLICATION
The present application is a continuation of U.S. Pat. No. Re. 44,104, entitled, CROSS-LAYER ARCHITECTURE FOR A NETWORK DEVICE, the disclosure of which is hereby incorporated by reference in its entirety, which re-issued on Mar. 26, 2013 as a reissue of U.S. Pat. No. 7,733,908, entitled CROSS-LAYER ARCHITECTURE FOR A NETWORK DEVICE, which issued on Jun. 8, 2010, the disclosure of which is hereby incorporated herein in its entirety by reference.
FIELD OF THE INVENTION
The present invention relates to a cross-layer architecture for a network device, and more specifically relates to a cross-layer architecture for a network device having multiple applications and network interface cards.
BACKGROUND OF THE INVENTION
In the classic seven layer Open Systems Interconnection (OSI) protocol stack for networking, communication and data sharing is restricted to adjacent layers in the protocol stack. The OSI protocol stack assumes a somewhat static performance of the low level protocol layers, such as the Media Access Control (MAC) layer and the physical layer (PHY). However, in wireless networks where the performance of the low level protocol layers and specifically the physical layer (PHY) is dynamic, the classic OSI protocol stack is not optimal. Changes in performance at the physical layer (PHY) result in rippling effects in the higher layers of the protocol stack. For example, as packets are dropped over an error prone wireless link, the Transmission Control Protocol (TCP) layer assumes network congestion at the Internet Protocol (IP) layer or high traffic loads within the network router. In response, the TCP layer overcompensates by slowing transmission rates.
Due to the non-optimal performance of the classic OSI model in wireless networks, cross-layering has emerged as a viable approach to gaining network performance. In general, cross-layering is when communication or data sharing is enabled between non-adjacent layers in the protocol stack in violation of the classic OSI model. One issue with known cross-layer architectures is that they do not support a network device having multiple applications interacting with multiple network interface cards. As such, there is a need for a cross-layer architecture for a network device having multiple applications interacting with multiple network interface cards.
SUMMARY OF THE INVENTION
The present invention provides a cross-layer architecture for a network device. In general, the network device includes a number of network interfaces each implementing a number of low level layers of a protocol stack and having a cross-layer agent associated with the low level layers of the protocol stack. The low level protocol stack layers may include a physical layer, a link layer, a network layer, and a protocol layer. The network device also includes an application based cross-layer agent associated with one or more high level protocol stack layers including an application layer. For example, the application layer may be a File Transfer Protocol (FTP) application. When the application layer desires to form a network connection to another network device, an arbitration agent operates to identify one of the network interfaces as a network interface for the network connection. Once the network interface is identified, the arbitration agent then effects interconnection of the application based cross-layer agent and the network based cross-layer agent of the network interface and interconnection of the high level protocol stack layers including the application layer and the low level protocol stack layers of the network interface, thereby forming a complete protocol stack having a cross-layer architecture for the network connection.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
BRIEF DESCRIPTION OF THE DRAWING FIGURES
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
FIG. 1 illustrates an exemplary network device implementing the cross-layering architecture of the present invention;
FIG. 2 illustrates the messaging matrix for interconnecting application based cross-layer agents and network based cross-layer agents according to one embodiment of the present invention;
FIG. 3 is flowchart illustrating the operation of the network device according to an exemplary embodiment of the present invention; and
FIG. 4 is a block diagram of the network device of FIG. 1.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
The present invention relates to a cross-layer architecture for a network device having multiple applications and multiple network interfaces. An exemplary embodiment of a network device 10 incorporating the cross-layer architecture of the present invention is illustrated in FIG. 1. In general, the network device 10 includes a number of network interfaces 12-1 through 12-M. It is to be understood that the network device 10 includes two or more network interfaces 12-1, 12-M. The network interfaces 12-1, 12-M may be wireless network interfaces, wired network interfaces, or a combination thereof. Exemplary wireless network interfaces are wireless network interfaces operating according to one or more of the suite of IEEE 802.11 standards (Wi-Fi), IEEE 802.16 standards (WiMAX), IEEE 802.15 standards (Personal Area Networks including Bluetooth and Zigbee), or the like. Exemplary wired network interfaces include an Ethernet network interface, a modem, or the like.
According to the present invention, the protocol stack of the Open System Interconnect (OSI) model is segmented such that low level layers of the protocol stack are implemented on the network interfaces 12-1, 12-M. In this exemplary embodiment, the traditional protocol stack is segmented such that Layers 1-4 are implemented on the network interfaces 12-1, 12-M and all layers above and including Layer 5 are implemented, for example, in software executed by a control system of the network device 10. However, the present invention is not limited thereto. Segmentation of the protocol stack may occur at any desired point in the protocol stack. Further, the segmentation of the protocol stack may vary among the network interfaces 12-1, 12-M. More specifically, in this embodiment, the network interface 12-1 implements low level protocol stack layers 14-1 through 20-1. The low level protocol stack layers 14-1 through 20-1 may be implemented in hardware, software, or a combination of hardware and software and include a physical layer 14-1, a link layer 16-1, a network layer 18-1, and a transport layer 20-1. The physical layer 14-1 is an IEEE 802.11x physical layer; the link layer 16-1 is a Media Access Control (MAC) layer; the network layer 18-1 is an Internet Protocol (IP) layer; and the transport layer 20-1 provides both a Transfer Control Protocol (TCP) service and a User Datagram Protocol (UDP) service. Likewise, the network interface 12-M implements low level protocol stack layers 14-M through 20-M. Note that IEEE 802.11x is used refer generically to any one of the suite of IEEE 802.11 standards.
The network device 10 also includes user applications 22, 24 and a number of Layer 7 applications 26-1 through 26-N. In general, the user applications 22, 24 may be any applications desiring use of one or more of the network interfaces 12-1, 12-M. Each of the user applications 22, 24 may be, for example, a web browser, an e-mail application, an application for synchronizing e-mail between the network device 10 and a secondary device such as a Personal Digital Assistant (PDA), an application for streaming digital video to other network devices, a peer-to-peer photo or video sharing application, or the like. In this exemplary embodiment, the Layer 7 application 26-1 is a File Transfer Protocol (FTP) application and is used by the user application 22. As discussed below in more detail, the FTP application 26-1 forms an application layer and may be coupled to one or more of the network interfaces 12-1, 12-M to form a complete protocol stack. In a similar fashion, the Layer 7 application 26-N is a Real-time Transfer Protocol (RTP) and RTP Control (RTPC) application used by the user application 24. The RTP/RTPC application 26-N forms an application layer and may be coupled to one or more of the network interfaces 12-1, 12-M to form a complete protocol stack.
To provide cross-layer functionality, the network device 10 also includes network based cross-layer agents 28-1 through 28-M associated with the network interfaces 12-1 through 12-M; application based cross-layer agents 30-1 through 30-N associated with the Layer 7 applications 26-1 through 26-N; an arbitration agent 32; and a messaging matrix 34. The network based cross-layer agents 28-1, 28-M are implemented on the network interfaces 12-1, 12-M in hardware, software, or a combination of hardware and software. The network based cross-layer agent 28-1 provides or facilitates information-sharing between and control of the low level protocol stack layers 14-1 through 20-1, as will be apparent to one of ordinary skill in the art upon reading this disclosure. In addition, as described below in more detail, the network based cross-layer agent 28-1 may be associated with the application based cross-layer agents 30-1, 30-N by the arbitration agent 32 and the messaging matrix 34 to facilitate information-sharing between and control of the low level protocol stack layers 14-1 through 20-1 and the upper protocol stack layers when desired.
In a similar fashion, the network based cross-layer agent 28-M provides or facilitates information-sharing between and control of the low level protocol stack layers 14-M through 20-M, as will be apparent to one of ordinary skill in the art upon reading this disclosure. In addition, as described below in more detail, the network based cross layer agent 28-M may be associated with the application based cross-layer agents 30-1, 30-N by the arbitration agent 32 and the messaging matrix 34 to facilitate information-sharing between and control of the low level protocol layers 14-M through 20-M and the upper protocol stack layers when desired.
The application based cross-layer agents 30-1 and 30-N are associated with, in this example, the FTP application 26-1 and the RTP/RTPC application 26-N, respectively, and operate to facilitate information-sharing and control between the protocol stack layers. The application based cross-layer agents 30-1 and 30-N are preferably implemented in software executed by a control system of the network device 10, but may alternatively be implemented in hardware or a combination of hardware and software.
The arbitration agent 32 is preferably implemented in software, but may alternatively be implemented in hardware or a combination of hardware and software. The arbitration agent 32 operates to associate the application based cross-layer agents 30-1, 30-N with one or more of the network based cross-layer agents 28-1, 28-M as needed. For example, if the user application 22 desires to transfer a file to another network device via the FTP application 26-1, the arbitration agent 32 may determine that the network interface 12-1 is capable of or preferred for providing a network connection to the other network device based on, for example, an IP address or Uniform Resource Locator (URL) of the other network device. Then, by controlling the messaging matrix 34, the arbitration agent 32 operates to interconnect the FTP application 26-1 and the network interface 12-1 and interconnect the application based cross-layer agent 30-1 and the network based cross-layer agent 28-1 to provide a complete protocol stack having a cross-layer architecture for the network connection.
The implementation of the messaging matrix 34 may depend on the particular implementation of the network device 10 and specifically the network interfaces 12-1, 12-M. The messaging matrix 34 may be implemented in software, hardware, or a combination of hardware and software. In operation, the messaging matrix 34 operates to interconnect the applications 26-1, 26-N of the upper protocol layers with the network interfaces and application based cross-layer agents 30-1, 30-N with the network based cross-layer agents 28-1, 28-M under the control of the arbitration agent 32.
FIG. 2 more specifically illustrates the operation of the arbitration agent 32 and the messaging matrix 34 to interconnect application based cross-layer agents 30-1 through 30-4 and network based cross-layer agents 28-1 through 28-4. Note that in this example, there are four application based cross-layer agents and four network based cross-layer agents. However, the present invention is not limited thereto. As illustrated, each “X” identifies a potential interconnection between one of the application based cross-layer agents 30-1, 30-2, 30-3, 30-4 and one of the network based cross-layer agents 28-1, 28-2, 28-3, 28-4. Thus, the arbitration agent 32 may control the messaging matrix 34 to interconnect the application based cross-layer agent 30-1 to any one or any combination of the network based cross-layer agents 28-1 through 28-4. Note that the application based cross-layer agent 30-1 may desirably be connected to more than one of the network based cross-layer agents 28-1 through 28-4 when, for example, the network device 10 operates according to the proposed IEEE 802.11n standard, which provides for Multiple Input Multiple Output (MIMO) operation. Likewise, for each of the other application based cross-layer agents 30-2 through 30-4, the arbitration agent 32 may control the messaging matrix 34 to interconnect the application based cross-layer agents 30-2 through 30-4 to one or more of the network based cross-layer agents 28-1 through 28-4 when desired.
FIG. 3 is a flow chart illustrating the operation of the network device 10 according to an exemplary embodiment of the present invention. In this example, the user application 22 is a web browser application. Operation begins when the web browser application 22 calls the FTP application 26-1 with an IP address or Uniform Resource Locator (URL) identifying another network device with which a network connection is desired (step 100). The FTP application 26-1 then calls the associated application based cross-layer agent 30-1 with the IP address or URL (step 102). In response, the application based cross-layer agent 30-1 sends a request including the IP address or URL to the arbitration agent 32 for an appropriate network based cross-layer agent 28-1, 28-M (step 104). The arbitration agent 32 matches the IP address or URL to one of the network based cross-layer agents 28-1, 28-M (step 106). More specifically, the arbitration agent 32 may determine which of the network interfaces 12-1, 12-M is capable of or is preferred for establishing a network connection with the other network device based on the IP address or URL of the other network device and associated network availability. Once the network device 12-1, 12-M is identified, the network based cross-layer agent 28-1, 28-M associated with the identified network interface 12-1, 12-M is identified as the desired network based cross-layer agent. In this example, the network based cross layer agent 28-1 is identified as the desired network based cross-layer agent.
The arbitration agent 32 then sends a request to the network based cross-layer agent 28-1 with the IP address or URL of the other network device (step 108). The network based cross-layer agent 28-1 sends a response to the arbitration agent 32 including information indicating whether the network interface 12-1 has the ability to accept an interface to the FTP application 26-1 and, if so, appropriate protocol stack interface criteria including data and messaging requirements for the interface between the protocol stack layers (step 110). The response may indicate whether the network interface 12-1 is currently in use such that bandwidth is unavailable or is limited. If the network interface 12-1 is currently in use, the arbitration agent 32 may determine a priority assigned to the current connection maintained by the network interface 12-1, a priority assigned to the desired transfer by the FTP application 26-1, and optionally other criteria such as an expected duration of the current network connection of the network interface 12-1 or the like. Depending on these factors, the arbitration agent 32 may determine whether to wait until the current network connection of the network interface 12-1 has been terminated or to immediately terminate the current network connection such that the FTP application 26-1 is given immediate access to the network interface 12-1.
In another embodiment, if the network interface 12-1 is in use, the arbitration agent 32 may interact with the network based cross-layer agent 28-1 to determine whether the network interface 12-1 has the ability to establish parallel communication channels. For example, if the network interface 12-1 is a wireless network interface, the arbitration agent 32 may determine whether the network interface 12-1 is capable of establishing two parallel wireless communication links on non-overlapping channels. If so, the arbitration agent 32 may operate such that the network interface 12-1 establishes a second, parallel communication link for the FTP application 26-1. If not, the arbitration agent 32 may operate such that the FTP application 26-1 waits until the network interface 12-1 is no longer in use or alternatively shares the bandwidth of the network interface 12-1 with the other application currently using the network interface 12-1.
In this example, the network interface 12-1 has the ability to accept an interface to the FTP application 26-1. Upon receiving the response, the arbitration agent selects an appropriate connection in the messaging matrix 34 to interconnect the application based cross-layer agent 30-1 to the network based cross-layer agent 28-1 (step 112). In addition, the messaging matrix 34 is controlled by the arbitration agent 32 to interconnect the FTP application 26-1 to the network interface 12-1.
At this point, the arbitration agent 32 may provide additional functionality by optimizing the cross-layer strategy. For example, the network interface 12-1 may be a wireless network interface operating according to one of the suite of IEEE 802.11 standards. Based on the IP address or URL and information from the network based cross-layer agent 28-1, the arbitration agent 32 may determine that the other network device identified by the IP address or URL is within a local wireless coverage area of the network interface 12-1 such that a direct point-to-point wireless connection may be established between the two network devices. Thus, in order to provide a more efficient transfer, the arbitration agent 32 may interact with the network based cross-layer agent 28-1 and optionally the application based cross-layer agent 30-1 to bypass, for example, the transport layer 20-1 and the network layer 18-1.
Once the appropriate connection in the messaging matrix 34 is made, the arbitration agent 32 notifies the application based cross-layer agent 30-1 of the protocol stack interface criteria (step 114), and an FTP session is established via the FTP application 26-1 and the network interface 12-1 (step 116). In the situation where the transport layer 20-1 and the network layer 18-1 are bypassed, the arbitration agent 32 may monitor the performance of the network interface 12-1 during the FTP session. If the performance of the network interface 12-1 is less than desired, the arbitration agent 32 may interact with the network based cross-layer agent 28-1 and optionally the application based cross-layer agent 30-1 such that the transport layer 20-1 and the network layer 18-1 are no longer bypassed.
When the FTP session terminates (step 118), the application based cross-layer agent 30-1 notifies the arbitration agent 32 of the termination of the FTP session (step 120). Then, the arbitration agent 32 notifies the network based cross-layer agent 28-1 of the termination of the FTP session (step 122) and disconnects the application based cross-layer agent 30-1 and the network based cross-layer agent 28-1 in the messaging matrix 34 (step 124).
FIG. 4 is a block diagram of an exemplary embodiment of the network device 10. In general, the network device 10 includes a control system 36 having associated memory 38. The control system 36 may include hardware, software, or a combination of hardware and software and is not intended to be limited to a central processing unit. In this example, the user applications 22, 24, the applications 26-1 through 26-N, the application based cross-layer agents 30-1 through 30-N, the arbitration agent 32, and the messaging matrix 34 are implemented in software and stored in the memory 38. However, as discussed above, the present invention is not limited thereto. More specifically, the application based cross-layer agents 30-1 through 30-N, the arbitration agent 32, and the messaging matrix 34 may each be implemented in the control system 36 as software, hardware, or a combination of hardware and software. The network device 10 also includes the network interfaces 12-1 through 12-M. As discussed above, the network interfaces 12-1, 12-M implement low level protocol stack layers 14-1 through 20-1 and 14-M through 20-M. The low level protocol stack layers 14-1 through 20-1 and 14-M through 20-M are preferably implemented in hardware, but may alternatively be implemented in a combination of hardware and software. In addition, the network interfaces 12-1, 12-M preferably include the network based cross-layer agents 28-1 and 28-M, respectively, which may be implemented in hardware or a combination of hardware and software. The network device 10 may also include a user interface 40.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.

Claims (34)

What is claimed is:
1. A network device comprising:
a plurality of network interfaces each implementing at least one low level protocol stack layer and comprising a network based cross-layer agent associated with the at least one low level protocol stack layer; and
a control system associated with the plurality of network interfaces and comprising:
an application based cross-layer agent associated with at least one high level protocol stack layer including an application layer, the application based cross-layer agent adapted to obtain information identifying a second network device with which the application layer desires to establish a network connection and provide the information identifying the second network device to an arbitration agent; and
the arbitration agent adapted to:
identify the one of the plurality of network interfaces as a network interface for establishing a network connection with the second network device based on the information identifying the second network device;
effect interconnection of the at least one high level protocol stack layer and the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the second network device; and
effect interconnection of the network based cross-layer agent of the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the second network device and the application based cross-layer agent for a duration of the network connection, thereby providing a complete protocol stack having a cross-layer architecture for the network connection.
2. The network device of claim 1 wherein the plurality of network interfaces are a plurality of network interface cards.
3. The network device of claim 2 wherein for each one of the plurality of network interface cards, the network based cross-layer agent is implemented on the one of the plurality of network interface cards.
4. The network device of claim 1 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and the at least one high level protocol stack layer comprises protocol stack layers above the transport layer including the application layer.
5. The network device of claim 1 wherein the control system further comprises a messaging matrix controlled by the arbitration agent, wherein the arbitration agent is further adapted to control the messaging matrix to effect interconnection of the at least one high level protocol stack layer and the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the second network device and effect interconnection of the network based cross-layer agent of the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the second network device and the application based cross-layer agent for a duration of the network connection.
6. The network device of claim 1 wherein the control system further comprises:
a plurality of application based cross-layer agents including the application based cross-layer agent each associated with at least one high level protocol stack layer including a corresponding one of a plurality of application layers including the application layer; and
a messaging matrix controlled by the arbitration agent and adapted to interconnect select ones of the plurality of application based cross-layer agents and the network based cross-layer agents of the plurality of network interfaces.
7. A method of operation of a network device to interconnect an application based cross-layer agent and one of a plurality of network based cross-layer agents in the network device, the application based cross-layer agent associated with at least one high level protocol stack layer including an application layer and the plurality of network based cross-layer agents each associated with at least one low level protocol stack layer of a corresponding one of a plurality of network interfaces, comprising:
obtaining information identifying a second network device with which the application layer desires to establish a network connection;
identifying a one of the plurality of network interfaces as a network interface for establishing the network connection;
interconnecting the at least one high level protocol stack layer and the at least one low level protocol stack layer of the one of the plurality of network interfaces identified as the network interface for establishing the network connection; and
interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents associated with the at least one low level protocol stack layer of the one of the plurality of network interfaces during the network connection such that a complete protocol stack having a cross-layer architecture is provided for the network connection.
8. The method of claim 7 wherein interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises controlling a messaging matrix to interconnect the one of the plurality of network based cross-layer agents and the application based cross-layer agent.
9. The method of claim 7 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and interconnecting the at least one high level protocol stack layer to the at least one low level protocol stack layer comprises interconnecting the at least one high level protocol stack layer to the transport layer of the one of the plurality of network interfaces.
10. The method of claim 7 wherein the network device further comprises a plurality of application based cross-layer agents including the application based cross-layer agent each associated with at least one high level protocol stack layer including a corresponding application layer, and interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises controlling a messaging matrix adapted to interconnect select ones of the plurality of network based cross-layer agents and the plurality of application based cross-layer agents.
11. A system for interconnecting an application based cross-layer agent and one of a plurality of network based cross-layer agents in a network device, the application based cross-layer agent associated with at least one high level protocol stack layer including an application layer and the plurality of network based cross-layer agents each associated with at least one low level protocol stack layer of a corresponding one of a plurality of network interfaces, comprising:
means for obtaining information identifying a second network device with which the application layer desires to establish a network connection;
means for identifying a one of the plurality of network interfaces as a network interface for establishing the network connection;
means for interconnecting the at least one high level protocol stack layer and the at least one low level protocol stack layer of the one of the plurality of network interfaces identified as the network interface for establishing the network connection; and
means for interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents associated with the at least one low level protocol stack layer of the one of the plurality of network interfaces during the network connection such that a complete protocol stack having a cross-layer architecture is provided for the network connection.
12. The system of claim 11 wherein the means for interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises a means for controlling a messaging matrix to interconnect the one of the plurality of network based cross-layer agents and the application based cross-layer agent.
13. The system of claim 11 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and the means for interconnecting the at least one high level protocol stack layer to the at least one low level protocol stack layer interconnects the at least one high level protocol stack layer to the transport layer of the one of the plurality of network interfaces.
14. The system of claim 11 wherein the network device further comprises a plurality of application based cross-layer agents including the application based cross-layer agent each associated with at least one high level protocol stack layer including a corresponding application layer, and the means for interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises a means for controlling a messaging matrix adapted to interconnect select ones of the plurality of network based cross-layer agents and the plurality of application based cross-layer agents.
15. A device comprising:
a plurality of network interfaces each implementing at least one low level protocol stack layer and comprising a network based cross-layer agent associated with the at least one low level protocol stack layer; and
a control system associated with the plurality of network interfaces and comprising:
an application based cross-layer agent associated with at least one high level protocol stack layer including an application layer, the application based cross-layer agent adapted to obtain information identifying a network device with which the application layer desires to establish a network connection and provide the information identifying the network device to an arbitration agent; and
the arbitration agent adapted to:
identify the one of the plurality of network interfaces as a network interface for establishing a network connection with the network device based on the information identifying the network device;
determine whether the network device is within a local wireless coverage area of the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device;
effect interconnection of the at least one high level protocol stack layer and the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device; and
effect interconnection of the network based cross-layer agent of the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device and the application based cross-layer agent for a duration of the network connection, thereby providing a complete protocol stack having a cross-layer architecture for the network connection.
16. The device of claim 15 wherein the network device establishes a direct point to-point wireless connection with the device via the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device.
17. The device of claim 16 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and the at least one high level protocol stack layer comprises protocol stack layers above the transport layer including the application layer.
18. The device of claim 17, wherein the arbitration agent interacts with the network based cross-layer agent and the application based cross-layer agent to bypass the transport layer and the network layer when the direct point-to-point wireless connection is established.
19. A device comprising:
a plurality of network interfaces each implementing at least one low level protocol stack layer and comprising a network based cross-layer agent associated with the at least one low level protocol stack layer; and
a control system associated with the plurality of network interfaces and comprising:
an application based cross-layer agent associated with at least one high level protocol stack layer including an application layer, the application based cross-layer agent adapted to obtain information identifying a network device with which the application layer desires to establish a network connection and provide the information identifying the network device to an arbitration agent; and
the arbitration agent adapted to:
identify the one of the plurality of network interfaces as a network interface for establishing a network connection with the network device based on the information identifying the network device;
determine whether the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device has the ability to establish parallel communication channels;
effect interconnection of the at least one high level protocol stack layer and the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device; and
effect interconnection of the network based cross-layer agent of the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device and the application based cross-layer agent for a duration of the network connection, thereby providing a complete protocol stack having a cross-layer architecture for the network connection.
20. The device of claim 19 wherein the plurality of network interfaces are a plurality of network interface cards.
21. The device of claim 20 wherein for each one of the plurality of network interface cards, the network based cross-layer agent is implemented on the one of the plurality of network interface cards.
22. The device of claim 19 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and the at least one high level protocol stack layer comprises protocol stack layers above the transport layer including the application layer.
23. The device of claim 19 wherein the control system further comprises a messaging matrix controlled by the arbitration agent, wherein the arbitration agent is further adapted to control the messaging matrix to effect interconnection of the at least one high level protocol stack layer and the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device and effect interconnection of the network based cross-layer agent of the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device and the application based cross-layer agent for a duration of the network connection.
24. The device of claim 19 wherein the control system further comprises:
a plurality of application based cross-layer agents including the application based cross-layer agent each associated with at least one high level protocol stack layer including a corresponding one of a plurality of application layers including the application layer; and
a messaging matrix controlled by the arbitration agent and adapted to interconnect select ones of the plurality of application based cross-layer agents and the network based cross-layer agents of the plurality of network interfaces.
25. The device of claim 19, wherein the arbitration agent is further adapted to: determine whether the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device is capable of establishing two parallel wireless communication links on non-over-lapping channels when the one of the plurality of network interfaces identified as the network interface for establishing the network connection with the network device is a wireless network interface.
26. The device of claim 19, wherein the arbitration agent externally interfaces from the device via SNMP, RSVP, or Diffserv.
27. A method of operation of a network device to interconnect an application based cross-layer agent and one of a plurality of network based cross-layer agents in the network device, the application based cross-layer agent associated with at least one high level protocol stack layer including an application layer and the plurality of network based cross-layer agents each associated with at least one low level protocol stack layer of a corresponding one of a plurality of network interfaces, comprising:
obtaining information identifying a second network device with which the application layer desires to establish a network connection;
identifying a one of the plurality of network interfaces as a network interface for establishing the network connection;
determining whether the one of the plurality of network interfaces identified as the network interface for establishing the network connection has the ability to establish parallel communication channels;
interconnecting the at least one high level protocol stack layer and the at least one low level protocol stack layer of the one of the plurality of network interfaces identified as the network interface for establishing the network connection; and
interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents associated with the at least one low level protocol stack layer of the one of the plurality of network interfaces during the network connection such that a complete protocol stack having a cross-layer architecture is provided for the network connection.
28. The method of claim 27 wherein interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises controlling a messaging matrix to interconnect the one of the plurality of network based cross-layer agents and the application based cross-layer agent.
29. The method of claim 27 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and interconnecting the at least one high level protocol stack layer to the at least one low level protocol stack layer comprises interconnecting the at least one high level protocol stack layer to the transport layer of the one of the plurality of network interfaces.
30. The method of claim 27 wherein the network device further comprises a plurality of application based cross-layer agents including the application based cross-layer agent each associated with at least one high level protocol stack layer including a corresponding application layer, and interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises controlling a messaging matrix adapted to interconnect select ones of the plurality of network based cross-layer agents and the plurality of application based cross-layer agents.
31. A system for interconnecting an application based cross-layer agent and one of a plurality of network based cross-layer agents in a device, the application based cross-layer agent associated with at least one high level protocol stack layer including an application layer and the plurality of network based cross-layer agents each associated with at least one low level protocol stack layer of a corresponding one of a plurality of network interfaces, comprising:
means for obtaining information identifying a second device with which the application layer desires to establish a network connection;
means for identifying a one of the plurality of network interfaces as a network interface for establishing the network connection;
means for determining whether the one of the plurality of network interfaces identified as the network interface for establishing the network connection has the ability to establish parallel communication channels;
means for interconnecting the at least one high level protocol stack layer and the at least one low level protocol stack layer of the one of the plurality of network interfaces identified as the network interface for establishing the network connection; and
means for interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents associated with the at least one low level protocol stack layer of the one of the plurality of network interfaces during the network connection such that a complete protocol stack having a cross-layer architecture is provided for the network connection.
32. The system of claim 31 wherein the means for interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises a means for controlling a messaging matrix to interconnect the one of the plurality of network based cross-layer agents and the application based cross-layer agent.
33. The system of claim 31 wherein the at least one low level protocol stack layer comprises a physical layer, a link layer, a network layer, and a transport layer, and the means for interconnecting the at least one high level protocol stack layer to the at least one low level protocol stack layer interconnects the at least one high level protocol stack layer to the transport layer of the one of the plurality of network interfaces.
34. The system of claim 31 wherein the device further comprises a plurality of application based cross-layer agents including the application based cross-layer agent each associated with at least one high level protocol stack layer including a corresponding application layer, and the means for interconnecting the application based cross-layer agent and the one of the plurality of network based cross-layer agents comprises a means for controlling a messaging matrix adapted to interconnect select ones of the plurality of network based cross-layer agents and the plurality of application based cross-layer agents.
US13/849,868 2006-05-31 2013-03-25 Cross-layer architecture for a network device Expired - Fee Related USRE44798E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/849,868 USRE44798E1 (en) 2006-05-31 2013-03-25 Cross-layer architecture for a network device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/443,882 US7733908B1 (en) 2006-05-31 2006-05-31 Cross-layer architecture for a network device
US13/490,955 USRE44104E1 (en) 2006-05-31 2012-06-07 Cross-layer architecture for a network device
US13/849,868 USRE44798E1 (en) 2006-05-31 2013-03-25 Cross-layer architecture for a network device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/443,882 Reissue US7733908B1 (en) 2006-05-31 2006-05-31 Cross-layer architecture for a network device

Publications (1)

Publication Number Publication Date
USRE44798E1 true USRE44798E1 (en) 2014-03-11

Family

ID=42226952

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/443,882 Active 2029-03-16 US7733908B1 (en) 2006-05-31 2006-05-31 Cross-layer architecture for a network device
US13/490,955 Expired - Fee Related USRE44104E1 (en) 2006-05-31 2012-06-07 Cross-layer architecture for a network device
US13/849,868 Expired - Fee Related USRE44798E1 (en) 2006-05-31 2013-03-25 Cross-layer architecture for a network device

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/443,882 Active 2029-03-16 US7733908B1 (en) 2006-05-31 2006-05-31 Cross-layer architecture for a network device
US13/490,955 Expired - Fee Related USRE44104E1 (en) 2006-05-31 2012-06-07 Cross-layer architecture for a network device

Country Status (1)

Country Link
US (3) US7733908B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485804B1 (en) 2006-06-27 2016-11-01 Qurio Holdings, Inc. High-speed WAN to wireless LAN gateway

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656849B1 (en) 2006-05-31 2010-02-02 Qurio Holdings, Inc. System and method for bypassing an access point in a local area network for P2P data transfers
US9398568B2 (en) 2010-11-24 2016-07-19 Koninklijkle Philips Electronics N.V. System and method for optimizing data transmission to nodes of a wireless mesh network
US9144098B2 (en) 2011-02-14 2015-09-22 Nokia Solutions And Networks Oy Real-time gaming and other applications support for D2D communications
US8665890B2 (en) 2011-05-20 2014-03-04 The Regents Of The University Of California Hybrid cross-layer routing protocol for MANETs
WO2013100912A1 (en) * 2011-12-27 2013-07-04 Intel Corporation Systems and methods for cross-layer secure connection set up
US10116605B2 (en) * 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10812857B2 (en) * 2018-09-28 2020-10-20 Apple Inc. Systems and methods for reducing latency of a video transmission system

Citations (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278834A (en) 1992-05-26 1994-01-11 Alcatel Network Systems, Inc. Method for implementing a data communication protocol stack
GB2306869A (en) 1995-11-03 1997-05-07 Patrik Garten Software for customised radio program
US5818838A (en) 1995-10-12 1998-10-06 3Com Corporation Method and apparatus for transparent intermediate system based filtering on a LAN of multicast packets
US20020010759A1 (en) 1999-12-30 2002-01-24 Hitson Bruce L. System and method for multimedia content composition and distribution
US20020013812A1 (en) 1996-06-03 2002-01-31 Krueger Mark H. Transcoding audio data by a proxy computer on behalf of a client computer
US20020054578A1 (en) 2000-07-13 2002-05-09 Qian Zhang Channel and quality of service adaptation for multimedia over wireless networks
US20020061029A1 (en) 1997-10-27 2002-05-23 Dillon Douglas M. System and method for multicasting multimedia content
US20020104099A1 (en) 2000-08-28 2002-08-01 Novak Robert Eustace System and method to provide media programs for synthetic channels
US20020129367A1 (en) 2001-03-02 2002-09-12 Koninklijke Philips Electronics N.V. Method and apparatus for personalized presentation of television/internet contents
US20020144267A1 (en) 2001-03-29 2002-10-03 Koninklijke Philips Electronics N.V. Dynamic television channel creation
US6470389B1 (en) 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US20020156842A1 (en) 2001-04-23 2002-10-24 Envivio System for audio-visual media customization according to receiver attributes
US20030050055A1 (en) 2001-09-10 2003-03-13 Industrial Technology Research Institute Software defined radio (SDR) architecture for wireless digital communication systems
US20030081580A1 (en) 2001-09-26 2003-05-01 Koninklijke Philips Electronics N.V. Method and apparatus for a reconfigurable multi-media system
US20030152096A1 (en) 2002-02-13 2003-08-14 Korey Chapman Intelligent no packet loss networking
US20030161268A1 (en) 2002-02-22 2003-08-28 Telefonaktiebolaget Lm Ericsson Cross-layer integrated collision free path routing
US20040009751A1 (en) 2002-07-11 2004-01-15 Oliver Michaelis Interface selection in a wireless communication network
US20040030798A1 (en) 2000-09-11 2004-02-12 Andersson Per Johan Method and device for providing/receiving media content over digital network
US20040042421A1 (en) 1993-12-20 2004-03-04 Intermec Technologies Corporation Local area network having multiple channel wireless access
US6721282B2 (en) 2001-01-12 2004-04-13 Telecompression Technologies, Inc. Telecommunication data compression apparatus and method
US20040117824A1 (en) 2002-12-11 2004-06-17 Jeyhan Karaoguz Method and system for media processing providing access to distributed media via a channel guide
US20040248615A1 (en) 2003-06-06 2004-12-09 Interdigital Technology Corporation Wireless communication components and methods for multiple system communications
US20040264372A1 (en) 2003-06-27 2004-12-30 Nokia Corporation Quality of service (QoS) routing for Bluetooth personal area network (PAN) with inter-layer optimization
US20050008017A1 (en) 2000-12-29 2005-01-13 Ragula Systems D/B/A Fatpipe Networks Tools and techniques for directing packets over disparate networks
US20050034001A1 (en) 2003-08-04 2005-02-10 Pontarelli Mark C. Technique to coordinate servicing of multiple network interfaces
US20050108769A1 (en) 2000-03-02 2005-05-19 Tivo Inc. Method of sharing personal media using a digital recorder
US20050120127A1 (en) 2000-04-07 2005-06-02 Janette Bradley Review and approval system
US20050169632A1 (en) 2004-02-03 2005-08-04 Kwan-Woong Song FTTH system for broadcast/communication convergence using IEEE 1394
US20050183120A1 (en) 2004-01-13 2005-08-18 Saurabh Jain Multi-user personalized digital multimedia distribution methods and systems
US20050192987A1 (en) 2002-04-16 2005-09-01 Microsoft Corporation Media content descriptions
US20050201340A1 (en) 2002-05-13 2005-09-15 Xudong Wang Distributed TDMA for wireless mesh network
US20050216942A1 (en) 2000-03-02 2005-09-29 Tivo Inc. Multicasting multimedia content distribution system
US20050239497A1 (en) 2004-04-23 2005-10-27 Microsoft Corporation Selecting a wireless networking technology on a device capable of carrying out wireless network communications via multiple wireless technologies
US20050286438A1 (en) 2004-06-28 2005-12-29 Samsung Electronics Co., Ltd. Method and system for providing cross-layer quality-of-service functionality in a wireless network
US20060048186A1 (en) 2004-08-30 2006-03-02 Eric Alterman Method and apparatus for storing and accessing videos from a remote location
US20060048185A1 (en) 2004-08-30 2006-03-02 Eric Alterman Method and apparatus for storing and accessing videos
US20060053452A1 (en) 2004-09-08 2006-03-09 Sangjae Lee Wired/wireless broadcasting distribution apparatus having a home broadcasting distribution function and broadcasting channel formation/termination method using the same
US20060056349A1 (en) 2004-09-10 2006-03-16 Fujitsu Limited Handover method and mobile communication system and mobile terminal using same
US20060085830A1 (en) 2004-10-14 2006-04-20 Timo Bruck Method and apparatus for content provisioning in a video on demand system
US20060129672A1 (en) 2001-03-27 2006-06-15 Redseal Systems, Inc., A Corporation Of Delaware Method and apparatus for network wide policy-based analysis of configurations of devices
US20060182101A1 (en) * 2005-02-14 2006-08-17 Hoekstra Geert J Method for distributing transport sessions over multiple network interfaces
US20060206933A1 (en) 2005-03-10 2006-09-14 Stsn General Holdings Inc. Security for mobile devices in a wireless network
US20070002742A1 (en) 2005-06-29 2007-01-04 Dilip Krishnaswamy Techniques to control data transmission for a wireless system
US20070008978A1 (en) 2005-07-11 2007-01-11 Pirzada Fahd B Network optimization based on traffic prioritization
US20070061580A1 (en) 1999-05-20 2007-03-15 Microsoft Corporation A License-Based Cryptographic Technique, Particularly Suited For Use In A Digital Rights Management System, For Controlling Access And Use Of Bore Resistant Software Objects In A Client Computer
US20070061488A1 (en) 2004-09-20 2007-03-15 Trilibis Inc. System and method for flexible user interfaces
US7356013B2 (en) 2001-06-18 2008-04-08 Swisscom Mobile Ag Method and system for mobile IP nodes in heterogeneous networks
US20090067328A1 (en) 2004-10-18 2009-03-12 Morris Keith J Automatic adaptive network traffic prioritization and shaping

Patent Citations (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278834A (en) 1992-05-26 1994-01-11 Alcatel Network Systems, Inc. Method for implementing a data communication protocol stack
US20040042421A1 (en) 1993-12-20 2004-03-04 Intermec Technologies Corporation Local area network having multiple channel wireless access
US5818838A (en) 1995-10-12 1998-10-06 3Com Corporation Method and apparatus for transparent intermediate system based filtering on a LAN of multicast packets
GB2306869A (en) 1995-11-03 1997-05-07 Patrik Garten Software for customised radio program
US20020013812A1 (en) 1996-06-03 2002-01-31 Krueger Mark H. Transcoding audio data by a proxy computer on behalf of a client computer
US6470389B1 (en) 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US20020061029A1 (en) 1997-10-27 2002-05-23 Dillon Douglas M. System and method for multicasting multimedia content
US20070061580A1 (en) 1999-05-20 2007-03-15 Microsoft Corporation A License-Based Cryptographic Technique, Particularly Suited For Use In A Digital Rights Management System, For Controlling Access And Use Of Bore Resistant Software Objects In A Client Computer
US20020010759A1 (en) 1999-12-30 2002-01-24 Hitson Bruce L. System and method for multimedia content composition and distribution
US20050108769A1 (en) 2000-03-02 2005-05-19 Tivo Inc. Method of sharing personal media using a digital recorder
US20050216942A1 (en) 2000-03-02 2005-09-29 Tivo Inc. Multicasting multimedia content distribution system
US20050120127A1 (en) 2000-04-07 2005-06-02 Janette Bradley Review and approval system
US20020054578A1 (en) 2000-07-13 2002-05-09 Qian Zhang Channel and quality of service adaptation for multimedia over wireless networks
US20020104099A1 (en) 2000-08-28 2002-08-01 Novak Robert Eustace System and method to provide media programs for synthetic channels
US20040030798A1 (en) 2000-09-11 2004-02-12 Andersson Per Johan Method and device for providing/receiving media content over digital network
US20050008017A1 (en) 2000-12-29 2005-01-13 Ragula Systems D/B/A Fatpipe Networks Tools and techniques for directing packets over disparate networks
US6721282B2 (en) 2001-01-12 2004-04-13 Telecompression Technologies, Inc. Telecommunication data compression apparatus and method
US20020129367A1 (en) 2001-03-02 2002-09-12 Koninklijke Philips Electronics N.V. Method and apparatus for personalized presentation of television/internet contents
US20060129672A1 (en) 2001-03-27 2006-06-15 Redseal Systems, Inc., A Corporation Of Delaware Method and apparatus for network wide policy-based analysis of configurations of devices
US20020144267A1 (en) 2001-03-29 2002-10-03 Koninklijke Philips Electronics N.V. Dynamic television channel creation
US20020156842A1 (en) 2001-04-23 2002-10-24 Envivio System for audio-visual media customization according to receiver attributes
US7356013B2 (en) 2001-06-18 2008-04-08 Swisscom Mobile Ag Method and system for mobile IP nodes in heterogeneous networks
US20030050055A1 (en) 2001-09-10 2003-03-13 Industrial Technology Research Institute Software defined radio (SDR) architecture for wireless digital communication systems
US7016668B2 (en) 2001-09-26 2006-03-21 Koninklijke Philips Electronics N.V. Method and apparatus for a reconfigurable multi-media system
US20030081580A1 (en) 2001-09-26 2003-05-01 Koninklijke Philips Electronics N.V. Method and apparatus for a reconfigurable multi-media system
US20030152096A1 (en) 2002-02-13 2003-08-14 Korey Chapman Intelligent no packet loss networking
US20030161268A1 (en) 2002-02-22 2003-08-28 Telefonaktiebolaget Lm Ericsson Cross-layer integrated collision free path routing
US20050192987A1 (en) 2002-04-16 2005-09-01 Microsoft Corporation Media content descriptions
US20050201340A1 (en) 2002-05-13 2005-09-15 Xudong Wang Distributed TDMA for wireless mesh network
US20040009751A1 (en) 2002-07-11 2004-01-15 Oliver Michaelis Interface selection in a wireless communication network
US20040117824A1 (en) 2002-12-11 2004-06-17 Jeyhan Karaoguz Method and system for media processing providing access to distributed media via a channel guide
US6987985B2 (en) 2003-06-06 2006-01-17 Interdigital Technology Corporation Wireless communication components and methods for multiple system communications
US20040248615A1 (en) 2003-06-06 2004-12-09 Interdigital Technology Corporation Wireless communication components and methods for multiple system communications
US20040264372A1 (en) 2003-06-27 2004-12-30 Nokia Corporation Quality of service (QoS) routing for Bluetooth personal area network (PAN) with inter-layer optimization
US20050034001A1 (en) 2003-08-04 2005-02-10 Pontarelli Mark C. Technique to coordinate servicing of multiple network interfaces
US20050183120A1 (en) 2004-01-13 2005-08-18 Saurabh Jain Multi-user personalized digital multimedia distribution methods and systems
US20050169632A1 (en) 2004-02-03 2005-08-04 Kwan-Woong Song FTTH system for broadcast/communication convergence using IEEE 1394
US20050239497A1 (en) 2004-04-23 2005-10-27 Microsoft Corporation Selecting a wireless networking technology on a device capable of carrying out wireless network communications via multiple wireless technologies
US20050286438A1 (en) 2004-06-28 2005-12-29 Samsung Electronics Co., Ltd. Method and system for providing cross-layer quality-of-service functionality in a wireless network
US20060048186A1 (en) 2004-08-30 2006-03-02 Eric Alterman Method and apparatus for storing and accessing videos from a remote location
US20060048185A1 (en) 2004-08-30 2006-03-02 Eric Alterman Method and apparatus for storing and accessing videos
US20060053452A1 (en) 2004-09-08 2006-03-09 Sangjae Lee Wired/wireless broadcasting distribution apparatus having a home broadcasting distribution function and broadcasting channel formation/termination method using the same
US20060056349A1 (en) 2004-09-10 2006-03-16 Fujitsu Limited Handover method and mobile communication system and mobile terminal using same
US20070061488A1 (en) 2004-09-20 2007-03-15 Trilibis Inc. System and method for flexible user interfaces
US20060085830A1 (en) 2004-10-14 2006-04-20 Timo Bruck Method and apparatus for content provisioning in a video on demand system
US20090067328A1 (en) 2004-10-18 2009-03-12 Morris Keith J Automatic adaptive network traffic prioritization and shaping
US20060182101A1 (en) * 2005-02-14 2006-08-17 Hoekstra Geert J Method for distributing transport sessions over multiple network interfaces
US20060206933A1 (en) 2005-03-10 2006-09-14 Stsn General Holdings Inc. Security for mobile devices in a wireless network
US20070002742A1 (en) 2005-06-29 2007-01-04 Dilip Krishnaswamy Techniques to control data transmission for a wireless system
US20070008978A1 (en) 2005-07-11 2007-01-11 Pirzada Fahd B Network optimization based on traffic prioritization

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
Eric Setton et al., "Cross-Layer Design of Ad Hoc Networks for Real-Time Video Streaming," (article), Aug. 2005, pp. 99-102, vol. 12, issue 4, IEEE Wireless Communications.
No Author, "Double 108Mbps Wireless PC Card (WG511U), Netgear, Inc.," PC Connection, 2006, accessed Apr. 5, 2006, 2 pages, http://http://www.pcconnection.com/ProductDetail?sku=5373172&SourceID=k401322.
No Author, "PC Connection," (website), 2006, 2 pages, http://www.pcconnection.com/ProductDetail?sku=5373172&SourceID=k40132.
Non-Final Office Action for U.S. Appl. No. 11/443,882, mailed Sep. 16, 2009, 18 pages.
Notice of Allowance for U.S. Appl. No. 11/443,882, mailed Mar. 8, 2010, 9 pages.
Notice of Allowance for U.S. Appl. No. 13/490,955, mailed Nov. 16, 2012, 9 pages.
Raisinghani, Vijay T., et al., "ECLAIR: An Efficient Cross Layer Architecture for Wireless Protocol Stacks," May 25-28, 2004, 6 pages, 5th World Wireless Congress, San Francisco, CA.
Setton, Eric, et al., "Cross-Layer Design of Ad Hoc Networks for Real-Time Video Streaming," Aug. 2005, vol. 12, Issue 4, pp. 59-65, IEEE Wireless Communications.
Srivastava, Vineet, et al., "Cross-Layer Design: A Survey and the Road Ahead," Dec. 2005, pp. 112-119, IEEE Communications Magazine.
Vijay T. Raisinghani et al., "ECLAIR: An Efficient Cross Layer Architecture for Wireless Protocol Stacks," 5th World Wireless Congress, San Francisco, CA, May 25-28, 2004.
Vineet Srivastava et al., "Cross-Layer Design: A Survey and the Road Ahead," IEEE Communications Magazine, pp. 112-119, Dec. 2005.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485804B1 (en) 2006-06-27 2016-11-01 Qurio Holdings, Inc. High-speed WAN to wireless LAN gateway

Also Published As

Publication number Publication date
US7733908B1 (en) 2010-06-08
USRE44104E1 (en) 2013-03-26

Similar Documents

Publication Publication Date Title
USRE44798E1 (en) Cross-layer architecture for a network device
Habib et al. The past, present, and future of transport-layer multipath
US20220166724A1 (en) Application-based traffic control in multipath networks
US8223636B2 (en) Dynamic adjustment of number of connection setup requests to be initiated to be processed
JP5276589B2 (en) A method for optimizing information transfer in telecommunications networks.
JP2020502948A (en) Packet transmission system and method
JP6473688B2 (en) Data stream splitting to increase data transfer rate
US20120027024A1 (en) Zero-Setting Network Quality Service System
AU2006223347B2 (en) Traffic stream admission control in a mesh network
US20070286213A1 (en) Method and Arrangement for Adapting to Variations in an Available Bandwidth to a Local Network
US20110145319A1 (en) Group session management and admission control of multiple internet protocol flows
JP6777650B2 (en) Methods and systems for scheduling packets in TCP tunnels and bundling scenarios based on native TCP information
US8467390B2 (en) Method and system for network stack tuning
WO2017133477A1 (en) Service stream transmission method, device and system
US20070263538A1 (en) Directed Pppoe Session Initiation Over a Switched Ethernet
US9578281B2 (en) Managing traffic flow on a network path
US20040001512A1 (en) Method and apparatus for peer to peer bandwidth sharing
WO2007022440A2 (en) Resource selection in a communication network
US20080008195A1 (en) Method of establishing a communication session and communication network
CN106330710A (en) Data stream scheduling method and device
US8832266B2 (en) System and method for aggregating bandwidth of multiple active physical interfaces on application layer
JP3823055B2 (en) Effective multilink flow handling
CN108574615A (en) A kind of content transmission method, equipment and system based on multipath MPTCP
JP2003242065A (en) Contents selection, contents request acceptance control, congestion control method, contents control device, network resource control server device, portal server device and edge device
JP2010103968A (en) Resource management apparatus and resource management method

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)