Method and apparatus for sharing a GPRS module with two computing devices

Abstract
A method and apparatus for a user to interface with a mobile computing device is disclosed. In one embodiment, a method comprises sharing a GPRS communications module between a primary processor system and a secondary processor system.
Description
FIELD OF THE INVENTION

This invention relates to computer software and hardware, and more specifically to a method and apparatus for sharing a GPRS module with two computing devices.


BACKGROUND OF THE INVENTION

As electronic and computer technology continues to evolve, communication of information to a user at all times becomes increasingly important. For example, now more than ever users of personal digital assistants (PDAs) are continuously checking email, looking-up contacts, synchronizing documents on-the-go, and scheduling. Other users are utilizing mobile phones with built-in PDAs to do text and video based messaging. In addition to these new devices, more and more users are using tablet PCs and notebook computers. The mobility of the powerful computing devices makes them ideal for the business traveler. A general computing system for a mobile device will now be described.


A. Computing System



FIG. 1A shows an embodiment of a mobile computing system 100. The computing system includes a Central Processing Unit (CPU) 101, a cache 102, a memory controller and bridge 103 and a system memory 104. Software instructions performed by the computing system (and its corresponding data) are stored in the system memory 104 and cache 102 (where frequently used instructions and data are stored in cache 102). The software instructions (together with corresponding data) are executed by the CPU 101. The memory controller portion of the memory controller and bridge function 103 is responsible for managing access to the system memory 104 (which may be used by functional elements other than the CPU 101 such as the graphics controller 105 and various I/O units).


The graphics controller 105 and display 106 provide the computer generated images observed by the user of the computing system 100. The bridge portion of the memory controller and bridge function 103 provides a system bus 107 that multiple Input/Output (I/O) units 1081 through 108N may use to communicate with one another, the CPU 101, the system memory 104, etc. I/O buses 1091 through 109N also interconnects I/O units 1081 through 108N to the system bus 107. Here, I/O units are typically viewed as functional units that send/receive information to/from the computing system (e.g., a networking adapter, a MODEM, a wireless interface, a keyboard, a mouse, etc.) and/or function units used for storing information within the computing system 100 (e.g., a hard disk drive unit). Note that the depiction of FIG. 1A is exemplary and other computing system architectures are possible (e.g., multiprocessor computing systems, for example).


Buses 107 and 1091 through 109N may be bus structures, such as a Universal Serial Bus (USB) bus, in order to couple a keyboard, mouse and other lower performance peripherals. Also, “parallel” and/or “serial” ports (not shown in FIG. 1A for simplicity) may also be viewed as additional I/O units.


B. GPRS Wireless Network



FIG. 1B illustrates a prior art wireless network 1000. Network 1000 includes a mobile computing system 1100, such as described illustrated in FIG. 1A. Computing system 1100 communicates with multiple GPRS enabled devices, such as mobile phone 1300, personal digital assistant (PDA) 1200, or similar multifunction GPRS enabled device via a GPRS network 1400. Mobile computing system 1100 communicates with GPRS network 1400 using Universal Serial Bus (USB) GPRS Adapter 1140, Personal Computer Memory Card International Association (PCMCIA) GPRS card 1120, or an internal GPRS adapter.


GPRS is a computing and telecommunications industry specification that describes how mobile phones, computers, and PDAs can easily interconnect with each other and with home and business phones and computers using a short-range wireless connection. Using this technology, users of cellular phones, pagers, and personal digital assistants such as the PalmPilot will be able to buy a three-in-one phone that can double as a portable phone at home or in the office, get quickly synchronized with information in a desktop or notebook computer, initiate the sending or receiving of a fax, initiate a print-out, and, in general, have all mobile and fixed computer devices be totally coordinated.


General Packet Radio Services (GPRS) is a packet-based wireless communication service that promises data rates from 56 up to 114 Kbps and continuous connection to the Internet for mobile phone and computer users.




BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included as part of the present specification, illustrate the presently preferred embodiment of the present invention and together with the general description given above and the detailed description of the preferred embodiment given below serve to explain and teach the principles of the present invention.



FIG. 1A illustrates an embodiment of a mobile computing system.



FIG. 1B illustrates a prior art wireless network.



FIG. 2 illustrates an exemplary diagram of a GPRS system according to one embodiment of the present invention.



FIG. 3 illustrates an exemplary diagram of a GPRS system, according to another embodiment of the present invention.



FIG. 4 illustrates an exemplary multi processor computer system architecture, according to one embodiment of the present invention.



FIG. 5 illustrates an exemplary multi-processor computer system architecture, according to another embodiment of the present invention.



FIG. 6 illustrates an exemplary detailed diagram of a multiprocessor system for sharing GPRS peripherals according to one embodiment of the present invention.



FIG. 7 illustrates an exemplary detailed diagram of a multiprocessor system, for sharing a GPRS peripheral according to another embodiment of the present invention.



FIG. 8 illustrates an exemplary flow diagram of a method performed for sharing a GPRS peripheral, according to one embodiment of the present invention.




DETAILED DESCRIPTION

A method and apparatus for sharing a GPRS module with two computing devices is disclosed. In one embodiment, a method comprises sharing a GPRS communications module between a primary processor system and a secondary processor system.


In the following description, for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention.


Some portions of the detailed descriptions that follow 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 steps leading to a desired result. The steps 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 invention 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, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, 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.



FIG. 2 illustrates an exemplary diagram of a GPRS system 200 according to one embodiment of the present invention. System 200 includes a computer system 230 connected to a host GPRS computing device 250 via USB cable 240. Computer system 230 is not GPRS enabled. Device 250 can be any multi-function GPRS enabled device such as a mobile phone or PDA.


Computer 230 includes a GPRS sharing module 232 that allows the computer 230 to control the GPRS functionality of host device 250. In other words, the non-GPRS enabled computer 230 becomes a GPRS enabled computer 260 that communicates with GPRS devices 211-219 via GPRS network 270. Sharing module 232 includes software drivers that allow both the processor in computer 230 and in the processor in host device 250 to control the GPRS functionality of host device 250. Although USB cable 240 is shown in FIG. 2, the link can also be an RS-232 cable, firewire or similar high-speed link. In another embodiment, sharing module 232 is included in host device 250. Additionally, sharing module 232 can stand-alone with interfaces to both computer 230 and host device 250.



FIG. 3 illustrates an exemplary diagram of a GPRS system 300, according to another embodiment of the present invention. GPRS system 300 includes a multiprocessor computer 360 that communicates with GPRS devices 311-319 via GPRS network 370. Multiprocessor computer 360 can operate in various states. Computing system 360 has three primary states were useful tasks can be performed: 1) a high power, 37 normal on” state; 2) a “main CPU/OS based low power” state; and, 3) a “non main CPU/OS based low power” state.


The “normal on” state corresponds to a standard “normal on” state in which the computing system is operational and all of its primary architectural components are powered on. As a consequence, the computing system can be viewed as being within a “high power” state because its primary architectural components are consuming power.


The “main CPU/OS based low power” state corresponds to a state in which the main CPU is powered on and can execute software; yet, primary architectural components (notably, the graphics controller, the display, and various I/O units are powered down so that power consumption is reduced. Moreover, the main CPU itself, although functional, may be configured so as to have reduced performance and reduced power consumption as compared to the normal on state. In an embodiment, this is achieved at least by lowering the frequency of the main CPU's clock speed as compared to the “normal on” state. As a consequence, the main CPU has reduced processing speed, but, consumes less power.


The “non main CPU/OS based lower power” state corresponds to a state in which the main CPU is powered down so that it cannot execute software based upon the computing system's main OS. Note that the cache, the system memory, and at least the memory controller portion of the memory controller and bridge unit may also be powered down (because they largely support the main CPU's efforts to execute software).


In lower power state, wireless I/O is still powered on. Wireless I/O can use many long and/or short-range protocols. One long-range wireless standard that is in the process of being embraced is preliminarily known by the name of “GPRS.” General Packet Radio Services (GPRS) is a packet-based wireless communication service that promises data rates from 56 up to 114 Kbps and continuous connection to the Internet for mobile phone and computer users. The higher data rates will allow users to take part in video conferences and interact with multimedia Web sites and similar applications using mobile handheld devices as well as notebook computers. GPRS is based on Global System for Mobile (GSM) communication and will complement existing services such as circuit-switched cellular phone connections and the Short Message Service (SMS).


In theory, GPRS packet-based service should cost users less than circuit-switched services since communication channels are being used on a shared-use, as-packets-are-needed basis rather than dedicated only to one user at a time. It should also be easier to make applications available to mobile users because the faster data rate means that middleware currently needed to adapt applications to the slower speed of wireless systems will no longer be needed. As GPRS becomes available, mobile users of a virtual private network (VPN) will be able to access the private network continuously rather than through a dial-up connection.


GPRS will also complement Bluetooth, a standard for replacing wired connections between devices with wireless radio connections. In addition to the Internet Protocol (IP), GPRS supports X.25, a packet-based protocol that is used mainly in Europe. GPRS is an evolutionary step toward Enhanced Data GSM Environment (EDGE) and Universal Mobile Telephone Service (UMTS).



FIG. 4 illustrates an exemplary multi processor computer system architecture 400, according to one embodiment of the present invention. Multi-processor system 400 includes main processing module 410 that includes USB host controller 414 and main CPU system 412. Main CPU subsystem 412 can include Pentium,™ Celleron™ or similar a multi-function IA32 microprocessors. Main CPU subsystem 412 can use the Windows™ operating system. Main processing module 410 is connected to sharing module 450 via USB link 430 according to one embodiment. Additionally, main processing module functions in high power state and main CPU/OS based low power state described above.


Multi-processor system 400 also includes a secondary processing module 420 that includes a secondary controller 424 and low power CPU subsystem 422. Low power CPU Subsystem 422 can include Xscale™ or similar low power microprocessors. Low power CPU subsystem 422 can use the Windows CE™ operating system PALM™ operating system, or similar operating system. Secondary controller 424 is connected to sharing module 450 via a Universal Asynchronous Receiver/Transmitter (UART) interface 480, according to one embodiment. Additionally, subsystem 422 can operate in all three states above, but would only be a master of the GPRS module 460, while multi-processor system 400 is in a lower power state, as described above.


Multi-processor system includes sharing module 450, as described above, that allows for main processing module 410 and secondary system 420 to share GPRS module 460. Sharing module translate packets in formats of main processing system 420 and secondary system 420, into modes used by GPRS module 460. Additionally, sharing module 470 presents GPRS module 460 as a peripheral slave device to both main system 410 and secondary system 420. Sharing module 470 also functions as a switch to determine whether main system 410 or secondary system 420 should control the GPRS module 460 based on the overall power state of multiprocessor computer system 400. The switching decisions are made by sharing module 470 for numerous reasons. For example, the switch can occur when the notebook computer's lid is opened or closed; or if the computer receives a data message (e-mail, SMS, MMS, etc.). The switching is performed seamlessly. GPRS module 460 includes a GPRS interface module 464 and a GPRS subsystem 462. The GPRS module 460 is a standard GPRS radio module.



FIG. 5 illustrates an exemplary multiprocessor computer system architecture 500, according to another embodiment of the present invention. Main processor system 510 includes main CPU system 512 and USB host controller 514. Multiprocessor system 500 integrates sharing module 550 into secondary controller 524 of secondary processing system 520.


GPRS module 560 includes both a GPRS interface module 564 and subsystem 562. Secondary controller 524 interfaces with both GPRS module 560 and main processor system 510. The interface with main processor system 510 is USB 530 and the interface with GPRS module is UART 570. Secondary controller 524 can be active in all power states of multiprocessor system 500. While in high power state, and low power main CPU/OS on states, secondary controller acts as a slave and the main processor system 510 will control the GPRS module 560. Once, the lower power state is entered, low power subsystem 522 acts as a master, to control GPRS module 560.



FIG. 6 illustrates an exemplary detailed diagram of a multiprocessor system 600 for sharing GPRS peripherals, according to one embodiment of the present invention. Main processor system 610 includes USB host controller hardware 618, which communicates with secondary system's USB device controller hardware 627. Main system 610 also includes standard USB host controller interface (UHCI) 617, USB driver (USBD) 616, and USB hub 615. System 610 also includes a miniport driver for the remote network driver interface software (RNDIS) 613, and a miniport driver for the Remote NDIS using the USB bus. The operating system can be Windows™, Linux or similar operating system.


Secondary controller 624 includes USB device controller hardware 627 to interface with USB host controller 618, as well as GPRS device interface hardware 626 to interface with GPRS interface hardware 664. Secondary controller 624 provides a GPRS NDIS driver 625 and a sharing USB Function driver 650. The sharing driver 650 translates RNDIS descriptors to NDIS descriptors, as well as provides a USB driver, for use by hardware 627. Driver 650 extends USB descriptor configuration to support proprietary data communication applications. GPRS interface module 660 includes GPRS firmware 661, GPRS device firmware 662 and a GPRS interface hardware controller 664. There is more than just transport mode conversion here. The main processor system 610 treats GPRS device 660 as a Remote NDIS (network) type device while the secondary processor system treats it like a wireless network device. In one embodiment, the conversion is from a generic remote network type device to a wireless network type device. Translation state management is performed by driver 750. The transport mode conversion (if appropriate) is in addition to the network device type conversion, mapping, and/or translation.



FIG. 7 illustrates an exemplary detailed diagram of a multiprocessor system 700 for sharing GPRS peripherals, according to another embodiment of the present invention. Main processor system 710 includes USB host controller hardware 718, which communicates with secondary system's USB device controller hardware 727. Main system 710 also includes standard USB host controller interface (UHCI) 717, USB driver (USBD) 716, USB hub (USBH) 715, and USB Controller Protocol (USBCCP) 714. System 710 also includes a miniport driver for the remote network driver interface software (RNDIS) and a serial over USB driver 713. The operating system can be Windows™, Linux or similar operating system.


Secondary controller 724 includes USB device controller hardware 727 to interface with USB host controller 718, as well as GPRS device interface hardware 727 to interface with GPRS interface hardware 764. Secondary controller 724 provides a GPRS NDIS driver 725 and a sharing USB Function driver 750. The sharing driver 750 provides transport mode translations, as well as provides a USB driver, for use by hardware 727. Driver 750 extends USB descriptor configuration to support proprietary data communication applications. GPRS interface module 770 includes GPRS firmware 771, GPRS device firmware 772 and a GPRS interface hardware controller 764. There is more than just transport mode conversion here. The main processor system 710 treats GPRS device 770 as a Remote NDIS (network) type device while the secondary processor system treats it like a wireless network device. In one embodiment, the wireless GPRS NDIS level packet is passed from main processor system 710 to secondary system's controller 724 without translation. However, transport mode conversion can be performed in addition to the network device type conversion, mapping, and/or translation. Thus, there is no translation state management required by driver 750.


The embodiment of FIGS. 6 and 7 do not necessitate any changes to the main processor's 610 operating system. Nor, is there a dependency on proprietary drivers, or effect on application functionality run on main system 610. Higher layer GPRS (TCP/IP stack 612) components remain unchanged as well.



FIG. 8 illustrates an exemplary flow diagram 800 of a method performed for sharing a GPRS peripheral, according to one embodiment of the present invention. The process commences at block 801. At processing block 805, the sharing module routes communications between a primary processor system and a GPRS communication module. At processing block 810, the sharing module routes communications between a secondary processor system and the GPRS module.


The communications packets are processed to properly translate transport modes and between RNDIS and NDIS; at processing block 815, if necessary. At processing block 820, the GPRS module is presented to the main processing system as a USB peripheral device. The sharing module also selects and switches control of the GPRS module between the main processor system and secondary system based on the overall power state of the multiprocessor computer system.


A method and apparatus for sharing a GPRS module with two computing devices is disclosed. Although the present invention has been described with respect to specific examples and subsystems, it will be apparent to those of ordinary skill in the art that the invention is not limited to these specific examples or subsystems but extends to other embodiments as well. The present invention includes all of these other embodiments as specified in the claims that follow.

Claims
  • 1. A method, comprising: sharing a wireless communications module between a primary processor system and a secondary processor system.
  • 2. The method of claim 1, wherein sharing comprises: routing wireless communications between the primary processor system and the GPRS communications module via a sharing module; and routing wireless communications between the secondary processor system and the GPRS communications module via the sharing module.
  • 3. The method of claim 2, wherein sharing further comprises: presenting the wireless communications module as a slave device; and presenting the primary processor system and secondary processor system as master devices to the wireless communications module.
  • 4. The method of claim 2, wherein sharing further comprises selecting whether to service wireless communications either of the primary processor system or the secondary processor system.
  • 5. The method of claim 2, wherein sharing further comprises: translating all wireless packets between a first transport mode and a second transport mode.
  • 6. The method of claim 5, wherein the first transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI; and wherein the second transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI.
  • 7. The method of claim 2, wherein the sharing module, the primary processor system and the secondary processor system are included in a notebook computer, and wherein the wireless communications module is a GPRS communications module.
  • 8. The method of claim 6, wherein the sharing module is integrated into the secondary processor system; and wherein the secondary processor system is a low-power computer system and the primary processor system is a main CPU/OS computer system.
  • 9. The method of claim 6, wherein the sharing module is integrated into the secondary processor system, and the secondary processor system is a multi-function GPRS enabled device; and wherein the primary processor system includes a notebook, a tablet, a laptop, and a desktop computer system.
  • 10. The method of claim 9, wherein the sharing module is integrated with a secondary controller of the secondary processor system.
  • 11. The method of claim 6, wherein the sharing module is included in the primary processor system.
  • 12. The method of claim 2, wherein the GPRS module communicates with one or more secondary GPRS devices via a GPRS network.
  • 13. The method of claim 2, wherein the sharing module communicates with a USB host controller and a GPRS module.
  • 14. The method of claim 2, further comprising switching control between the primary processor system and secondary processor system, upon the occurrence of an event, wherein the event includes opening of a computer lid, receiving a data message by the first processor system, receiving a data message by the second processor system, closing a computer lid, and receiving a switch command.
  • 15. A system, comprising: means for sharing a wireless communications module between a primary processor system and a secondary processor system.
  • 16. The system of claim 15, wherein sharing comprises: means for routing wireless communications between the primary processor system and the wireless communications module via a sharing module; and means for routing wireless communications between the secondary processor system and the wireless communications module via the sharing module.
  • 17. The system of claim 16, wherein sharing further comprises: means for presenting the wireless communications module as a slave device; and means for presenting the primary processor system and secondary processor system as master devices to the wireless communications module.
  • 18. The system of claim 16, wherein sharing further comprises means for selecting whether to service either wireless communications of the primary processor system or the secondary processor system.
  • 19. The system of claim 16, wherein sharing further comprises means for translating wireless data packets between a first transport mode and a second transport mode.
  • 20. The system of claim 19, wherein the first transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI; and wherein the second transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI.
  • 21. The system of claim 16, wherein the sharing module, the primary processor system and the secondary processor system are included in a notebook computer, and wherein the wireless communications module is a GPRS communications module.
  • 22. The system of claim 20, wherein the sharing module is integrated into the secondary processor system; and wherein the secondary processor system is a low-power computer system and the primary processor system is a main CPU/OS computer system.
  • 23. The system of claim 20, wherein the sharing module is integrated into the secondary processor system, and the secondary processor system is a multi-function GPRS enabled device; and wherein the primary processor system includes a notebook, a tablet, a laptop, and a desktop computer system.
  • 24. The system of claim 23, wherein the sharing module is integrated with a secondary controller of the secondary processor system.
  • 25. The system of claim 20, wherein the sharing module is included in the primary processor system.
  • 26. The system of claim 16, wherein the GPRS module communicates with one or more secondary GPRS devices via a GPRS network.
  • 27. The system of claim 16, wherein the sharing module communicates with a USB host controller and a GPRS module.
  • 28. The system of claim 16, further comprising means for switching control between the primary processor system and secondary processor system, upon the occurrence of an event, wherein the event includes opening of a computer lid, receiving a data message by the first processor system, receiving a data message by the second processor system, closing a computer lid, and receiving a switch command.
  • 29. A computer-readable medium having stored thereon a plurality of instructions, said plurality of instructions when executed by a computer, cause said computer to perform: sharing a GPRS communications module between a primary processor system and a secondary processor system.
  • 30. The computer-readable medium of claim 29, having stored thereon additional instructions, said additional instructions when executed by a computer, cause said computer to further perform: routing GPRS communications between the primary processor system and the GPRS communications module via a sharing module; and routing GPRS communications between the secondary processor system and the GPRS communications module via the sharing module.
  • 31. The computer-readable medium of claim 30, having stored thereon additional instructions, said additional instructions when executed by a computer, cause said computer to further perform: presenting the GPRS communications module as a slave device; and presenting the primary processor system and secondary processor system as master devices to the GPRS communications module.
  • 32. The computer-readable medium of claim 30, having stored thereon additional instructions, said additional instructions when executed by a computer, cause said computer to further perform selecting whether to service either GPRS communications of the primary processor system or the secondary processor system.
  • 33. The computer-readable medium of claim 30, having stored thereon additional instructions, said additional instructions when executed by a computer, cause said computer to further perform translating GPRS data packets between a first transport mode and a second transport mode.
  • 34. The computer-readable medium of claim 33, wherein the first transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI; and wherein the second transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI.
  • 35. The computer-readable medium of claim 35, wherein the sharing module, the primary processor system and the secondary processor system are included in a notebook computer.
  • 36. The computer-readable medium of claim 34, wherein the sharing module is integrated into the secondary processor system; and wherein the secondary processor system is a low-power computer system and the primary processor system is a main CPU/OS computer system.
  • 37. The computer-readable medium of claim 34, wherein the sharing module is integrated into the secondary processor system, and the secondary processor system is a multi-function GPRS enabled device; and wherein the primary processor system includes a notebook, a tablet, a laptop, and a desktop computer system.
  • 38. The computer-readable medium of claim 37, wherein the sharing module is integrated with a secondary controller of the secondary processor system.
  • 39. The computer-readable medium of claim 34, wherein the sharing module is included in the primary processor system.
  • 40. The computer-readable medium of claim 30, wherein the GPRS module communicates with one or more secondary GPRS devices via a GPRS network.
  • 41. The computer-readable medium of claim 30, wherein the sharing module communicates with a USB host controller and a GPRS module.
  • 42. The computer-readable medium of claim 30, having stored thereon additional instructions, said additional instructions when executed by a computer, cause said computer to further perform switching control between the primary processor system and secondary processor system, upon the occurrence of an event, wherein the event includes opening of a computer lid, receiving a data message by the first processor system, receiving a data message by the second processor system, closing a computer lid, and receiving a switch command.
  • 43. An apparatus, comprising: a GPRS sharing module; a GPRS communications module connected to the GPRS sharing module; a primary processor system connected to the GPRS sharing module; and a secondary processor system connected to the GPRS sharing module, wherein the GPRS sharing module is configured to allow the primary processor system and secondary processor system to share a host controller of the GPRS communications module.
  • 44. The apparatus of claim 43, wherein the sharing module routes GPRS communications between the primary processor system and the GPRS communications module via a sharing module; and routes GPRS communications between the secondary processor system and the GPRS communications module via the sharing module.
  • 45. The apparatus of claim 44, wherein the sharing module presents the GPRS communications module as a slave device; and presents the primary processor system and secondary processor system as master devices to the GPRS communications module.
  • 46. The apparatus of claim 44, wherein the sharing module selects whether to service GPRS communications either of the primary processor system or the secondary processor system.
  • 47. The apparatus of claim 44, wherein the sharing module translates all GPRS packets between a first transport mode and a second transport mode.
  • 48. The apparatus of claim 47, wherein the first transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mpCI; and wherein the second transport mode includes a universal serial bus (USB), an RS-232 connection, Firewire, and mPCI.
  • 49. The apparatus of claim 43, wherein the sharing module, the primary processor system and the secondary processor system are included in a notebook computer.
  • 50. The apparatus of claim 48, wherein the sharing module is integrated into the secondary processor system; and wherein the secondary processor system is a low-power computer system and the primary processor system is a main CPU/OS computer system.
  • 51. The apparatus of claim 48, wherein the sharing module is integrated into the secondary processor system, and the secondary processor system is a multi-function GPRS enabled device; and wherein the primary processor system includes a notebook, a tablet, a laptop, and a desktop computer system.
  • 52. The apparatus of claim 51, wherein the sharing module is integrated with a secondary controller of the secondary processor system.
  • 53. The apparatus of claim 48, wherein the sharing module is included in the primary processor system.
  • 54. The apparatus of claim 43, wherein the GPRS module communicates with one or more secondary GPRS devices via a GPRS network.
  • 55. The apparatus of claim 44, wherein the sharing module communicates with a USB host controller and a GPRS module.
  • 56. The apparatus of claim 43, wherein the sharing module switches control of the GPRS module between the primary processor system and secondary processor system, upon the occurrence of an event, wherein the event includes opening of a computer lid, receiving a data message by the first processor system, receiving a data message by the second processor system, closing a computer lid, and receiving a switch command.
  • 57. An apparatus, comprising: a first hardware interface; a sharing module coupled to the universal serial bus hardware interface, wherein the sharing module allows a wireless communications module to be shared between a primary processor system and a secondary processor system; and a second hardware interface coupled to the sharing module.
  • 58. The apparatus of claim 57, wherein the sharing module includes: a GPRS NDIS driver to receive and send data packets with the second hardware interface; and a USB function driver to receive and send the data packets with the first hardware interface.
  • 59. The apparatus of claim 58, wherein the USB function driver includes a protocol translator to translate between RNDIS and NDIS.
  • 60. The apparatus of claim 59, wherein the sharing module is a GPRS sharing module.