High level instruction convergence function

Information

  • Patent Grant
  • 8509128
  • Patent Number
    8,509,128
  • Date Filed
    Monday, January 7, 2008
    16 years ago
  • Date Issued
    Tuesday, August 13, 2013
    10 years ago
Abstract
A convergence engine may provide a high level message for a high level engine representative of multiple messages received by a network interface or other physical layer transmission device. The high level engine may access one or more high level messages via functions describing the state of a non-network-portal station.
Description
BACKGROUND

A network may include one or more network portals, each network portal providing network services. Such network portals may be coupled to switches and monitored by controlled by network software. Individuals connecting to the network may select a network portal to connect to.


In connecting to a network, a station may transmit a scan for available network portals. Such a scan may be responded to by one or more network portals. The one or more network portals may provide one or more responses. It may be cumbersome to consider the one or more responses, particularly so when there are many available network portals providing access to the network.


At times an individual may exceed the range of an network portal. Where a station is about to exceed the range of a NP and no NP is available for the station to connect to the station may lose network connectivity. Environmental conditions, or the movement of the station may contribute to a loss of network connectivity.


The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent upon a reading of the specification and a study of the drawings.


SUMMARY

The following examples and aspects thereof are described and illustrated in conjunction with systems, tools, and methods that are meant to be exemplary and illustrative, not limiting in scope. In various examples, one or more of the above-described problems have been reduced or eliminated, while other examples are directed to other improvements.


A convergence engine may provide a high level message for a high level engine, the high level message a product filtered from of a plurality of messages. The plurality of messages may be received by a network interface or other physical layer transmission device. The messages received may be 802.11 messages. The high level engine may access one or more high level messages via functions describing the state of the STA in terms of a state machine.


For a non network portal (NP) station (STA), the convergence engine may identify various high level states by filtering the plurality of messages. Based on a high level state, the convergence engine may provide a single high level message to a high level engine (HLE) indicating the state of the STA.


In a non-limiting example, the STA may change physical location, environmental conditions may change, network conditions may change, or other conditions may change causing the state machine to change states from one state to one of a plurality of states. In changing, a plurality of messages from network portals, other stations, or the STA itself may be generated or received. The convergence engine may filter the messages and identify a state of the STA. The convergence engine may produce a high level message indicating the present state and provide it to the HLE.





DETAILED DESCRIPTION


FIG. 1 depicts an example of a system for providing high level instructions.



FIG. 2 depicts an example of a system for providing high level instructions separated into various hardware components.



FIG. 3 depicts an example of a system including an intelligent network portal connected to a client.



FIG. 4 depicts an example of a flowchart of a method for providing a summary of filtered messages.



FIG. 5 depicts an example of a flowchart of a method for attaching a STA to a NP.



FIG. 6 depicts an example of a flowchart of a method for managing a waning connection.



FIG. 7 depicts an example of a system including a STA in range of n overlapping networks.



FIG. 8 depicts a non-limiting example of a system including two overlapping networks and station passing through a boundary of the networks.



FIG. 9 depicts an example of a device for providing high level instructions.





DETAILED DESCRIPTION

In the following description, several specific details are presented to provide a thorough understanding. One skilled in the relevant art will recognize, however, that the concepts and techniques disclosed herein can be practiced without one or more of the specific details, or in combination with other components, etc. In other instances, well-known implementations or operations are not shown or described in detail to avoid obscuring aspects of various examples disclosed herein.


In wireless networking, one or more network portals (NPs) comprise a network. The NPs may use a variety of network protocols. In a non-limiting example, 802.11 is a protocol used by the network. An individual NP may have a coverage area, or range within the NP may communicate with a non-NP station (STA). At times the NP may be able to receive signals from the STA, but not be able to transmit to the STA. Contrarily, the STA may be able to transmit to the NP, but not receive signals from the NP. A STA is only in the coverage area of the NP where the NP and the STA may each transmit and receive signals from each other. In a non-limiting example, 802.11 is used and a STA is in range of a NP where all layer 2 setup activities have been completed and the STA is able to class 3 frames to peer Logical Link Control (LLC) entities.


Data transfer over one of the various protocols and via one of a plurality of NPs may be simply termed communication via a network. Multiple NPs may provide network connectivity as a common network having a common name. In some cases a NP providing a network may provide connectivity via more than one networking protocol. Providing connectivity via multiple protocols may be advantageous to provide access to STAs using various communication protocols. For one STA a protocol may be used, whereas for another other STA, a NP may use protocols unused by the STA. So long as the STA uses at least one protocol that is used by the NP, the STA may communicate with the STA, and may have network access.


At times multiple overlapping networks may provide connectivity to a STA via a plurality of NPs. The NPs may provide connectivity by one or more network interfaces. Nominally, a single network interface may communicate using a single protocol, and multiple network interfaces may be enabled to provide multiple protocols. Where convenient, the protocol of a single network interface may be, at times, changed.


Networks may overlap at parts. In some locations a single network may be available. However, even where a single network is available the network may be made available by more than one NP. In order to provide coverage free from “dead spots,” or areas lacking network connectivity, a plurality of NPs providing the network may be provided having overlapping coverage areas.


An overlapping coverage area may be defined as an area in which a STA may transmit and receive data from more than one NP. NPs having overlapping coverage areas may, but need not necessarily provide overlapping coverage for the same network, such as where a first NP and a second NP of a single network provide overlapping coverage.


Different Networks may overlap where at least one NP of a first network and at least one NP of a second network have overlapping coverage areas. In a non-limiting example, such a first NP and a second NP need not communicate using the same network protocol, and thus, may provide overlapping network coverage using more than one communications protocol. A STA could communicate with a first NPs using a first network protocol and a second NP using a second network protocol and thus, transmit and receive data with two NPs using different network protocols. In the non-limiting example, the two NPs could not communicate with each other for lack of a common communications protocol.


The extent of overlapping coverage areas of different networks may be termed a border of networks. At the border of networks, overlapping coverage areas may provide network connectivity to a STA via more than one network and via more than one NP per network.


A mobile non-NP station (STA) may physically move requiring it to transition between NPs of a single network and between NPs of multiple networks. Low level intelligence of the STA may require NP level connectivity information, such as the address of each NP the STA encounters while changing NPs through one or more networks. However, it may not be necessary for high level decisions of the STA to require NP level information. In a non-limiting example, a high level engine may only be notified at transitions between networks, and may not be notified when changing NPs on the same network.


An engine nominally includes a processor and a memory, the memory storing instructions for execution by the processor.



FIG. 1 depicts an example of a system 100 for providing high level instructions. FIG. 1 includes high level engine (HLE) 102, convergence engine (CE) 104, management engine (ME) 106, media access controller (MAC) 108, physical layer device (PHY) 110-1, physical layer device (PHY) 110-2, and physical layer device (PHY) 110-n (collectively physical layer devices PHY 110).


As depicted, the elements of FIG. 1, may be included on either a STA or a NP. Further, the elements as depicted may be separated and recombined as is known or convenient. It may be possible to include all the elements depicted in a single unit however, it may not be necessary to do so. Elements depicted may be included on separate units, and the separate units may be connected by one or more networks.


The HLE 102 could be an internetworking gateway, router, mobility manager, or other engine benefiting from high level instructions. The high level engine may include one or more functions for interaction with a service access point (SAP). The functions may include messaging capability and decision making capability for high level network operations. In a non-limiting example, the high level network operations may include connect, disconnect, enable new network protocol and other high level operations.


The HLE 102 may determine connectivity at the network level such a high level engine may require information such as which network the NP is connected to. It may be desirable to provide information to a high level engine when network level events occur such as, in a non-limiting example, first connection, disconnection, changing networks, or other high level events in accordance with the state machine.


The CE 104 may include a filter, a message monitor and a message generator. The monitor may interact with a SAP operable to capture messages provided and received by the ME 106. The filter may be operable to identify messages having high level importance. The message generator may be operable to create a high level message based on the captured messages. However, many lower level message may be considered by the CE 104 without generating a message for the HLE 102. The convergence engine may sit between lower level network management such as the ME 106 and the HLE 102.


For a non-NP STA, the CE 104 may operate based on a state machine. The state machine may have several states such as “connected,” “waning,” “disconnected,” and “standby.” Connected may be interpreted as the STA having completed all setup activities and the STA is able to transmit and receive frames from peer entities.


“Waning” may be interpreted as a state of anticipation of disconnection. The STA may be anticipating that it will lose all links to all NPs within the network in a defined time interval, however, the STA is presently able to transmit and receive data from peer entities. In a non-limiting example, the predictive failure of the link may be due to explicit disassociation by a peer, imminent invalidation of cryptographic keys as usage limits (such as sequence counter exhaustion), or predictive signal strength algorithms indicating an impending loss of connectivity.


“Disconnected” may be interpreted as the state where a STA is unable to transmit and receive frames and the STA has no available higher level communications protocols. In a non-limiting example, the STA is unable to transmit 802.11 class 3 frames, and is therefore disconnected.


Standby may be interpreted as the STA is powered down, and is unable to communicate with any other STA.


The ME 106 may include sub-layer management entities such as a media access control (MAC) layer management engine (MLME), a physical layer management engine (PLME), and a system management engine (SME). Where the ME 106 includes multiple sub-layer management entities, service access points (SAPs) may provide a point for monitoring and controlling the entities. However, individual units may be divided and combined as is known or convenient and the SAPs may be placed as is known or convenient. The ME 106 may be operable to control the activities of a MAC layer as well as one or more physical layer devices (PHY).


The MAC 108 may include SAPs. The SAPs may provide information about messages passed between the MAC 108 and the PHYs 110. The PHYs 110 may be radios, although a wired, optical, or other physical layer connections may be used. There need not be a plurality of PHYs 110; a single PHY 110 may be the only PHY.


In operation, one or more messages may be received via the PHYs 110 and passed to the MAC 108 and the ME 106. The CE 104 may access the messages via SAPs. The CE 104 monitors and creates a message for the HLE 102 describing a high level event.


In a non-limiting example, the CE 104 may not generate a message for the HLE 102 where the STA changes NPs but remains connected to the same network. To the extent that the HLE 102 need not receive information about lower level network activity, messages about such lower level activity may be suppressed by the CE 104. The messages which reach the HLE 102 may be configured as is known or convenient.


In a non-limiting example, only high level network messages may be provided to the HLE 102. The HLE 102 may then provide high level messages carrying commands to lower levels. Advantageously, a high level engine may provide and receive messages associated with high level network activity, while lower level network events may be monitored and filtered for high level events by a convergence engine.



FIG. 2 depicts an example of a system 200 for providing high level instructions separated into various hardware components. FIG. 2 includes high level engine 202, wireless access switch 204, and low intelligence network portal 206.


In the example of FIG. 2, the HLE 202 may be a high level management system including both hardware and software. The HLE 202 may be a centralized unit in control over a plurality of network portals via a plurality of wireless access switches.


The wireless access switch 204 includes CE 208, ME 210, and MAC 212. The wireless access switch 204 provide mid-level control and management of network portals as well as provide network connectivity between network portals and the HLE 202. An implementation of a wireless access switch, provided by way of example but not limitation, includes a Trapeze Networks® Mobility Exchange® switch.


The low intelligence network portal 206 includes MAC 216, PHY 214-1, PHY 214-2, PHY 214-n (collectively PHYs 214), and ME 218. In the example of FIG. 2, a management engine is divided into the management engine 210 and the management engine 218. The management engine 210 includes mid-level functions associated with controlling a plurality of low intelligence network portals. The ME 218 includes functions for controlling low level operations of a plurality of PHYs and the MAC 216.


In the example of FIG. 2, a MAC is divided into the MAC 212 and the MAC 216. The MAC 212 includes functions for controlling a plurality of low intelligence network portals. The MAC 216 includes functions for interacting with a plurality of PHYs and may receive instructions from the ME 218 as well as from the MAC 212.


The CE 208 monitors the ME 210 including communications between the MAC 212 and the ME 210. The CE 208 filters the monitored messages and identify high level events. For high level events, the CE 208 may provide a high level message to the HLE 202.


In operation, a plurality of messages are received by one or more of the PHYs 214. The messages are communicated to the MAC 216 and the ME 218. The messages may be communicated to the MAC 212 and the ME 210 over a network connecting the low intelligence network portal 206 and the wireless access switch 204. The CE 208 monitors the messages and identifies a high level event. The CE 208 provides a high level message to the HLE 202 over a network connecting the HLE 202 with the wireless access switch 204.



FIG. 3 depicts an example of a system 300 including an intelligent network portal connected to a client. FIG. 3 includes intelligent network portal 300 and client 304.


The intelligent network portal 302 includes a HLE 306, a CE 308, a PHY 310-1, a PHY 310-2, a PHY 310-n (collectively PHYs 310), a ME 312, and a MAC 314. The PHYs 310 may be radios or other communications devices. The MAC 314 may include functions to control the PHYs 310. The ME 312 may include management functions to provide instructions to the PHYs 310 and the MAC 314. The CE 308 may include monitoring and reporting functions. The HLE 306 may include high level network management functions.


The client 304 may be a non-NP STA able to communicate via a wireless connection using a common protocol with PHY 310-1.


In the example of FIG. 3, the intelligent network portal 302 may be connected to the client 304. The client 304 may transmit messages to the PHY 310-1. The message may be passed from the PHY 310-1 to the MAC 314 and to the ME 312. The CE 308 may monitor messages passed between the MAC 314 and the ME 312 as well as messages from the PHYs 310 to the ME 312 via a SAP. The CE 308 may filter the messages for any high level events. For any high level events, the CE 308 may create and provide a high level message to the HLE 306.



FIG. 4 depicts an example of a flowchart 400 of a method for providing a summary of filtered messages. The method is organized as a sequence of modules in the flowchart 400. However, it should be understood that these and modules associated with other methods described herein may be reordered for parallel execution or into different sequences of modules.


In the example of FIG. 4, the flowchart starts at module 402 with receiving a plurality of message from a network interface. The messages may be received by one or more PHYs in conjunction with a MAC. A management engine may control the PHYs and the MAC. Service access points at the connections between the PHY and the MAC and the ME may be used to monitor the messages.


In the example of FIG. 4, the flowchart continues to module 404 with filtering the plurality of messages. The messages may be filtered for high level events such as in a non-limiting example, a disconnection or a waning connection. A high level event may be identified.


In the example of FIG. 4, the flowchart continues to module 406 with synthesizing a summary of the plurality of messages. The summary may identify the high level event observed, and/or may indicate the nature of the high level event. Details such as address may or may not be included.


In the example of FIG. 4, the flowchart continues to module 408 with providing the summary. The summary may be provided as a message to a HLE. The message may be transmitted to the HLE over a network, or where the HLE resides on common hardware, the message may be provided to the HLE by placing the message in memory accessible to the HLE. Having provided the summary, the flowchart terminates.



FIG. 5 depicts an example of a flowchart 500 of a method for attaching a STA to a NP. The method is organized as a sequence of modules in the flowchart 500. However, it should be understood that these and modules associated with other methods described herein may be reordered for parallel execution or into different sequences of modules.


In the example of FIG. 5, the flowchart starts at module 502 with receiving a request for a list of networks. The list of networks may include only distinct networks, where multiple NPs may represent a single network. In a non-limiting example, although 12 NPs are in range, all 12 NPs are associated with a single network. The list should include only the identifier of the single network.


In the example of FIG. 5, the flowchart continues to module 504 with issuing one or more NP level scan requests. The requests seek to identify NPs in range, regardless of their network. The scan requests may be issued in one or more communications protocols. In a non-limiting example, three different communications protocols are in use and 802.11 is one of the three protocols.


In the example of FIG. 5, the flowchart continues to module 506 with receiving one or more NP level scan responses. The responses may be received via one or more communications protocols. A plurality of NP level scan responses may be received identifying a plurality of NPs in range.


In the example of FIG. 5, the flowchart continues to module 508 with sorting NP level scans by network as a list. This step may be optional, however, in discovering distinct networks in the following module, it may be helpful to have the networks sorted as a list.


In the example of FIG. 5, the flowchart continues to module 510 with identifying distinct networks. Each distinct network may be associated with one or more NPs in range. The networks may provide connectivity via one or more than one communication protocol. In a non-limiting example, the list may be a summary of the plurality of messages.


In the example of FIG. 5, the flowchart continues to module 512 with providing a list of distinct networks. The list may be provided to a HLE. In a non-limiting example, providing the list is the same as providing a summary.


In the example of FIG. 5, the flowchart continues to module 514 with receiving an instruction to attach to a chosen network. The instruction may be received from a HLE. The HLE may have decided upon a network based on the list of distinct networks. The network selection may be made by network rather than by NP; the difference being that in selecting a network, the NP in use may vary, whereas in selection by NP, a particular NP may be used.


In the example of FIG. 5, the flowchart continues to module 516 with identifying a target NP in the chosen network from the one or more NP level scan responses. The NP may be selected based on NP selection criteria. In a non-limiting example, various criteria for selecting a NP may include signal strength, NP loading, communications protocol or other known or convenient criteria for selecting a NP.


In the example of FIG. 5, the flowchart continues to module 518 with attaching to the target NP. The attachment to the NP will provide network connectivity. Having attached to the target NP, the flowchart terminates.



FIG. 6 depicts an example of a flowchart 600 of a method for managing a waning connection. The method is organized as a sequence of modules in the flowchart 600. However, it should be understood that these and modules associated with other methods described herein may be reordered for parallel execution or into different sequences of modules.


In the example of FIG. 6, the flowchart starts at module 602 with a STA connected to a network. A STA may be connected to a NP providing connectivity to the STA via the network. In a non-limiting example, the STA may transmit class 3 802.11 frames to LLC peers on the network indicating that it is connected.


In the example of FIG. 6, the flowchart continues to module 604 with identifying a waning connection. “Waning” may be interpreted as a state of anticipation of disconnection. The STA may be anticipating that it will lose all links to all NPs within the network in a defined time interval, however, the STA is presently able to transmit and receive data from peer entities. In a non-limiting example, the predictive failure of the link may be due to explicit disassociation by a peer, imminent invalidation of cryptographic keys as usage limits (such as sequence counter exhaustion), or predictive signal strength algorithms.


In the example of FIG. 6, the flowchart continues to module 606 with transmitting a message advising of potential loss of connectivity to the network. The message warns of the waning connection and provides an opportunity to take action to remain connected.


In the example of FIG. 6, the flowchart continues to module 608 with receiving a reply message including an instruction. The instruction may determine whether or not action is taken to remain connected. In particular, if an action is to be taken the action may be specified by the message.


In the example of FIG. 6, the flowchart continues to module 610 with determining: take action to remain connected?


In the example of FIG. 6, if the decision at module 610 is yes, then the flowchart continues to module 618 with optionally activating a second or nth network interface or connection device. Where no NPs, or at least no desirable NPs are available via a certain network communications protocol, a second or nth network communications protocol may be used. NPs operating on the second or nth communications protocol may be made accessible, and a NP may be selected to use for all subsequent communications using the second or nth communications protocol.


In the example of FIG. 6, the flowchart continues to module 620 with identifying a new point of connection to the network. If another network connection exists, such as a wired connection or another NP on the current communications protocol is available, the new point of connection may be used.


In the example of FIG. 6, the flowchart continues to module 622 with transitioning to the new point of connection. The new point of connection is selected and established.


In the example of FIG. 6, the flowchart continues to module 624 with transmitting a message informing a HLE of the successful transition to the new point of connection. Having transmitted the message informing of the successful transition to the new point of connection, the flowchart returns to module 602, connected to a network.


In the example of FIG. 6, if the decision at module 610 is no, then the flowchart proceeds to module 612 with ignoring the waning connection. It may be assumed that the device will remain connected for some time period before disconnection.


In the example of FIG. 6, the flowchart proceeds to decision module 616 with deciding: disconnect? Disconnecting manually is an option; a device may choose to drop off of the network prior to allowing the waning connection to fail. Alternatively, the device may lose connectivity before such a decision can be made.


If the decision at module 616 is yes, or the device loses connectivity before the decision can be made, the flowchart proceeds to module 614 with disconnected from the network. In a non-limiting example, the device no longer may transmit class 3 frames.


If the decision at module 618 is no, then the flowchart continues to module 602 with connected to the network. The waning connection may be re-identified and action may be taken, or alternatively, the waning connection may be disregarded, and communication may continue up until network connectivity is lost. Having chosen to ignore the waning connection and having not been connected the flowchart loops while the device remains connected.



FIG. 7 depicts an example of a system 700 including a STA in range of n overlapping networks. FIG. 7 includes STA 701, network 712-1, network 712-2, and network 712-n (collectively networks 712).


In the example of FIG. 7, the STA 701 includes HLE 702, CE 704, ME 706, MAC 708, PHY 710-1, PHY 710-2, and PHY 710-n (collectively PHYs 710). The HLE 702 may include a mobility manager, or other engine benefiting from high level instructions. The high level engine may include one or more functions for interaction with a service access point SAP. The functions may include messaging capability and decision making capability for high level network operations. In a non-limiting example, the high level network operations may include connect, disconnect, enable new network protocol and other high level operations.


The CE 704 may include a monitor and a message generator and a filter. The monitor may interact with a SAP operable to capture messages provided and received by the ME 106. The filter may be operable to identify messages having high level importance. The message generator may be operable to create a high level message based on the captured messages. The CE 704 may sit between lower level network management such as the ME 706 and the HLE 702.


The ME 706 may provide low level control over the MAC 708 and the PHYs 710. Messages passed between the ME 706, the MAC 708 and the PHYs 710 may be monitored by the CE 704.


Networks 712 may include n different networks operating on n distinct network protocols; one or more networks may operate on the same network protocol. As depicted network 712-n includes NP 714, network 712-2 includes NP 716-1 and NP 716-2 (collectively NPs 716), and network 712 includes NP 718-1 and 718-2 (collectively NPs 718).


In the example of FIG. 7, NP 714, NPs 716, and NPs 718 are all in range of the PHYs 710, and represent networks the STA 701 may connect to.


In operation, HLE 702 has issued an instruction to identify available networks, and network portal level scan requests have been transmitted. NP 714, NPs 716, and NPs 718 response to network portal level scan requests. Thus, five different messages associated with n different networks are received by the PHYs 710. The messages are provided to the ME 706 and the MAC 708. The CE 704 monitors the messages via SAPs between the PHYs 710, the MAC 708 and the ME 706. The CE filters the messages creating a list of distinct networks and identifies the networks 712 as n distinct networks. The list of n distinct networks is transmitted as a message to the HLE 702. The HLE may then select a network and provide an instruction to attach to a particular NP of the specified network.



FIG. 8 depicts a non-limiting example of a system 800 including two overlapping networks and station passing through a boundary of the networks. FIG. 8 includes NP 802-1, NP 802-2 (collectively NPs 801), NP 804-1, NP 804-2 (collectively NPs 804), STA 815, STA 816, and STA 818.


NPs 802 are each providing network connectivity to network A, and NPs 804 are each providing network connectivity to network B. Network A and network B operate using different communications protocols. The dotted lines indicate the extent of each NP's coverage area, and the dashed lines each indicate a connection between NPs and STAs.


The STA 815, the STA 816, and the STA 818 each correspond to different points in time for the same STA. In time, STA 815 is past, STA 816 is present and STA 818 is future. Each of STA 815, STA 816, and STA 818 include a CE and a HLE.


In operation, a user of the STA is carrying the STA passing through the boundaries of different networks having overlapping coverage areas. The STA 815 was first connected to the network A via NP 802-2 because STA 815 was closer to NP 802-2 and has a stronger signal. STA 815 could have connected to NP 802-1 if needed as STA 815 was in range of the NP 802-1. When presented with networks, STA 815's HLE was only presented with network A; notably both of NPs 802 responded to network portal level scan requests.


STA 816 has come into range of each of NP 802-1 and NP 804-2. STA 816 is presently connected to NP 802-2 as it was closest and had the strongest signal. However, the connection from NP 802-2 is waning as STA 816 is near the extent of the range of NP 802-2. STA 816 decides to enable a second network connection in the hopes of discovering an available NP prior to losing all network connectivity. STA 816's HLE issues a request for available networks. STA 816 issues a network portal level scan request for available network portals using the communications protocol of network B. NP 804-2 responds. STA 816 establishes a connection with NP 804-2, and begins communicating via NP 804-2. The STA 816's HLE will have been provided a message warning of the loss of network connectivity, but lower level messages regarding NP level connectivity will be filtered out.


The connection to NP 802-2 will be lost. However, STA 818 will have the connection with NP 804-2. As the user continues along, STA 818 will come into range of NP 804-1. Since the STA 818 will have a higher signal strength to NP 804-2, the STA 818 will remain connected to NP 804-2. Messages will not be passed to the STA 818's HLE as the NP 804-1 is on the same network as NP 804-2.



FIG. 9 depicts an example of a device 900 for providing high level instructions. The system 900 may be a conventional computer system that can be used as a client computer system, such as a wireless client or a workstation, or a server computer system. The computer system 900 includes a device 902, I/O devices 904, radio 924, and a display device 906. The device 902 includes a processor 908, a communications interface 910, memory 912, display controller 914, non-volatile storage 916, I/O controller 918, clock 922. The device 902 may be coupled to or include the I/O devices 904 display device 906, and radio 924.


The device 902 interfaces to external systems through the communications interface 910, which may include a modem or network interface. It will be appreciated that the communications interface 910 can be considered to be part of the system 900 or a part of the device 902. The communications interface 910 can be an analog modem, ISDN modem or terminal adapter, cable modem, token ring IEEE 802.5 interface, Ethernet/IEEE 802.3 interface, wireless 802.11 interface, satellite transmission interface (e.g. “direct PC”), WiMAX/IEEE 802.16 interface, Bluetooth interface, cellular/mobile phone interface, third generation (3G) mobile phone interface, code division multiple access (CDMA) interface, Evolution-Data Optimized (EVDO) interface, general packet radio service (GPRS) interface, Enhanced GPRS (EDGE/EGPRS), High-Speed Downlink Packet Access (HSPDA) interface, or other interfaces for coupling a computer system to other computer systems.


The processor 908 may be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. The memory 912 is coupled to the processor 908 by a bus 920. The memory 912 can be Dynamic Random Access Memory (DRAM) and can also include Static RAM (SRAM). The bus 920 couples the processor 908 to the memory 912, also to the non-volatile storage 916, to the display controller 914, and to the I/O controller 918.


The I/O devices 904 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 914 may control in the conventional manner a display on the display device 906, which can be, for example, a cathode ray tube (CRT) or liquid crystal display (LCD). The display controller 914 and the I/O controller 918 can be implemented with conventional well known technology.


The non-volatile storage 916 is often a magnetic hard disk, flash memory, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 912 during execution of software in the device 902. One of skill in the art will immediately recognize that the terms “machine-readable medium” or “computer-readable medium” includes any type of storage device that is accessible by the processor 908 and also encompasses a carrier wave that encodes a data signal.


Clock 922 can be any kind of oscillating circuit creating an electrical signal with a precise frequency. In a non-limiting example, clock 922 could be a crystal oscillator using the mechanical resonance of vibrating crystal to generate the electrical signal.


Radios 924 may be any combination of known or convenient electrical components including by way of example, but not limitation, transistors, capacitors, resistors, multiplexers, wiring, registers, diodes or any other electrical components known or convenient.


The system 900 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an I/O bus for the peripherals and one that directly connects the processor 908 and the memory 912 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.


Network computers are another type of computer system that can be used in conjunction with the teachings provided herein. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 912 for execution by the processor 908. A Web TV system, which is known in the art, is also considered to be a computer system, but it may lack some of the features shown in FIG. 9, such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.


In addition, the system 900 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash. and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system. The file management system is typically stored in the non-volatile storage 916 and causes the processor 908 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 916.


Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.


It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is Appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.


The present example also relates to apparatus for performing the operations herein. This Apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, flash memory, magnetic or optical cards, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.


The algorithms and displays presented herein are not inherently related to any particular computer or other Apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized Apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present example is not described with reference to any particular programming language, and various examples may thus be implemented using a variety of programming languages.

Claims
  • 1. A system implemented in at least one of a non-transitory medium with instructions for execution on a processing device, a processing device or a combination thereof, comprising: a convergence engine configured to receive a request for a high level message from a high level engine (HLE);the convergence engine configured to monitor a plurality of 802.11 messages provided by a network interface to a management engine (ME), the high level message being a message from the plurality of messages;the convergence engine configured to filter the high level message from the plurality of messages, the high level message comprises a list of networks; the convergence engine configured to forward the high level message to the HLE in response to the request; andthe convergence engine configured to receive from the HLE an instruction to associate with a network that is from the list of networks and that is selected by the HLE.
  • 2. The system of claim 1, further comprising a media access controller configured to be coupled to the network interface and coupled to the ME, the media access controller configured to receive a message from the network interface and provides the message to the ME.
  • 3. The system of claim 2, wherein the convergence engine is further configured to monitor messages passed between the ME, the media access controller (MAC) and the network interface.
  • 4. The system of claim 1, wherein the convergence engine is configured to filter the high level message from the plurality of messages, the convergence engine is further configured to filter messages having a high level of importance from the plurality of messages.
  • 5. The system of claim 1, wherein the convergence engine configured to filter the high level message from the plurality of messages, the convergence engine is further configured to filter out messages regarding network portal level connectivity from the plurality of messages.
  • 6. A method comprising: receiving a plurality of messages from a network interface;filtering a high level message, the high level message being a message from the plurality of messages, the filtering including filtering out messages regarding network portal level connectivity, the high level message including a list of networks; andproviding the high level message to a high level engine.
  • 7. The method of claim 6, wherein the plurality of messages are 802.11 messages.
  • 8. The method of claim 6, wherein the plurality of messages are received by monitoring the messages as they are passed to a management engine by a network interface.
  • 9. The method of claim 6, wherein the filtering the high level message further comprises the high level message having a high level of importance.
  • 10. The method of claim 6, wherein the plurality of messages are a first plurality of messages, the method further comprising: monitoring a second plurality of messages passed between a management engine (ME), a media access controller (MAC) and the network interface, the first plurality of messages being included in the second plurality of messages.
  • 11. A system implemented in at least one of a non-transitory medium with instructions for execution on a processing device, a processing device or a combination thereof, comprising: a convergence engine (CE) configured to receive a request from a high level engine (HLE) for a list of networks in range of a network interface;the CE configured to send an instruction, in response to the request, to a management engine to (1) perform one or more scan requests for network portals in range of the network interface, (2) define a list of network portals, and (3) define a list of distinct networks based on the list of network portals;the CE configured to receive the list of distinct networks from the management engine;the CE configured to provide the list of distinct networks to the HLE as a response to the request from the HLE; andthe CE configured to receive from the HLE an instruction to associate with a network that is from the distinct list of networks and that is selected by the HLE.
  • 12. The system of claim 11, further comprising the HLE configured to be coupled to the CE.
  • 13. A method comprising: receiving, at a high level engine, an indication of a waning network connection from a convergence engine;requesting, by the high level engine, a list of networks in range of a network interface from the convergence engine, the list of networks based on one or more portal level scans such that the convergence engine define the list of networks by sorting the one or more portal level scans by network;selecting, by the high level engine, a network from the list of networks to transition to; andinstructing, by the high level engine, the convergence engine to associate with the selected network.
  • 14. The method of claim 13, further comprising identifying, by the convergence engine, a target network portal associated with the selected network.
  • 15. A method comprising: identifying a waning network connection;transmitting a message to a high level engine indicating the waning connection;receiving a reply message from the high level engine including an instruction to define a list of available networks;transmitting a message to the high level engine including the list of available networks, the message not including a plurality of portal level connectivity messages;receiving an instruction from the high level engine to join a new network from the list of networks, and selected by the high level engine from the list of networks;selecting a network portal providing access to the new network from a plurality of network portals associated with the new network; andtransitioning to the new network via the network portal.
  • 16. The method of claim 15, wherein the waning connection is to an 802.11 network and the new network is not an 802.11 network.
  • 17. The method of claim 15 wherein the waning network connection is associated with a first connection device, the method further comprising, receiving a message including an instruction to activate a second connection device in response to receiving the instruction from the high level engine to join the new network.
  • 18. The method of claim 15 wherein the waning network connection is associated with a first network interface, the method further comprising, activating a second network interface in response to receiving the instruction from the high level engine to join the new network.
  • 19. The method of claim 15 wherein the waning network connection is associated with a first connection device, the method further comprising, activating a second connection device in response to receiving the instruction from the high level engine to join the new network.
RELATED APPLICATIONS

This Application claims priority to U.S. Provisional Patent Application No. 60/973,406, filed Sep. 18, 2007, and entitled “STATE CONVERGENCE” by Matthew Stuart Gast, which is incorporated herein by reference. This Application claims priority to U.S. Provisional Patent Application No. 60/978,401, filed Oct. 8, 2007, and entitled “MAC STATE GENERIC CONVERGENCE FUNCTION” by Matthew Stuart Gast, which is incorporated herein by reference. This Application claims priority to U.S. Provisional Patent Application No. 60/980,158 filed Oct. 15, 2007, and entitled “MAC STATE GENERIC CONVERSION FUNCTION” by Matthew Stuart Gast & Stephen McCann, which is incorporated herein by reference. This Application claims priority to U.S. Provisional Patent Application No. 60/985,910 filed Nov. 6, 2007, and entitled “MAC STATE GENERIC CONVERSION FUNCTION” by Matthew Stuart Gast, which is incorporated herein by reference.

US Referenced Citations (249)
Number Name Date Kind
3641433 Mifflin et al. Feb 1972 A
4168400 De Couasnon et al. Sep 1979 A
4176316 DeRosa et al. Nov 1979 A
4247908 Lockhart et al. Jan 1981 A
4291401 Bachmann Sep 1981 A
4291409 Weinberg et al. Sep 1981 A
4409470 Shepard et al. Oct 1983 A
4460120 Shepard et al. Jul 1984 A
4475208 Ricketts Oct 1984 A
4494238 Groth, Jr. Jan 1985 A
4500987 Hasegawa Feb 1985 A
4503533 Tobagi et al. Mar 1985 A
4550414 Guinon et al. Oct 1985 A
4562415 McBiles Dec 1985 A
4630264 Wah Dec 1986 A
4635221 Kerr Jan 1987 A
4639914 Winters Jan 1987 A
4644523 Horwitz Feb 1987 A
4672658 Kavehrad Jun 1987 A
4673805 Shepard et al. Jun 1987 A
4707839 Andren et al. Nov 1987 A
4730340 Frazier Mar 1988 A
4736095 Shepard et al. Apr 1988 A
4740792 Sagey et al. Apr 1988 A
4758717 Shepard et al. Jul 1988 A
4760586 Takeda Jul 1988 A
4789983 Acampora et al. Dec 1988 A
4829540 Waggener et al. May 1989 A
4850009 Zook et al. Jul 1989 A
4872182 Mcrae et al. Oct 1989 A
4894842 Brockhaven et al. Jan 1990 A
4901307 Gilhousen et al. Feb 1990 A
4933952 Albrieux et al. Jun 1990 A
4933953 Yagi Jun 1990 A
4995053 Simpson et al. Feb 1991 A
5008899 Yamamoto Apr 1991 A
5029183 Tymes Jul 1991 A
5103459 Gilhousen et al. Apr 1992 A
5103461 Tymes Apr 1992 A
5109390 Gilhousen et al. Apr 1992 A
5142550 Tymes Aug 1992 A
5151919 Dent Sep 1992 A
5157687 Tymes Oct 1992 A
5187675 Dent et al. Feb 1993 A
5231633 Hluchyj et al. Jul 1993 A
5280498 Tymes et al. Jan 1994 A
5285494 Sprecher et al. Feb 1994 A
5329531 Diepstraten Jul 1994 A
5418812 Reyes et al. May 1995 A
5448569 Huang et al. Sep 1995 A
5450615 Fortune et al. Sep 1995 A
5465401 Thompson Nov 1995 A
5479441 Tymes et al. Dec 1995 A
5483676 Mahany et al. Jan 1996 A
5488569 Kaplan et al. Jan 1996 A
5491644 Pickering et al. Feb 1996 A
5517495 Lund May 1996 A
5519762 Bartlett May 1996 A
5528621 Heiman et al. Jun 1996 A
5561841 Markus Oct 1996 A
5568513 Croft et al. Oct 1996 A
5584048 Wieczorek Dec 1996 A
5598532 Liron Jan 1997 A
5630207 Gitlin et al. May 1997 A
5640414 Blakeney et al. Jun 1997 A
5649289 Wang et al. Jul 1997 A
5668803 Tymes et al. Sep 1997 A
5729542 Dupont Mar 1998 A
5742592 Scholefield et al. Apr 1998 A
5793303 Koga Aug 1998 A
5794128 Brockel et al. Aug 1998 A
5812589 Sealander et al. Sep 1998 A
5815811 Pinard et al. Sep 1998 A
5828653 Goss Oct 1998 A
5828960 Tang et al. Oct 1998 A
5838907 Hansen Nov 1998 A
5844900 Hong et al. Dec 1998 A
5872968 Knox et al. Feb 1999 A
5875179 Tikalsky Feb 1999 A
5896561 Schrader et al. Apr 1999 A
5915214 Reece et al. Jun 1999 A
5920821 Seazholtz et al. Jul 1999 A
5933607 Tate et al. Aug 1999 A
5949988 Feisullin et al. Sep 1999 A
5953669 Stratis et al. Sep 1999 A
5960335 Umemoto et al. Sep 1999 A
5982779 Krishnakumar et al. Nov 1999 A
5987062 Engwer et al. Nov 1999 A
5987328 Ephremides et al. Nov 1999 A
6005853 Wang et al. Dec 1999 A
6011784 Brown Jan 2000 A
6041358 Huang et al. Mar 2000 A
6078568 Wright Jun 2000 A
6088591 Trompower Jul 2000 A
6115390 Chuah Sep 2000 A
6119009 Baranger et al. Sep 2000 A
6160804 Ahmed et al. Dec 2000 A
6188694 Fine et al. Feb 2001 B1
6199032 Anderson Mar 2001 B1
6208629 Jaszewski et al. Mar 2001 B1
6208841 Wallace et al. Mar 2001 B1
6218930 Katzenberg et al. Apr 2001 B1
6240078 Kuhnel et al. May 2001 B1
6240083 Wright May 2001 B1
6256300 Ahmed et al. Jul 2001 B1
6256334 Adachi Jul 2001 B1
6285662 Watannabe et al. Sep 2001 B1
6317599 Rappaport et al. Nov 2001 B1
6336035 Somoza et al. Jan 2002 B1
6336152 Richman et al. Jan 2002 B1
6347091 Wallentin et al. Feb 2002 B1
6356758 Almeida et al. Mar 2002 B1
6393290 Ufongene May 2002 B1
6404772 Beach et al. Jun 2002 B1
6446206 Feldbaum Sep 2002 B1
6470025 Wilson et al. Oct 2002 B1
6473449 Cafarella et al. Oct 2002 B1
6493679 Rappaport et al. Dec 2002 B1
6496290 Lee Dec 2002 B1
6512916 Forbes, Jr. Jan 2003 B1
6567146 Hirakata et al. May 2003 B2
6567416 Chuah May 2003 B1
6580700 Pinard et al. Jun 2003 B1
6587680 Ata-Laurila et al. Jul 2003 B1
6614787 Jain et al. Sep 2003 B1
6625454 Rappaport et al. Sep 2003 B1
6631267 Clarkson et al. Oct 2003 B1
6659947 Carter et al. Dec 2003 B1
6678802 Hickson Jan 2004 B2
6687498 McKenna et al. Feb 2004 B2
6721334 Ketcham Apr 2004 B1
6725260 Philyaw Apr 2004 B1
6747961 Ahmed et al. Jun 2004 B1
6760324 Scott et al. Jul 2004 B1
6839338 Amara et al. Jan 2005 B1
6839388 Vaidyanathan Jan 2005 B2
6847620 Meier Jan 2005 B1
6879812 Agrawal et al. Apr 2005 B2
6937566 Forslow Aug 2005 B1
6973622 Rappaport et al. Dec 2005 B1
6978301 Tindal Dec 2005 B2
7020773 Otway et al. Mar 2006 B1
7024394 Ashour et al. Apr 2006 B1
7035220 Simcoe Apr 2006 B1
7062566 Amara et al. Jun 2006 B2
7110756 Diener Sep 2006 B2
7126913 Patel et al. Oct 2006 B1
7155518 Forslow Dec 2006 B2
7221927 Kolar et al. May 2007 B2
7293136 More et al. Nov 2007 B1
7350077 Meier et al. Mar 2008 B2
7382756 Barber et al. Jun 2008 B2
7421487 Peterson et al. Sep 2008 B1
7440416 Mahany et al. Oct 2008 B2
7475130 Silverman Jan 2009 B2
7505434 Backes Mar 2009 B1
7509096 Palm et al. Mar 2009 B2
7529925 Harkins May 2009 B2
7577453 Matta Aug 2009 B2
7603710 Harvey et al. Oct 2009 B2
7724704 Simons et al. May 2010 B2
7844298 Riley Nov 2010 B2
7856659 Keeler et al. Dec 2010 B2
8140845 Buddhikot et al. Mar 2012 B2
8161278 Harkins Apr 2012 B2
20020021701 Lavian et al. Feb 2002 A1
20020052205 Belostotsky et al. May 2002 A1
20020069278 Forslow Jun 2002 A1
20020080790 Beshai Jun 2002 A1
20020087699 Karagiannis et al. Jul 2002 A1
20020095486 Bahl Jul 2002 A1
20020101868 Clear et al. Aug 2002 A1
20020116655 Lew et al. Aug 2002 A1
20020174137 Wolff et al. Nov 2002 A1
20020191572 Weinstein et al. Dec 2002 A1
20030014646 Buddhikot et al. Jan 2003 A1
20030018889 Burnett et al. Jan 2003 A1
20030107590 Levillain et al. Jun 2003 A1
20030120764 Laye et al. Jun 2003 A1
20030174706 Shankar et al. Sep 2003 A1
20030193910 Shoaib et al. Oct 2003 A1
20030204596 Yadav Oct 2003 A1
20040025044 Day Feb 2004 A1
20040029580 Haverinen et al. Feb 2004 A1
20040030777 Reedy et al. Feb 2004 A1
20040047320 Eglin Mar 2004 A1
20040054774 Barber et al. Mar 2004 A1
20040064560 Zhang et al. Apr 2004 A1
20040078598 Barber et al. Apr 2004 A1
20040095914 Katsube et al. May 2004 A1
20040095932 Astarabadi et al. May 2004 A1
20040120370 Lupo Jun 2004 A1
20040143428 Rappaport et al. Jul 2004 A1
20040184475 Meier Sep 2004 A1
20040221042 Meier Nov 2004 A1
20040230370 Tzamaloukas Nov 2004 A1
20040233234 Chaudhry et al. Nov 2004 A1
20040236702 Fink et al. Nov 2004 A1
20040246937 Duong et al. Dec 2004 A1
20040259555 Rappaport et al. Dec 2004 A1
20050025105 Rue Feb 2005 A1
20050030894 Stephens Feb 2005 A1
20050030929 Swier et al. Feb 2005 A1
20050058132 Okano et al. Mar 2005 A1
20050059405 Thomson et al. Mar 2005 A1
20050059406 Thomson et al. Mar 2005 A1
20050064873 Karaoguz et al. Mar 2005 A1
20050068925 Palm et al. Mar 2005 A1
20050073980 Thomson et al. Apr 2005 A1
20050078644 Tsai et al. Apr 2005 A1
20050097618 Arling et al. May 2005 A1
20050122977 Lieberman Jun 2005 A1
20050128989 Bhagwat et al. Jun 2005 A1
20050157730 Grant et al. Jul 2005 A1
20050163078 Oba et al. Jul 2005 A1
20050175027 Miller et al. Aug 2005 A1
20050180345 Meier Aug 2005 A1
20050180358 Kolar et al. Aug 2005 A1
20050181805 Gallagher Aug 2005 A1
20050193103 Drabik Sep 2005 A1
20050223111 Bhandaru et al. Oct 2005 A1
20050240665 Gu et al. Oct 2005 A1
20050259597 Benedetotto et al. Nov 2005 A1
20050273442 Bennett et al. Dec 2005 A1
20050276218 Ooghe et al. Dec 2005 A1
20060045050 Floros et al. Mar 2006 A1
20060143496 Silverman Jun 2006 A1
20060187878 Calhoun et al. Aug 2006 A1
20060200862 Olson et al. Sep 2006 A1
20060248331 Harkins Nov 2006 A1
20060285489 Francisco et al. Dec 2006 A1
20060292992 Tajima et al. Dec 2006 A1
20070011318 Roth Jan 2007 A1
20070086398 Tiwari Apr 2007 A1
20070171909 Pignatelli Jul 2007 A1
20070189222 Kolar et al. Aug 2007 A1
20070230457 Kodera et al. Oct 2007 A1
20070248009 Petersen Oct 2007 A1
20070286208 Kanada et al. Dec 2007 A1
20070297329 Park et al. Dec 2007 A1
20080013481 Simons et al. Jan 2008 A1
20080102815 Sengupta et al. May 2008 A1
20080107077 Murphy May 2008 A1
20090059930 Ryan et al. Mar 2009 A1
20090198999 Harkins Aug 2009 A1
20090252120 Kim et al. Oct 2009 A1
20100261475 Kim et al. Oct 2010 A1
20120144462 Pochop Jun 2012 A1
20120204031 Harkins Aug 2012 A1
Foreign Referenced Citations (7)
Number Date Country
1542 409 Jun 2005 EP
WO 9403986 Feb 1994 WO
WO 9911003 Mar 1999 WO
WO 03085544 Oct 2003 WO
WO 2004095192 Nov 2004 WO
WO 2004095800 Nov 2004 WO
WO 2010130133 Nov 2010 WO
Non-Patent Literature Citations (81)
Entry
U.S. Appl. No. 11/326,966, filed Jan. 2006, Taylor.
U.S. Appl. No. 11/330,877, filed Jan. 2006, Matta.
U.S. Appl. No. 11/331,789, filed Jan. 2006, Matta, et al.
U.S. Appl. No. 11/351,104, filed Feb. 2006, Tiwari.
U.S. Appl. No. 11/377,859, filed Mar. 2006, Harkins.
U.S. Appl. No. 11/400,165, filed Apr. 2006, Tiwari.
U.S. Appl. No. 11/445,750, filed May 2006, Matta.
U.S. Appl. No. 11/417,830, filed May 2006, Morain.
U.S. Appl. No. 11/417,993, filed May 2006, Jar et al.
U.S. Appl. No. 11/437,537, filed May 2006, Freund et al.
U.S. Appl. No. 11/437,538, filed May 2006, Zeldin.
U.S. Appl. No. 11/437,387, filed May 2006, Zeldin et al.
U.S. Appl. No. 11/437,582, filed May 2006, Bugwadia et al.
U.S. Appl. No. 11/451,704, filed Jun. 2006, Riley.
U.S. Appl. No. 11/487,722, filed Jul. 2006, Simons et al.
U.S. Appl. No. 11/592,891, filed Nov. 2006, Murphy, James.
U.S. Appl. No. 11/595,119, filed Nov. 2006, Murphy, James.
U.S. Appl. No. 11/604,075, filed Nov. 2006, Murphy et al.
U.S. Appl. No. 11/643,329, filed Dec. 2006, Towari, Manish.
U.S. Appl. No. 11/648,359, filed Dec. 2006, Gast et al.
U.S. Appl. No. 11/690,654, filed Mar. 2007, Keenly et al.
U.S. Appl. No. 11/801,964, filed May 2007, Simone et al.
U.S. Appl. No. 11/845,029, filed Aug. 2007, Gast, Mathew S.
U.S. Appl. No. 11/852,234, filed Sep. 2007, Gast et al.
U.S. Appl. No. 11/944,346, filed Nov. 2007, Gast, Mathew S.
U.S. Appl. No. 11/966,912, filed Dec. 2007, Chesnutt et al.
U.S. Appl. No. 11/975,134, filed Oct. 2007, Aragon et al.
U.S. Appl. No. 12/077,051, filed Mar. 2008, Gast, Mathew S.
Acampora and Winters, IEEE Communications Magazine, 25(8):11-20 (1987).
Acampora and Winters, IEEE Journal on selected Areas in Communications. 5:796-804 (1987). SAC-5:796-804 (1987).
Bing and Subramanian, IEEE, 1318-1322 (1997).
Durgin, et al., “Measurements and Models for Radio Path Loss and Penetration Loss in and Around Homes and Trees at 5.85 GHz”, IEEE Transactions on Communications, vol. 46, No. 11, Nov. 1998.
Freret et al., Applications of Spread-Spectrum Radio to Wireless Terminal Communications, Conf. Record, Nat'l Telecom. Conf., Nov. 30-Dec. 4, 1980.
Fortune et al., IEEE Computational Science and Engineering, “Wise Design of Indoor Wireless Systems: Practical Computation and Optimization”, p. 58-68 (1995).
Geier, Jim, Wireless Lans Implementing Interoperable Networks, Chapter 3 (pp. 89-125) Chapter 4 (pp. 129-157) Chapter 5 (pp. 159-189) and Chapter 6 (pp. 193-234), 1999, United States.
Ho et al., “Antenna Effects on Indoor Obstructed Wireless Channels and a Deterministic Image-Based Wide-Based Propagation Model for In-Building Personal Communications Systems”, International Journal of Wireless Information Networks, vol. 1, No. 1, 1994.
Kim et al., “Radio Propagation Measurements and Prediction Using Three-Dimensional Ray Tracing in Urban Environments at 908 MHz and 1.9 GHz”, IEEE Transactions on Vehicular Technology, vol. 48, No. 3, May 1999.
Kleinrock and Scholl, Conference record 1977 ICC vol. 2 of 3, Jun. 12-15 Chicago Illinois “Packet Switching in radio Channels: New Conflict-Free Multiple Access Schemes for a Small Number of data Useres”, (1977).
LAN/MAN Standars Committee of the IEEE Computer Society, Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications:Higher Speed Physical Layer Extension in the 2.4 GHz Band, IEEE Std. 802.11b (1999).
Okamoto and Xu, IEEE, Proceeding so of the 13th Annual Hawaii International Conference on System Sciences, pp. 54-63 (1997).
Panjwani et al., “Interactive Computation of Coverage Regions for Wireless Communication in Multifloored Indoor Environments”, IEEE Journal on Selected Areas in Communications, vol. 14, No. 3, Apr. 1996.
Perram and Martinez, “Technology Developments for Low-Cost Residential Alarm Systems”, Proceedings 1977 Carnahan Conference on Crime Countermeasures, Apr. 6-8, pp. 45-50 (1977).
Piazzi et al., “Achievable Accuracy of Site-Specific Path-Loss Predictions in Residential Environments”, IEEE Transactions on Vehicular Technology, vol. 48, No. 3, May 1999.
Seidel et al., “Site-Specific Propagation Prediction for Wireless In-Building Personal Communications System Design”, IEEE Transactions on Vehicular Technology, vol. 43, No. 4, Nov. 1994.
Skidmore et al., “Interactive Coverage Region and System Design Simulation for Wireless Communication Systems in Multi-floored Indoor Environments, SMT Plus” IEEE ICUPC '96 Proceedings (1996).
Ullmo et al., “Wireless Propagation in Buildings: A Statistic Scattering Approach”, IEEE Transactions on Vehicular Technology, vol. 48, No. 3, May 1999.
Puttini, R., Percher, J., Me, L., and de Sousa, R. 2004. A fully distributed IDS for MANET. In Proceedings of the Ninth international Symposium on Computers and Communications 2004 vol. 2 (Iscc″04)—vol. 2 (Jun. 28-Jul. 1, 2004). ISCC. IEEE Computer Society, Washington, DC, 331-338.
Co-pending U.S. Appl. No. 11/648,359, filed Dec. 28, 2006.
Co-pending U.S. Appl. No. 12/077,051, filed Mar. 14, 2008.
Co-pending U.S. Appl. No. 12/113,535, filed May 1, 2008.
Co-pending U.S. Appl. No. 11/852,234, filed Sep. 7, 2007.
Co-pending U.S. Appl. No. 12/172,195, filed Jul. 11, 2008.
Co-pending U.S. Appl. No. 12/210,917, filed Sep. 15, 2008.
Co-pending U.S. Appl. No. 11/845,029, filed Aug. 24, 2007.
Written Opinion PCT/US07/19696 dated Feb. 29, 2008, pp. 1-5.
Written Opinion PCT/US08/010708 dated May 18, 2009, pp. 1-12.
Final Office Action Mailed Jan. 25, 2010, in Co-pending U.S. Appl. No. 11/845,029, filed Aug. 24, 2007.
Non-Final Office Action Mailed Jul. 9, 2009, in Co-pending U.S. Appl. No. 11/845,029, filed Aug. 24, 2007.
Non-Final Office Action Mailed Nov. 19, 2009, in Co-pending U.S. Appl. No. 11/648,359, filed Dec. 28, 2006.
Non-Final Office Action Mailed Jan. 21, 2010, in Co-pending U.S. Appl. No. 11/852,234, filed Sep. 7, 2007.
Non-Final Office Action Mailed Jun. 29, 2009, in Co-pending U.S. Appl. No. 11/852,234, filed Sep. 7, 2007.
Non-Final Office Action Mailed Jun. 1, 2010, in Co-pending U.S. Appl. No. 12/172,195, filed Jul. 11, 2008.
Notice of Allowance mailed Jun. 23, 2010, in Co-pending U.S. Appl. No. 11/648,359, filed Dec. 28, 2006.
Non-Final Office Action Mailed May 14, 2010, in Co-pending U.S. Appl. No. 11/845,029, filed Aug. 24, 2007.
Law, A., “New Service Discovery Protocol,” Internet Citation [Online] XP002292473 Retrieved from the Internet: URL:/http://sern.uccalgary.ca/{ Iawa/SENG60921/arch/SDP.htm> [retrieved Aug. 12, 2004] the whole document.
International Search Report PCT/US2007/19696 dated Feb. 29, 2008; p. 1.
International Search Report PCT/US2008/010708 dated May 18, 2009; p. 1-2.
Aerohive Blog, posted by Devin Akin, Cooperative Control: Part 3, [Online] Retrieved from the Internet: <URL: http://blog.aerohive.com/blog/?p=71> Mar. 1, 2010 (3 pages).
Wikipedia, Wireless LAN, 2 definitions for wireless LAN roaming, [Online] [retrieved Oct. 4, 2010] Retrieved from the Internet: <URL: http://en.wikipedia.org/wiki/Wireless—LAN> (1 page).
Sangheon Pack et al. “Fast-handoff support in IEEE 802.11 wireless networks,” IEEE Communications Surveys, IEEE, NY, NY, vol. 9, No. 1, Jan. 1, 2007 (pp. 2-12) ISSN: 1553-877X.
U.S. Appl. No. 12/603,391, filed Oct. 21, 2009.
Office Action for U.S. Appl. No. 12/957,997, mailed Aug. 28, 2012.
Office Action for U.S. Appl. No. 11/784,307, mailed Sep. 22, 2009.
Final Office Action for U.S. Appl. No. 11/784,307, mailed Jun. 14, 2010.
Non-Final Office Action for U.S. Appl. No. 11/377,859, mailed Jan. 8, 2008.
Final Office Action for U.S. Appl. No. 11/377,859, mailed Aug. 27, 2008.
Office Action for U.S. Appl. No. 12/401,073, mailed Aug. 23, 2010.
Final Office Action for U.S. Appl. No. 12/401,073, mailed Apr. 1, 2011.
Office Action for U.S. Appl. No. 12/401,073, mailed Sep. 20, 2011.
Extended Search Report for European Application No. 11188566.1, mailed Jan. 30, 2012.
International Search Report and Written Opinion for PCT/US05/004702, mailed Aug. 10, 2006.
Related Publications (1)
Number Date Country
20090073905 A1 Mar 2009 US
Provisional Applications (4)
Number Date Country
60973406 Sep 2007 US
60978401 Oct 2007 US
60980158 Oct 2007 US
60985910 Nov 2007 US