US20110283005A1 - Generic broadband application and plug-ins - Google Patents

Generic broadband application and plug-ins Download PDF

Info

Publication number
US20110283005A1
US20110283005A1 US13/189,764 US201113189764A US2011283005A1 US 20110283005 A1 US20110283005 A1 US 20110283005A1 US 201113189764 A US201113189764 A US 201113189764A US 2011283005 A1 US2011283005 A1 US 2011283005A1
Authority
US
United States
Prior art keywords
plug
vendor
broadband
card
broadband card
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.)
Abandoned
Application number
US13/189,764
Inventor
Chris H. Knapp
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verizon Patent and Licensing Inc
Original Assignee
Verizon Patent and Licensing Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Verizon Patent and Licensing Inc filed Critical Verizon Patent and Licensing Inc
Priority to US13/189,764 priority Critical patent/US20110283005A1/en
Assigned to VERIZON BUSINESS NETWORK SERVICES INC. reassignment VERIZON BUSINESS NETWORK SERVICES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KNAPP, CHRIS H.
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERIZON BUSINESS NETWORK SERVICES INC.
Publication of US20110283005A1 publication Critical patent/US20110283005A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities

Definitions

  • Today's mobile devices may use different types of components to communicate with other devices via the Internet. For example, a laptop may access a video clip from an Internet website via a broadband card that is plugged into the laptop.
  • FIG. 1 shows an exemplary network in which concepts described herein may be implemented
  • FIG. 2 is a block diagram of exemplary components of a host device of FIG. 1 ;
  • FIG. 3 is a block diagram of exemplary functional components of the host device of FIG. 1 ;
  • FIG. 4 is a block diagram of exemplary functional components of broadband card-related components of FIG. 3 ;
  • FIG. 5 is a flow diagram of an exemplary process for managing and controlling a broadband card
  • FIG. 6 illustrates an exemplary window of a graphical user interface (GUI) of a generic broadband card application of FIG. 4 .
  • GUI graphical user interface
  • FIG. 7 illustrates another exemplary window of the GUI
  • FIG. 8 illustrates yet another exemplary window of the GUI
  • FIG. 9 illustrates still another exemplary window of the GUI.
  • an application hosted on a device may interact with one or more broadband cards that are plugged into or otherwise connected to the device.
  • the application may perform tests on the broadband card, configure the broadband card, and use the broadband card to establish a communication link with another device over a network.
  • the application may provide increased convenience to broadband card users, and may save application writer/distributors production/distribution cost. Because the application can handle different broadband card models/types, the user may avoid installing a vendor specific application to use a new broadband card model/type. The application writer/distributor may avoid providing the upgraded application to users who wish to use the new broadband card model/new type of broadband card. Because new broadband card types/models are often released into the market, the increased convenience and cost savings can be significant factors in purchasing/selling a particular application for managing and controlling broadband cards.
  • FIG. 1 is a diagram of exemplary network 100 in which concepts described herein may be implemented.
  • network 100 may include a network 102 , a wireless access point 104 , and a host device 106 .
  • network 100 may include additional, fewer, or different components than those illustrated in FIG. 1 .
  • Network 102 may include the Internet, an intranet, a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a metropolitan area network (MAN), a cellular network, a public switched telephone network (PSTN), any other network, or a combination of networks.
  • LAN local area network
  • WLAN wireless LAN
  • WAN wide area network
  • MAN metropolitan area network
  • PSTN public switched telephone network
  • Wireless access point 104 may include a device that operates as a gateway into network 102 for a device that establishes a wireless communication link with wireless access point (e.g., a cell tower, a base station, etc.). Host device 106 may communicate with another device in network 102 via wireless access point 104 .
  • wireless access point e.g., a cell tower, a base station, etc.
  • Host device 106 may include a device for hosting a broadband card and an application that use the broadband card (e.g., a laptop, a personal computer, an electronic notepad, a gaming device, etc.). Host device 106 may use the broadband card and the application to establish a communication link between wireless access point 104 and host device 106 .
  • a device for hosting a broadband card and an application that use the broadband card e.g., a laptop, a personal computer, an electronic notepad, a gaming device, etc.
  • Host device 106 may use the broadband card and the application to establish a communication link between wireless access point 104 and host device 106 .
  • FIG. 2 is a block diagram of exemplary components of host device 106 .
  • host device 106 may include processor 202 , memory 204 , input/output components 206 , a network interface 208 , and a communication path 210 .
  • host device 106 may include additional, fewer, or different components than those illustrated in FIG. 2 .
  • Processor 202 may include a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or other processing logic capable of controlling host device 106 .
  • Memory 204 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions.
  • Memory 204 may also include computer-readable storage devices, such as a floppy disk, CD ROM, CD read/write (R/W) disc, and/or flash memory, as well as other types of storage devices configured to store computer-executable instructions.
  • Input/output components 206 may include a display screen, a keyboard, a mouse, a speaker, a microphone, a Digital Video Disk (DVD) writer, a DVD reader, Universal Serial Bus (USB), and/or other types of components for converting physical events or phenomena to and/or from digital signals that pertain to host device 106 .
  • DVD Digital Video Disk
  • USB Universal Serial Bus
  • Network interface 208 may include transceiver-like mechanism that enables host device 106 to communicate with other devices and/or systems.
  • network interface 208 may include mechanisms for communicating via a network, such as the Internet, a terrestrial wireless network (e.g., a WLAN), a satellite-based network, etc.
  • network interface 208 may include a modem, an Ethernet interface to a LAN, and/or an interface/connection for connecting host device 106 to other devices (e.g., a Bluetooth interface).
  • network interface 208 may include a broadband card plug-in assembly for establishing a wireless communication link over which host device 106 may communicate with another device (e.g., a remote device).
  • the broadband card plug-in assembly may include one or more hardware ports and broadband cards that communicate with the hardware ports. Once associated with a hardware port, the broadband cards may be managed and controlled via commands that are issued through the hardware ports.
  • Communication path 210 may provide an interface through which components of host device 106 can communicate with one another.
  • FIG. 3 is a block diagram of exemplary functional components of host device 106 .
  • host device 106 may include supporting system 302 and broadband card-related components 304 .
  • host device 106 may include additional, fewer, or different components than those illustrated in FIG. 3 .
  • host device 106 may include additional applications, such as, a word processing application, a multimedia application, etc.
  • Supporting system 302 may include a computer program (e.g., an operating system, a Windows Management Instrumentation (WMI), etc.) for managing hardware and software resources of host device 106 and for performing various support functions for applications executing on host device 106 .
  • a computer program e.g., an operating system, a Windows Management Instrumentation (WMI), etc.
  • WMI Windows Management Instrumentation
  • supporting system 302 may provide a TCI/IP stack to support a communication application.
  • Supporting system 302 may also provide interfaces between the applications and the components in FIG. 2 (e.g., input/output components 206 , network interface 208 , etc.).
  • Broadband card-related components 304 may include software components for managing and/or controlling different broadband card models (e.g., Verizon Broadband USB720 by Novatel Wireless, Sierra Compass 597USB Modem, Sierra Aircard 596, etc.) and/or different types of broadband cards installed on host device 106 (e.g., Evolution Data Only/Evolution Data Optimized (EVDO) cards, Global System for Mobile Communications (GSM) cards, etc.).
  • broadband card models e.g., Verizon Broadband USB720 by Novatel Wireless, Sierra Compass 597USB Modem, Sierra Aircard 596, etc.
  • EVDO Evolution Data Only/Evolution Data Optimized
  • GSM Global System for Mobile Communications
  • FIG. 4 is a block diagram of exemplary functional components of broadband card-related components 304 .
  • broadband card-related components 304 may include generic broadband card application 402 and plug-ins 404 .
  • broadband card-related components 304 may include additional, fewer, or different components than those illustrated in FIG. 4 .
  • Broadband application 402 may include a software component for testing a broadband card, configuring the broadband card, and establishing and using a wireless communication link via the broadband card. In establishing and using the communication link, broadband application 402 may use plug-ins 404 .
  • Plug-ins 404 e.g., drivers
  • broadband card application 402 and plug-ins 404 may implement interfaces that allow broadband card application 402 and plug-ins 404 to interact with one another.
  • broadband card application 402 may include broadband card detector 406
  • plug-ins 404 may include one or more of model specific plug-in 408 , vendor specific plug-in 410 , vendor specific generic plug-in 412 , and generic plug-in 414 .
  • Broadband card detector 406 may include logic for locating/detecting a broadband card inserted into host device 106 . In detecting the broadband card, broadband card detector 406 may attempt to dynamically load model specific plug-in 408 , vendor specific plug-in 410 , vendor specific plug-in 412 , or generic plug-in 414 until the broadband card is detected. For example, assume that a broadband card manufactured by New Era Communication, Inc. is inserted into host device 106 . If dynamically loading model specific plug-in 408 results in a detection of the broadband card, no additional plug-in may be loaded. In one implementation, these plug-ins may be loaded sequentially. In other implementations, the plug-ins may be loaded in parallel.
  • Model specific plug-in 408 and vendor specific plug-in 410 may include software components for managing and controlling, respectively, a specific broadband card model and a set of broadband card models from a specific vendor.
  • model specific plug-in 408 and vendor specific plug-in 410 may be provided by a specific vendor or manufacturer, and can use vendor specific interfaces to manage/control the broadband card.
  • Vendor specific generic plug-in 412 may include software components for controlling/managing different types of broadband cards. Depending on the implementation, vendor specific generic plug-in 412 can include custom-developed software that uses vendor specific interfaces. Typically, vendor specific generic plug-in 412 may operate like generic plug-in 414 (see below) in managing/controlling the broadband card, but via the vendor specific interfaces.
  • Generic plug-in 414 may include software components for managing and controlling different broadband cards for which model specific plug-in 408 , vendor specific plug-in 410 , or vendor specific generic plug-in 412 is not available or installed on host device 106 .
  • vendor specific generic plug-in 412 and/or generic plug-in 414 may be referred to as “generic plug-in.”
  • description that applies to generic plug-in 414 may also apply to vendor-specific generic plug-in 412 .
  • FIG. 5 is a flow diagram of an exemplary process 500 for managing and controlling a broadband card.
  • Process 500 may start when a host device 106 receives a new broadband card (block 502 ).
  • the new broadband card may be received by host device 106 when a user plugs in the card into a hardware port of host device 106 or otherwise establishes a connection between the broadband card and the hardware port.
  • a non-generic plug-in may be loaded (block 504 ).
  • the term “non-generic plug-in” may refer to model specific plug-in 408 or vendor specific plug-in 410 .
  • broadband card detector 404 may load the non-generic plug-in to detect a new card.
  • the loaded non-generic plug-in may query supporting system 302 in host device 106 (e.g., an operating system, Windows Management Instrumentation, etc.) to determine if the non-generic plug-in supports the broadband card.
  • broadband card detector 406 may load the non-generic plug-in when supporting system 302 ( FIG. 3 ) informs generic broadband card application 402 or broadband card detector 406 that a new piece of hardware is attached to host device 106 .
  • generic broadband card application 402 and/or the non-generic plug-in may use the broadband card (block 524 ). For example, if model specific plug-in 408 detects the broadband card, model-specific plug-in may 408 use the broadband card to establish a wireless communication link to wireless access point 104 . In another example, if vendor specific generic plug-in 410 detects the broadband card, broadband card application 402 may configure the broadband card based on parameters that are input by the user (e.g., connect to a server based on a server name that is input by the user).
  • broadband card detector 406 may determine whether host device 106 includes more non-generic plug-ins (block 508 ). If host device 106 includes more non-generic plug-ins (block 508 —YES), process 500 may return to block 504 to load another non-generic plug-in.
  • blocks 504 , 506 , and 508 may form a loop in which each of non-generic plug-ins is dynamically loaded in sequence to detect the broadband card.
  • the loop may load the non-generic plug-ins in the following order: model specific plug-in 408 and vendor specific plug-in 410 . This process may continue for a number of different vendors/broadband card models.
  • broadband card detector 406 may dynamically load a generic plug-in (e.g., vendor specific generic plug-in 412 or generic plug-in 414 ) (block 510 ).
  • a generic plug-in e.g., vendor specific generic plug-in 412 or generic plug-in 414
  • process 500 may proceed to block 514 , to determine if there is another generic plug-in (block 514 ). Furthermore, if there is another generic plug-in (block 514 —YES), process 500 may return to 510 , to load in the other generic plug-in. If host device 106 does not include another generic plug-in (block 514 —NO), process 500 may proceed to block 516 , where generic broadband card application 402 may handle the failure to detect a broadband card (e.g., “no detectable card” failure). For example, generic broadband card application 402 may indicate, via a graphical user interface, that generic broadband card application 402 or the generic plug-in failed to detect a broadband card.
  • generic broadband card application 402 may indicate, via a graphical user interface, that generic broadband card application 402 or the generic plug-in failed to detect a broadband card.
  • a card that is “certified” may support a set of predetermined interfaces for managing and controlling the card.
  • a generic plug-in may determine whether the broadband card is certified by looking up an identifier (e.g., a model number) associated with the card in a database that stores certification records. The certification record from the lookup may indicate whether the broadband card has been certified during the card's previous use in host device 106 .
  • process 500 may proceed to block 524 , where generic broadband card application 402 or the generic plug-in may use the broadband card. If the card is not already certified (block 518 —NO), generic broadband card application 402 /the generic plug-in may perform a certification test (block 520 ). In performing the certification test, broadband application 402 /the generic plug-in may invoke each of a set of predetermined interfaces that are used to manage/control the broadband card and detect whether each invocation return an error value.
  • generic broadband card application 402 /the generic plug-in may establish communication with the broadband card. This may entail making multiple calls to supporting system 302 . For example, when the broadband card is connected to host device 106 , the broadband card may present itself as a modem to supporting system 302 . Consequently, for generic broadband card application 402 /the generic plug-in to interact with the broadband card, generic broadband card application 402 /the generic plug-in may need to access the broadband card's command port and data port.
  • generic broadband card application 402 /generic plug-in 414 may query supporting system 302 (e.g., an operating system, a Windows Management Instrumentation, etc.) to locate the command/data port of the broadband card. Furthermore, in certain instances, generic broadband card application 402 /the generic plug-in may query supporting system 302 multiple times (e.g., twice) to determine whether the command port/data port is a Universal Serial Bus (USB) port or a Personal Computer Memory Card International Association (PCMCIA) port, etc.
  • USB Universal Serial Bus
  • PCMCIA Personal Computer Memory Card International Association
  • generic broadband card application 402 may include a parser that scans the outputs.
  • the card may be deemed certified if no error value is returned for invoking a subset of the interfaces that are necessary for using the broadband card. For example, if a card fails to respond correctly to a command that is not important for its use, the card may be deemed certified. The failed command may be disabled from further use.
  • a result of the certification test may be stored in a database of certification records. If the same broadband is card is pulled out and, at a later time, reconnected into host device 106 , generic broadband application 402 or a generic plug-in may perform a lookup in the database based on an identifier associated with the broadband card.
  • process 500 may proceed to block 524 , to use the broadband card. If the card is not certified (block 522 —NO), process 500 may proceed to block 526 , where generic broadband card application 402 or a generic plug-in may handle the failure to certify the card. For example, the generic plug-in may indicate, via a graphical user interface, that the broadband card failed the certification test and that the generic plug-in is unable to use the card for broadband communication.
  • generic broadband card application 402 may display a list of broadband cards that are detected, a list of broadband cards that failed the certification test, a list of commands that a certified card does not support, and/or other relevant information related to detection and/or use of the broadband cards.
  • some blocks in FIG. 5 have been described as being performed by a generic plug-in (e.g., vendor specific generic plug-in 412 or generic plug-in 414 ) or by generic broadband card application 402 .
  • those blocks may be performed by a different component.
  • a generic plug-in is described as handling a failure to certify the broadband card at block 526 .
  • generic broadband card application 402 may handle the failure to certify the card.
  • FIGS. 6-9 illustrate a number of exemplary graphical user interfaces (GUIs) associated with broadband card application 402 .
  • FIG. 6 illustrates an exemplary test window 602 of the GUI.
  • window 602 may include commands 604 and 606 and keys 608 .
  • Window 602 may pop up when application 402 is running in background or when the user starts application 402 , to alert the user about a status of the broadband card.
  • window 602 may include additional, fewer, or different components than those illustrated in FIG. 6 .
  • Commands 604 and 606 may include commands that generic broadband card application 402 issues to the broadband card to certify the broadband card.
  • generic broadband card application 402 may issue Get Manufacturer command 610 to the broadband card and wait for a valid response.
  • Other commands such as Get Access Point Name (e.g., a name of a network or a device to which the broadband card may connect), Set Access Point Name, etc. may be issued similarly.
  • FIG. 6 shows 24 different commands, in a different implementation, commands 604 and 606 may include additional, fewer, or different commands than the ones illustrated in FIG. 6 .
  • ⁇ , ⁇ , and ⁇ symbols may indicate, respectively, that a corresponding command has not yet been tested, the corresponding command has been successfully completed for the broadband card, and the corresponding command has unsuccessfully completed.
  • the ⁇ symbol before Get Model command 612 may indicate that application 402 is able to issue command 612 to the broadband card and obtain an identifier that is associated with the broadband card model.
  • the ⁇ symbol before Query Minimum Quality of Service (QoS) command 614 may indicate that application 402 is unable to obtain a valid response in to command 614 .
  • the ⁇ symbol before Set Minimum QoS command 616 may indicate that application 402 has not yet tested command 616 .
  • FIG. 7 illustrates an exemplary window 702 of the GUI for generic broadband card application 402 .
  • network access window 702 may include a network properties section 704 and a user credentials section 706 .
  • Network properties section 704 may include GUI components that describe properties of a network to which the broadband card has or is to establish communication. Although network properties section 704 is shown as including different components, only a Current Network textbox 708 and a Network Type textbox 710 are described below for purposes of simplicity.
  • Current Network textbox 708 may include a GUI component (e.g., a textbox component) in which the name of network to which the broadband card has established communication is displayed.
  • Generic broadband card application 402 may establish the communication, either automatically or when the user directs application 402 to establish the communication, via a certified broadband card.
  • Network Type textbox 710 may include a GUI component in which the type of network to which the broadband card has established a communication link is displayed. For example, Network Type textbox 710 may designate that the network is a General Packet Radio Service (GPRS) network, Universal Mobile Telecommunications System (UMTS) network, High-Speed Downlink Packet Access (HSDPA) network, EVDO network, etc.
  • GPRS General Packet Radio Service
  • UMTS Universal Mobile Telecommunications System
  • HSDPA High-Speed Downlink Packet Access
  • EVDO network etc.
  • User credentials section 706 may include GUI components that display parameters that are association with authenticating the user to access the network, such as a user name, a user password, etc.
  • FIG. 8 illustrates another window 802 of the GUI for generic broadband card application 402 .
  • window 802 may include a Usage information section 804 , a Subscriber Identity Module (SIM) card section 806 , and Card Properties section 808 .
  • SIM Subscriber Identity Module
  • Usage information section 804 may display information that is related to communication sessions associated with the broadband card. For example, usage information section 804 may show the number of bytes that have been sent during the current communication session, the number of bytes that have been received, etc.
  • SIM card section 806 may show information about the status of the broadband card, such as whether the broadband card is ready for use, whether a personal identification number (PIN) needs to be input to use the card, etc.
  • Card properties section 808 may display properties that are associated with the broadband card, such as the name of broadband card manufacturer, an identifier associated with the broadband card model, etc.
  • window 802 may be associated with specific commands that are shown as being tested in FIG. 6 .
  • a model number and a name of the broadband card manufacturer may be obtained by issuing Get Model command 612 and Get Manufacturer command 610 , respectively, to the broadband card.
  • FIG. 9 illustrates yet another exemplary window 902 of the GUI for generic broadband card application 402 .
  • window 902 may include a Subscriber Properties section 904 , a Minimum QoS section 906 , and a Requested QoS section 908 .
  • Subscriber Properties section 904 may include information that pertains to a service to which the user subscribes (e.g., a phone number, a subscriber identifier, etc.).
  • Minimum QoS section 906 and Requested QoS 908 may display information that is related to the minimum quality of service and a requested quality of service, such as the minimum network delay, an average reliability (e.g., an error rate), etc.
  • FIGS. 6-9 illustrate a number of exemplary windows of the GUI for generic broadband card application 402 as having certain components and sections.
  • windows 602 - 902 may include additional, fewer, or different components and/or sections than those illustrated in FIGS. 6-9 .
  • generic broadband card application 402 and associated components may provide increased convenience to broadband card users, and save application writer/distributors production/distribution cost typically associated with broadband card development and distribution. Because application 402 and the associated components can handle different broadband card models/types, the user may avoid installing a vendor specific application or a plug-in to use a new broadband card model/type. The application writer/distributor may avoid providing the upgraded application/plug-in to users who wish to use the new broadband card model/new type of broadband card. Because new broadband card types/models are often released into the market, the increased convenience and cost savings can be significant factors in purchasing/selling a particular application/plug-in for managing and controlling broadband cards.
  • non-dependent blocks may represent blocks that can be performed in parallel.
  • logic that performs one or more functions.
  • This logic may include hardware, such as a processor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.

Abstract

A network device may include one or more devices to select, upon receiving a broadband card at the network device, a first vendor-specific plug-in provided in the network device, to detect the broadband card; one or more devices to determine that the first vendor-specific plug-in fails to detect the broadband card; and one or more devices to select, when the first vendor-specific plug-in fails to detect the broadband card, a second vendor-specific plug-in provided in the network device, to detect the broadband card, the first vendor-specific plug-in being associated with a first vendor, and the second vendor-specific plug-in being associated with a different, second vendor.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 12/326,251 filed Dec. 2, 2008, the entirety of which is hereby incorporated by reference herein.
  • BACKGROUND INFORMATION
  • Today's mobile devices may use different types of components to communicate with other devices via the Internet. For example, a laptop may access a video clip from an Internet website via a broadband card that is plugged into the laptop.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows an exemplary network in which concepts described herein may be implemented;
  • FIG. 2 is a block diagram of exemplary components of a host device of FIG. 1;
  • FIG. 3 is a block diagram of exemplary functional components of the host device of FIG. 1;
  • FIG. 4 is a block diagram of exemplary functional components of broadband card-related components of FIG. 3;
  • FIG. 5 is a flow diagram of an exemplary process for managing and controlling a broadband card;
  • FIG. 6 illustrates an exemplary window of a graphical user interface (GUI) of a generic broadband card application of FIG. 4.
  • FIG. 7 illustrates another exemplary window of the GUI;
  • FIG. 8 illustrates yet another exemplary window of the GUI; and
  • FIG. 9 illustrates still another exemplary window of the GUI.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
  • As described below, an application hosted on a device (e.g., a laptop, a computer, a notepad, a cell phone, etc.) may interact with one or more broadband cards that are plugged into or otherwise connected to the device. The application may perform tests on the broadband card, configure the broadband card, and use the broadband card to establish a communication link with another device over a network.
  • In one implementation, the application may provide increased convenience to broadband card users, and may save application writer/distributors production/distribution cost. Because the application can handle different broadband card models/types, the user may avoid installing a vendor specific application to use a new broadband card model/type. The application writer/distributor may avoid providing the upgraded application to users who wish to use the new broadband card model/new type of broadband card. Because new broadband card types/models are often released into the market, the increased convenience and cost savings can be significant factors in purchasing/selling a particular application for managing and controlling broadband cards.
  • FIG. 1 is a diagram of exemplary network 100 in which concepts described herein may be implemented. As shown, network 100 may include a network 102, a wireless access point 104, and a host device 106. Depending on the implementation, network 100 may include additional, fewer, or different components than those illustrated in FIG. 1.
  • Network 102 may include the Internet, an intranet, a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a metropolitan area network (MAN), a cellular network, a public switched telephone network (PSTN), any other network, or a combination of networks.
  • Wireless access point 104 may include a device that operates as a gateway into network 102 for a device that establishes a wireless communication link with wireless access point (e.g., a cell tower, a base station, etc.). Host device 106 may communicate with another device in network 102 via wireless access point 104.
  • Host device 106 may include a device for hosting a broadband card and an application that use the broadband card (e.g., a laptop, a personal computer, an electronic notepad, a gaming device, etc.). Host device 106 may use the broadband card and the application to establish a communication link between wireless access point 104 and host device 106.
  • FIG. 2 is a block diagram of exemplary components of host device 106. As shown, host device 106 may include processor 202, memory 204, input/output components 206, a network interface 208, and a communication path 210. Depending on the implementation, host device 106 may include additional, fewer, or different components than those illustrated in FIG. 2.
  • Processor 202 may include a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or other processing logic capable of controlling host device 106. Memory 204 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions. Memory 204 may also include computer-readable storage devices, such as a floppy disk, CD ROM, CD read/write (R/W) disc, and/or flash memory, as well as other types of storage devices configured to store computer-executable instructions.
  • Input/output components 206 may include a display screen, a keyboard, a mouse, a speaker, a microphone, a Digital Video Disk (DVD) writer, a DVD reader, Universal Serial Bus (USB), and/or other types of components for converting physical events or phenomena to and/or from digital signals that pertain to host device 106.
  • Network interface 208 may include transceiver-like mechanism that enables host device 106 to communicate with other devices and/or systems. For example, network interface 208 may include mechanisms for communicating via a network, such as the Internet, a terrestrial wireless network (e.g., a WLAN), a satellite-based network, etc. Additionally or alternatively, network interface 208 may include a modem, an Ethernet interface to a LAN, and/or an interface/connection for connecting host device 106 to other devices (e.g., a Bluetooth interface).
  • In one implementation, network interface 208 may include a broadband card plug-in assembly for establishing a wireless communication link over which host device 106 may communicate with another device (e.g., a remote device). The broadband card plug-in assembly may include one or more hardware ports and broadband cards that communicate with the hardware ports. Once associated with a hardware port, the broadband cards may be managed and controlled via commands that are issued through the hardware ports.
  • Communication path 210 may provide an interface through which components of host device 106 can communicate with one another.
  • FIG. 3 is a block diagram of exemplary functional components of host device 106. As shown, host device 106 may include supporting system 302 and broadband card-related components 304. Depending on the implementation, host device 106 may include additional, fewer, or different components than those illustrated in FIG. 3. For example, host device 106 may include additional applications, such as, a word processing application, a multimedia application, etc.
  • Supporting system 302 may include a computer program (e.g., an operating system, a Windows Management Instrumentation (WMI), etc.) for managing hardware and software resources of host device 106 and for performing various support functions for applications executing on host device 106. For example, supporting system 302 may provide a TCI/IP stack to support a communication application. Supporting system 302 may also provide interfaces between the applications and the components in FIG. 2 (e.g., input/output components 206, network interface 208, etc.). Broadband card-related components 304 may include software components for managing and/or controlling different broadband card models (e.g., Verizon Broadband USB720 by Novatel Wireless, Sierra Compass 597USB Modem, Sierra Aircard 596, etc.) and/or different types of broadband cards installed on host device 106 (e.g., Evolution Data Only/Evolution Data Optimized (EVDO) cards, Global System for Mobile Communications (GSM) cards, etc.).
  • FIG. 4 is a block diagram of exemplary functional components of broadband card-related components 304. As shown, broadband card-related components 304 may include generic broadband card application 402 and plug-ins 404. Depending on the implementation, broadband card-related components 304 may include additional, fewer, or different components than those illustrated in FIG. 4.
  • Broadband application 402 may include a software component for testing a broadband card, configuring the broadband card, and establishing and using a wireless communication link via the broadband card. In establishing and using the communication link, broadband application 402 may use plug-ins 404. Plug-ins 404 (e.g., drivers) may include software components for managing and controlling individual broadband cards or groups of broadband cards. Typically, broadband card application 402 and plug-ins 404 may implement interfaces that allow broadband card application 402 and plug-ins 404 to interact with one another.
  • As further shown in FIG. 4, broadband card application 402 may include broadband card detector 406, and plug-ins 404 may include one or more of model specific plug-in 408, vendor specific plug-in 410, vendor specific generic plug-in 412, and generic plug-in 414.
  • Broadband card detector 406 may include logic for locating/detecting a broadband card inserted into host device 106. In detecting the broadband card, broadband card detector 406 may attempt to dynamically load model specific plug-in 408, vendor specific plug-in 410, vendor specific plug-in 412, or generic plug-in 414 until the broadband card is detected. For example, assume that a broadband card manufactured by New Era Communication, Inc. is inserted into host device 106. If dynamically loading model specific plug-in 408 results in a detection of the broadband card, no additional plug-in may be loaded. In one implementation, these plug-ins may be loaded sequentially. In other implementations, the plug-ins may be loaded in parallel.
  • Model specific plug-in 408 and vendor specific plug-in 410 may include software components for managing and controlling, respectively, a specific broadband card model and a set of broadband card models from a specific vendor. Typically, model specific plug-in 408 and vendor specific plug-in 410 may be provided by a specific vendor or manufacturer, and can use vendor specific interfaces to manage/control the broadband card.
  • Vendor specific generic plug-in 412 may include software components for controlling/managing different types of broadband cards. Depending on the implementation, vendor specific generic plug-in 412 can include custom-developed software that uses vendor specific interfaces. Typically, vendor specific generic plug-in 412 may operate like generic plug-in 414 (see below) in managing/controlling the broadband card, but via the vendor specific interfaces.
  • Generic plug-in 414 may include software components for managing and controlling different broadband cards for which model specific plug-in 408, vendor specific plug-in 410, or vendor specific generic plug-in 412 is not available or installed on host device 106.
  • As used herein, vendor specific generic plug-in 412 and/or generic plug-in 414 may be referred to as “generic plug-in.” In addition, depending on the context, description that applies to generic plug-in 414 may also apply to vendor-specific generic plug-in 412.
  • FIG. 5 is a flow diagram of an exemplary process 500 for managing and controlling a broadband card. Process 500 may start when a host device 106 receives a new broadband card (block 502). The new broadband card may be received by host device 106 when a user plugs in the card into a hardware port of host device 106 or otherwise establishes a connection between the broadband card and the hardware port.
  • A non-generic plug-in may be loaded (block 504). As used herein, the term “non-generic plug-in” may refer to model specific plug-in 408 or vendor specific plug-in 410. In one implementation, broadband card detector 404 may load the non-generic plug-in to detect a new card. The loaded non-generic plug-in may query supporting system 302 in host device 106 (e.g., an operating system, Windows Management Instrumentation, etc.) to determine if the non-generic plug-in supports the broadband card. Alternatively, broadband card detector 406 may load the non-generic plug-in when supporting system 302 (FIG. 3) informs generic broadband card application 402 or broadband card detector 406 that a new piece of hardware is attached to host device 106.
  • If the non-generic plug-in detects the broadband card (block 506—YES), generic broadband card application 402 and/or the non-generic plug-in may use the broadband card (block 524). For example, if model specific plug-in 408 detects the broadband card, model-specific plug-in may 408 use the broadband card to establish a wireless communication link to wireless access point 104. In another example, if vendor specific generic plug-in 410 detects the broadband card, broadband card application 402 may configure the broadband card based on parameters that are input by the user (e.g., connect to a server based on a server name that is input by the user).
  • If the non-generic plug-in does not detect the broadband card (block 506—NO), broadband card detector 406 may determine whether host device 106 includes more non-generic plug-ins (block 508). If host device 106 includes more non-generic plug-ins (block 508—YES), process 500 may return to block 504 to load another non-generic plug-in.
  • In the above, blocks 504, 506, and 508 may form a loop in which each of non-generic plug-ins is dynamically loaded in sequence to detect the broadband card. In one implementation, the loop may load the non-generic plug-ins in the following order: model specific plug-in 408 and vendor specific plug-in 410. This process may continue for a number of different vendors/broadband card models.
  • If host device 106 does not include more non-generic plug-ins (block 508—NO), broadband card detector 406 may dynamically load a generic plug-in (e.g., vendor specific generic plug-in 412 or generic plug-in 414) (block 510).
  • At block 512, it may be determined if the broadband card is detected (block 512). If the generic plug-in does not detect the broadband card (block 512—NO), process 500 may proceed to block 514, to determine if there is another generic plug-in (block 514). Furthermore, if there is another generic plug-in (block 514—YES), process 500 may return to 510, to load in the other generic plug-in. If host device 106 does not include another generic plug-in (block 514—NO), process 500 may proceed to block 516, where generic broadband card application 402 may handle the failure to detect a broadband card (e.g., “no detectable card” failure). For example, generic broadband card application 402 may indicate, via a graphical user interface, that generic broadband card application 402 or the generic plug-in failed to detect a broadband card.
  • If the broadband card is detected (block 512—YES), it may be determined whether the broadband card is certified (block 518). A card that is “certified” may support a set of predetermined interfaces for managing and controlling the card. In one implementation, a generic plug-in may determine whether the broadband card is certified by looking up an identifier (e.g., a model number) associated with the card in a database that stores certification records. The certification record from the lookup may indicate whether the broadband card has been certified during the card's previous use in host device 106.
  • If the broadband card is certified (block 518—YES), process 500 may proceed to block 524, where generic broadband card application 402 or the generic plug-in may use the broadband card. If the card is not already certified (block 518—NO), generic broadband card application 402/the generic plug-in may perform a certification test (block 520). In performing the certification test, broadband application 402/the generic plug-in may invoke each of a set of predetermined interfaces that are used to manage/control the broadband card and detect whether each invocation return an error value.
  • To start the certification test, generic broadband card application 402/the generic plug-in may establish communication with the broadband card. This may entail making multiple calls to supporting system 302. For example, when the broadband card is connected to host device 106, the broadband card may present itself as a modem to supporting system 302. Consequently, for generic broadband card application 402/the generic plug-in to interact with the broadband card, generic broadband card application 402/the generic plug-in may need to access the broadband card's command port and data port. Because different broadband cards may designate their command/data ports differently, generic broadband card application 402/generic plug-in 414 may query supporting system 302 (e.g., an operating system, a Windows Management Instrumentation, etc.) to locate the command/data port of the broadband card. Furthermore, in certain instances, generic broadband card application 402/the generic plug-in may query supporting system 302 multiple times (e.g., twice) to determine whether the command port/data port is a Universal Serial Bus (USB) port or a Personal Computer Memory Card International Association (PCMCIA) port, etc.
  • In the above, in responding to the commands, different broadband cards may provide outputs in different formats. To correctly interpret the outputs, generic broadband card application 402 may include a parser that scans the outputs.
  • It may be determined whether performing the certification test certifies the card (block 522). The card may be deemed certified if no error value is returned for invoking a subset of the interfaces that are necessary for using the broadband card. For example, if a card fails to respond correctly to a command that is not important for its use, the card may be deemed certified. The failed command may be disabled from further use.
  • When the card is deemed certified, a result of the certification test may be stored in a database of certification records. If the same broadband is card is pulled out and, at a later time, reconnected into host device 106, generic broadband application 402 or a generic plug-in may perform a lookup in the database based on an identifier associated with the broadband card.
  • If the card is certified (block 522—YES), process 500 may proceed to block 524, to use the broadband card. If the card is not certified (block 522—NO), process 500 may proceed to block 526, where generic broadband card application 402 or a generic plug-in may handle the failure to certify the card. For example, the generic plug-in may indicate, via a graphical user interface, that the broadband card failed the certification test and that the generic plug-in is unable to use the card for broadband communication.
  • In the above, as process 500 proceeds through various blocks in FIG. 5, generic broadband card application 402 may display a list of broadband cards that are detected, a list of broadband cards that failed the certification test, a list of commands that a certified card does not support, and/or other relevant information related to detection and/or use of the broadband cards.
  • In the above, some blocks in FIG. 5 have been described as being performed by a generic plug-in (e.g., vendor specific generic plug-in 412 or generic plug-in 414) or by generic broadband card application 402. However, in a different implementation, those blocks may be performed by a different component. For example, in the above example, a generic plug-in is described as handling a failure to certify the broadband card at block 526. In a different implementation, generic broadband card application 402 may handle the failure to certify the card.
  • FIGS. 6-9 illustrate a number of exemplary graphical user interfaces (GUIs) associated with broadband card application 402. FIG. 6 illustrates an exemplary test window 602 of the GUI. As shown, window 602 may include commands 604 and 606 and keys 608. Window 602 may pop up when application 402 is running in background or when the user starts application 402, to alert the user about a status of the broadband card. Depending on the implementation, window 602 may include additional, fewer, or different components than those illustrated in FIG. 6.
  • Commands 604 and 606 may include commands that generic broadband card application 402 issues to the broadband card to certify the broadband card. For example, generic broadband card application 402 may issue Get Manufacturer command 610 to the broadband card and wait for a valid response. Other commands, such as Get Access Point Name (e.g., a name of a network or a device to which the broadband card may connect), Set Access Point Name, etc. may be issued similarly. Although FIG. 6 shows 24 different commands, in a different implementation, commands 604 and 606 may include additional, fewer, or different commands than the ones illustrated in FIG. 6.
  • Keys 608 explain the meaning of a symbol that is placed before each command in commands 604 and 606. □, , and ◯ symbols may indicate, respectively, that a corresponding command has not yet been tested, the corresponding command has been successfully completed for the broadband card, and the corresponding command has unsuccessfully completed. For example, the  symbol before Get Model command 612 may indicate that application 402 is able to issue command 612 to the broadband card and obtain an identifier that is associated with the broadband card model. In another example, the ◯ symbol before Query Minimum Quality of Service (QoS) command 614 may indicate that application 402 is unable to obtain a valid response in to command 614. In yet another example, the □ symbol before Set Minimum QoS command 616 may indicate that application 402 has not yet tested command 616.
  • FIG. 7 illustrates an exemplary window 702 of the GUI for generic broadband card application 402. As shown, network access window 702 may include a network properties section 704 and a user credentials section 706.
  • Network properties section 704 may include GUI components that describe properties of a network to which the broadband card has or is to establish communication. Although network properties section 704 is shown as including different components, only a Current Network textbox 708 and a Network Type textbox 710 are described below for purposes of simplicity.
  • Current Network textbox 708 may include a GUI component (e.g., a textbox component) in which the name of network to which the broadband card has established communication is displayed. Generic broadband card application 402 may establish the communication, either automatically or when the user directs application 402 to establish the communication, via a certified broadband card. Network Type textbox 710 may include a GUI component in which the type of network to which the broadband card has established a communication link is displayed. For example, Network Type textbox 710 may designate that the network is a General Packet Radio Service (GPRS) network, Universal Mobile Telecommunications System (UMTS) network, High-Speed Downlink Packet Access (HSDPA) network, EVDO network, etc.
  • User credentials section 706 may include GUI components that display parameters that are association with authenticating the user to access the network, such as a user name, a user password, etc.
  • FIG. 8 illustrates another window 802 of the GUI for generic broadband card application 402. As shown, window 802 may include a Usage information section 804, a Subscriber Identity Module (SIM) card section 806, and Card Properties section 808.
  • Usage information section 804 may display information that is related to communication sessions associated with the broadband card. For example, usage information section 804 may show the number of bytes that have been sent during the current communication session, the number of bytes that have been received, etc. SIM card section 806 may show information about the status of the broadband card, such as whether the broadband card is ready for use, whether a personal identification number (PIN) needs to be input to use the card, etc. Card properties section 808 may display properties that are associated with the broadband card, such as the name of broadband card manufacturer, an identifier associated with the broadband card model, etc.
  • Above, some of the components of window 802 may be associated with specific commands that are shown as being tested in FIG. 6. For example, in Card Properties section 808, a model number and a name of the broadband card manufacturer may be obtained by issuing Get Model command 612 and Get Manufacturer command 610, respectively, to the broadband card.
  • FIG. 9 illustrates yet another exemplary window 902 of the GUI for generic broadband card application 402. As shown, window 902 may include a Subscriber Properties section 904, a Minimum QoS section 906, and a Requested QoS section 908.
  • Subscriber Properties section 904 may include information that pertains to a service to which the user subscribes (e.g., a phone number, a subscriber identifier, etc.). Minimum QoS section 906 and Requested QoS 908 may display information that is related to the minimum quality of service and a requested quality of service, such as the minimum network delay, an average reliability (e.g., an error rate), etc.
  • In the above, FIGS. 6-9 illustrate a number of exemplary windows of the GUI for generic broadband card application 402 as having certain components and sections. In a different implementation, windows 602-902 may include additional, fewer, or different components and/or sections than those illustrated in FIGS. 6-9.
  • In the above, generic broadband card application 402 and associated components (e.g., broadband card detector 406, generic plug-in 414, etc.) may provide increased convenience to broadband card users, and save application writer/distributors production/distribution cost typically associated with broadband card development and distribution. Because application 402 and the associated components can handle different broadband card models/types, the user may avoid installing a vendor specific application or a plug-in to use a new broadband card model/type. The application writer/distributor may avoid providing the upgraded application/plug-in to users who wish to use the new broadband card model/new type of broadband card. Because new broadband card types/models are often released into the market, the increased convenience and cost savings can be significant factors in purchasing/selling a particular application/plug-in for managing and controlling broadband cards.
  • Foregoing description of implementations provides an illustration, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the teachings.
  • For example, while a series of blocks have been described with regard to the process illustrated in FIG. 5, the order of the blocks may be modified in other implementations. In addition, non-dependent blocks may represent blocks that can be performed in parallel.
  • It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
  • Further, certain portions of the implementations have been described as “logic” that performs one or more functions. This logic may include hardware, such as a processor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
  • No element, block, or instruction used in the present application should be construed as critical or essential to the implementations described herein unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.

Claims (20)

1. A device comprising:
a hardware port to connect to a broadband card; and
a processor configured to:
access or load a non-generic plug-in, provided in the device, to detect the broadband card;
determine that the non-generic plug-in fails to detect the broadband card;
use a generic plug-in, provided in the device, when the non-generic plug-in fails to detect the broadband card;
use the generic plug-in to apply a certification test, via a set of predetermined interfaces of the device, to the broadband card;
use a plurality of particular commands to control the broadband card via the generic plug-in, upon successful completion of the certification test, for a particular subset of interfaces, of the set of predetermined interfaces, determined using the generic plug-in; and
disable a plurality of other commands associated with another subset of interfaces, of the set of predetermined interfaces, for which the certification test is not successfully completed.
2. The device of claim 1, wherein the processor is further configured to:
identify a command port of the broadband card to receive the particular commands; and
identify a data port of the broadband card to receive data using the generic plug-in.
3. The device of claim 1, wherein the hardware port is further configured to connect to at least one of:
a Evolution Data Optimized (EVDO) card; or
a Global System for Mobile Communications (GSM) card.
4. The device of claim 1, wherein the non-generic plug-in comprises a plurality of vendor-specific plug-ins associated with a plurality of different vendors.
5. A computer-readable storage device configured to store computer-executable instructions, the computer-executable instructions, comprising:
instructions to access or load a model specific plug-in, provided in a device, in response to a broadband card being connected to the device;
instructions to access or load a vendor specific plug-in, provided in the device, when the model specific plug-in fails to detect the broadband card;
instructions to access or load a generic plug-in, provided in the device, when the vendor specific plug-in fails to detect the broadband card;
instructions to use the generic plug-in to detect the broadband card;
instructions to perform, using the generic plug-in, testing of the broadband card with respect to support for a plurality of commands;
instructions to determine, based on results the test, that the broadband card supports particular commands, of the plurality of commands, and does not support other commands of the plurality of commands;
instructions to certify, based on the particular commands, the broadband card for use with the generic plug-in; and
instructions to use the broadband card to establish a broadband communication session after the broadband card is certified.
6. The computer-readable storage device of claim 5, wherein the instructions to perform testing comprise:
instructions to issue, via a set of interfaces of the device, the plurality of commands to the broadband card; and
instructions to determine a subset of interfaces, of the set of interfaces, for which the broadband card returns a valid response to each of the plurality of commands.
7. The computer-readable storage device of claim 5, wherein the plurality of commands include at least one of:
a command to request a model number associated with the broadband card;
a command to request a manufacturer name associated with the broadband card;
a command to obtain a firmware version associated with the broadband card;
a command to obtain power status associated with the broadband card;
a command to obtain a subscriber identifier associated with the broadband card;
a command to obtain an access port name (APN) associated with the broadband card; or
a command to set an access port name (APN) associated with the broadband card.
8. The computer-readable storage device of claim 5, wherein the instructions to use the broadband card comprise:
instructions to configure the broadband card by issuing a command to set parameters that are associated with the broadband communication session, and
instructions to obtain information related to the broadband communication session.
9. The computer-readable storage device of claim 5, wherein the vendor specific plug-in comprises a plurality of vendor-specific plug-ins associated with a plurality of vendors.
10. A network device comprising:
one or more devices to select, upon receiving a broadband card at the network device, a first vendor-specific plug-in provided in the network device, to detect the broadband card;
one or more devices to determine that the first vendor-specific plug-in fails to detect the broadband card; and
one or more devices to select, when the first vendor-specific plug-in fails to detect the broadband card, a second vendor-specific plug-in provided in the network device, to detect the broadband card, wherein the first vendor-specific plug-in is associated with a first vendor, and the second vendor-specific plug-in is associated with a different, second vendor.
11. The network device of claim 10, further comprising:
one or more devices to determine that the second vendor-specific plug-in fails to detect the broadband card;
one or more devices to determine that at least one other vendor-specific plug-in is provided in the network device; and
one or more devices to select, when the second vendor-specific plug-in fails to detect the broadband card, the at least one other vendor-specific plug-in to detect the broadband card.
12. The network device of claim 11, wherein the at least one other vendor-specific plug-in is associated with a third vendor that differs from the first and second vendors.
13. The network device of claim 11, wherein the at least one other vendor-specific plug-in is associated with the first vendor.
14. The network device of claim 10, further comprising:
one or more devices to determine that the second vendor-specific plug-in fails to detect the broadband card;
one or more devices to determine that no other vendor-specific plug-ins are provided in the network device; and
one or more devices to select, when the second vendor-specific plug-in fails to detect the broadband card, at least one of a vendor-specific generic plug-in or a generic plug-in, provided in the network device, to detect the broadband card.
15. The network device of claim 10, further comprising:
one or more devices to determine that a plurality of vendor-specific plug-ins, including the first and second vendor-specific plug-ins, are provided in the network device; and
one or more devices to sequentially select each of the plurality of vendor-specific plug-ins until:
the broadband card is detected, or
each of the plurality of vendor-specific plug-ins fails to detect the broadband card.
16. The network device of claim 15, wherein, when each of the plurality of vendor-specific plug-ins fails to detect the broadband card, the network device further comprises:
one or more devices to select at least one of a vendor-specific generic plug-in or a generic plug-in, provided in the network device, to detect the broadband card.
17. The network device of claim 10, further comprising:
a plurality of non-generic plug-ins, including the first and second vendor-specific plug-ins and a plurality of model-specific plug-ins; and
one or more devices to sequentially select each of the plurality of model-specific plug-ins to detect the broadband card before selecting the first and second vendor-specific plug-ins to detect the broadband card.
18. The network device of claim 10, further comprising:
one or more devices to determine that plurality of vendor-specific plug-ins, including the first and second plug-ins, are provided in the network device, wherein the plurality of vendor-specific plug-ins are associated with a plurality of different vendors; and
one or more devices to sequentially select each vendor-specific plug-in associated with the respective different vendors to detect the broadband card.
19. The network device of claim 10, wherein the second vendor-specific plug-in is further configured to query a supporting system of the network device, to determine if the second vendor-specific plug-in supports the broadband card.
20. The network device of claim 10, further comprising:
a supporting system to notify a broadband card detector of the network device, that a broadband card has been received at the network device.
US13/189,764 2008-12-02 2011-07-25 Generic broadband application and plug-ins Abandoned US20110283005A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/189,764 US20110283005A1 (en) 2008-12-02 2011-07-25 Generic broadband application and plug-ins

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/326,251 US8010636B2 (en) 2008-12-02 2008-12-02 Generic broadband application and plug-ins
US13/189,764 US20110283005A1 (en) 2008-12-02 2011-07-25 Generic broadband application and plug-ins

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/326,251 Continuation US8010636B2 (en) 2008-12-02 2008-12-02 Generic broadband application and plug-ins

Publications (1)

Publication Number Publication Date
US20110283005A1 true US20110283005A1 (en) 2011-11-17

Family

ID=42223798

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/326,251 Expired - Fee Related US8010636B2 (en) 2008-12-02 2008-12-02 Generic broadband application and plug-ins
US13/189,764 Abandoned US20110283005A1 (en) 2008-12-02 2011-07-25 Generic broadband application and plug-ins

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/326,251 Expired - Fee Related US8010636B2 (en) 2008-12-02 2008-12-02 Generic broadband application and plug-ins

Country Status (1)

Country Link
US (2) US8010636B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200854B2 (en) * 2010-08-05 2012-06-12 Verizon Patent And Licensing Inc. Smart card driven device configuration changes
CN112181514B (en) * 2019-09-18 2021-08-20 华为技术有限公司 Method and system for realizing plug-in

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630076A (en) * 1995-05-05 1997-05-13 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5963726A (en) * 1998-03-20 1999-10-05 National Instruments Corporation Instrumentation system and method including an improved driver software architecture
US5974474A (en) * 1996-03-15 1999-10-26 Novell, Inc. System for automatic hardware identification and configuration where instance values are unique within the computer system and resource requirement conflicts are resolved by modifying resource settings
US6058445A (en) * 1997-05-13 2000-05-02 Micron Electronics, Inc. Data management method for adding or exchanging components on a running computer
US6085156A (en) * 1998-03-20 2000-07-04 National Instruments Corporation Instrumentation system and method having instrument interchangeability
US20020004852A1 (en) * 2000-03-17 2002-01-10 Vladimir Sadovsky Computer system employing simplified device drivers
US6493770B1 (en) * 1997-07-02 2002-12-10 Cypress Semiconductor Corp. System for reconfiguring a peripheral device by downloading information from a host and electronically simulating a physical disconnection and reconnection to reconfigure the device
US20030046447A1 (en) * 2001-07-31 2003-03-06 Konstantin Kouperchliak Device-related software installation
US20030225782A1 (en) * 2002-06-04 2003-12-04 Mucfaden Michael R. Managing configuration state within a network node
US6671749B2 (en) * 2001-03-07 2003-12-30 Hewlett-Packard Development Company, L.P. Peripheral driver installation method and system
US20040088718A1 (en) * 2002-11-06 2004-05-06 Sprague Jeffrey R. Managing peripheral device drivers
US6754722B2 (en) * 2000-11-29 2004-06-22 Dell Products L.P. System and method for installing device drivers in a computer system
US20050038878A1 (en) * 2003-07-15 2005-02-17 Mcgee Michael S. Network controller
US20050132352A1 (en) * 2003-12-11 2005-06-16 Konica Minolta Business Technologies, Inc. Installation of hardware devices
US20050278461A1 (en) * 2004-06-10 2005-12-15 Microsoft Corporation Self-installing computer peripherals
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
US20070201386A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Testing a station's response to non-compliant wireless communication
US7269832B2 (en) * 1998-10-08 2007-09-11 International Business Machines Corporation Generic virtual device driver
US20070239903A1 (en) * 2006-02-27 2007-10-11 Microsoft Corporation Device installation with host controller consideration
US20070277029A1 (en) * 1999-03-18 2007-11-29 Rao Anil V System and Method for Installing System Manufacturer Provided Software
US7418716B2 (en) * 2003-12-19 2008-08-26 Intel Corporation Method, apparatus, system, and article of manufacture for interfacing a device
US20080276012A1 (en) * 2007-05-04 2008-11-06 Joe Mesa Driver Loading via a PnP Device
US20080285755A1 (en) * 2005-04-21 2008-11-20 Sylvie Camus Method and Device for Accessing a Sim Card Housed in a Mobile Terminal
US20090276793A1 (en) * 2008-02-07 2009-11-05 Cabezas Rafael G Method and apparatus for device driver state storage during diagnostic phase
US7665071B1 (en) * 2003-12-11 2010-02-16 Sun Microsystems, Inc. Management object model for performing management of a computer system

Patent Citations (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5630076A (en) * 1995-05-05 1997-05-13 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5974474A (en) * 1996-03-15 1999-10-26 Novell, Inc. System for automatic hardware identification and configuration where instance values are unique within the computer system and resource requirement conflicts are resolved by modifying resource settings
US6058445A (en) * 1997-05-13 2000-05-02 Micron Electronics, Inc. Data management method for adding or exchanging components on a running computer
US6493770B1 (en) * 1997-07-02 2002-12-10 Cypress Semiconductor Corp. System for reconfiguring a peripheral device by downloading information from a host and electronically simulating a physical disconnection and reconnection to reconfigure the device
US5963726A (en) * 1998-03-20 1999-10-05 National Instruments Corporation Instrumentation system and method including an improved driver software architecture
US6085156A (en) * 1998-03-20 2000-07-04 National Instruments Corporation Instrumentation system and method having instrument interchangeability
US6223134B1 (en) * 1998-03-20 2001-04-24 National Instruments Corporation Instrumentation system and method including an improved driver software architecture
US7269832B2 (en) * 1998-10-08 2007-09-11 International Business Machines Corporation Generic virtual device driver
US20070277029A1 (en) * 1999-03-18 2007-11-29 Rao Anil V System and Method for Installing System Manufacturer Provided Software
US7322035B2 (en) * 2000-03-17 2008-01-22 Microsoft Corporation Simplified device drivers for hardware devices of a computer system
US7047534B2 (en) * 2000-03-17 2006-05-16 Microsoft Corporation Simplified device drivers for hardware devices of a computer system
US7673303B2 (en) * 2000-03-17 2010-03-02 Microsoft Corporation Simplified device drivers for hardware devices of a computer system
US7536699B2 (en) * 2000-03-17 2009-05-19 Microsoft Corporation Simplified device drivers for hardware devices of a computer system
US20020004852A1 (en) * 2000-03-17 2002-01-10 Vladimir Sadovsky Computer system employing simplified device drivers
US6754722B2 (en) * 2000-11-29 2004-06-22 Dell Products L.P. System and method for installing device drivers in a computer system
US6671749B2 (en) * 2001-03-07 2003-12-30 Hewlett-Packard Development Company, L.P. Peripheral driver installation method and system
US20030046447A1 (en) * 2001-07-31 2003-03-06 Konstantin Kouperchliak Device-related software installation
US7257624B2 (en) * 2002-06-04 2007-08-14 Lucent Technologies Inc. System for storing active and inactive configuration commands at a network node for managing its configuration state
US20030225782A1 (en) * 2002-06-04 2003-12-04 Mucfaden Michael R. Managing configuration state within a network node
US20040088718A1 (en) * 2002-11-06 2004-05-06 Sprague Jeffrey R. Managing peripheral device drivers
US7617502B2 (en) * 2002-11-06 2009-11-10 Scientific-Atlanta, Llc Managing peripheral device drivers
US20050038878A1 (en) * 2003-07-15 2005-02-17 Mcgee Michael S. Network controller
US20050132352A1 (en) * 2003-12-11 2005-06-16 Konica Minolta Business Technologies, Inc. Installation of hardware devices
US7665071B1 (en) * 2003-12-11 2010-02-16 Sun Microsystems, Inc. Management object model for performing management of a computer system
US7418716B2 (en) * 2003-12-19 2008-08-26 Intel Corporation Method, apparatus, system, and article of manufacture for interfacing a device
US20050278461A1 (en) * 2004-06-10 2005-12-15 Microsoft Corporation Self-installing computer peripherals
US20080285755A1 (en) * 2005-04-21 2008-11-20 Sylvie Camus Method and Device for Accessing a Sim Card Housed in a Mobile Terminal
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
US20070239903A1 (en) * 2006-02-27 2007-10-11 Microsoft Corporation Device installation with host controller consideration
US7725613B2 (en) * 2006-02-27 2010-05-25 Microsoft Corporation Device installation with host controller consideration
US7599304B2 (en) * 2006-02-28 2009-10-06 Microsoft Corporation Testing a station's response to non-compliant wireless communication
US20070201386A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Testing a station's response to non-compliant wireless communication
US20080276012A1 (en) * 2007-05-04 2008-11-06 Joe Mesa Driver Loading via a PnP Device
US20090276793A1 (en) * 2008-02-07 2009-11-05 Cabezas Rafael G Method and apparatus for device driver state storage during diagnostic phase

Also Published As

Publication number Publication date
US8010636B2 (en) 2011-08-30
US20100138547A1 (en) 2010-06-03

Similar Documents

Publication Publication Date Title
US11507450B2 (en) Systems and methods to reprogram mobile devices via a cross-matrix controller to port connection
JP5391075B2 (en) System capability detection for software defined radio
US8767686B2 (en) Method and apparatus for monitoring wireless network access
US9420496B1 (en) Activation sequence using permission based connection to network
US7162408B2 (en) Subscriber identification module (SIM) emulator
US8855627B2 (en) System and method for enhanced diagnostics on mobile communication devices
US20090124251A1 (en) Method of Assessing Compatibility Between Applications and Processor Devices
WO2013123829A1 (en) Software installation method, device and system
WO2008033399A2 (en) System and method to enable subscriber self-activation of wireless data terminals
EP4029298A1 (en) System, method, and computer program for transferring subscriber identity module (sim) information for sim card or esim activation
CN107450909B (en) Processing method and device for software development kit integration validity check
US10834555B2 (en) System and method for facilitating carrier-specific configuration of a user device based on pre-stored information for multiple carriers
US8086778B2 (en) Filter driver to enumerate smartcard nodes for plug and play
US8010636B2 (en) Generic broadband application and plug-ins
CN108829495B (en) Verification method, device, equipment and storage medium for multi-database modification transaction
US9294865B2 (en) Enhanced system and method for custom programming of large groups of phones without requiring additional equipment
CN105204989A (en) Mobile terminal, server and system and method for detecting application
CN107566211B (en) Method, device and system for accessing test equipment
CN111597101A (en) SDK access state detection method, computer device and computer readable storage medium
CN115617675A (en) Automatic testing method, device and equipment of application program and storage medium
CN116263676A (en) Service management system and configuration file acquisition method
CN113050995A (en) Screen projection activation information storage method, screen projection equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: VERIZON BUSINESS NETWORK SERVICES INC., VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KNAPP, CHRIS H.;REEL/FRAME:026732/0461

Effective date: 20081201

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

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERIZON BUSINESS NETWORK SERVICES INC.;REEL/FRAME:026732/0471

Effective date: 20090301

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION