← Back to Patent Explorer
US6826762B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Radio interface layer in a cell phone with a set of APIs having a hardware-independent proxy layer and a hardware-specific driver layer

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2001-02-16
•
Granted: 2004-11-30
•
Expires: 2021-02-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A Radio Interface Layer (RIL) is disclosed. The RIL comprises an API set which provides a level of abstraction between the radio on a cell phone and the software of the cell phone. The API set of RIL is roughly based on the GSM AT interface as defined in GSM specifications 07.05 and 07.07. The API set provides access to functionality contained within a cellular telephone, such as a GSM or CDMA compatible telephone. These APIs allow applications running on an operating system in the cellular telephone to issue commands without knowledge of the underlying radio structure of the cellular telephone and specific knowledge of the GSM-type commands. For example, these APIs allow the applications to access to phonebook entries, restrict access to data and functionality using passwords, access file and message storage, and perform many other functions. The RIL is divided into a hardware-independent proxy layer, called by various software components, and a driver layer that is hardware-specific.

Inventors

  • 👤 Scott R. Shell
  • 👤 Roman Sherman
  • 👤 Alan W. Shen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 23:10
CPC Classifications
H; H04; H04L; H04L67/00; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 156 words
An abstraction layer for interfacing a computer to a telephony radio, comprising: a set of application programming interfaces (APIs) for abstracting out multiple radio technologies without knowledge of the telephony radio or cellular network, wherein the set of APIs correspond to call control functions, wherein the abstraction layer comprises a proxy layer and a driver layer, wherein when the proxy layer receives a call at a first interface to one of the set of APIs, the proxy layer transforms the API call to a command understood by the driver layer and sends the command to the driver layer at a second interface, and wherein the driver layer receives the command at the second interface and determines at least one standard telephony radio command corresponding to the called API and sends the telephony radio command to the telephony radio at a third interface, and wherein the proxy layer is hardware independent and the driver is hardware specific.
Claim 2
Dependent Claim 156 words
An abstraction layer for interfacing a computer to a telephony radio, comprising: a set of application programming interfaces (APIs) for abstracting out multiple radio technologies without knowledge of the telephony radio or cellular network, wherein the set of APIs correspond to call control functions, wherein the abstraction layer comprises a proxy layer and a driver layer, wherein when the proxy layer receives a call at a first interface to one of the set of APIs, the proxy layer transforms the API call to a command understood by the driver layer and sends the command to the driver layer at a second interface, and wherein the driver layer receives the command at the second interface and determines at least one standard telephony radio command corresponding to the called API and sends the telephony radio command to the telephony radio at a third interface, and wherein the proxy layer is hardware independent and the driver is hardware specific.
Claim 3
Dependent Claim 27 words
The abstraction layer of claim 1 wherein the telephony radio is one of a plurality of telephony radios which operates based on the standard telephony radio commands.
Claim 4
Dependent Claim 18 words
The abstraction layer of claim 1 wherein the set of APIs further correspond to short messaging system functions.
Claim 5
Dependent Claim 17 words
The abstraction layer of claim 3 wherein the set of APIs further correspond to network service functions.
Claim 6
Dependent Claim 17 words
The abstraction layer of claim 4 wherein the set of APIs further correspond to data connection functions.
Claim 7
Dependent Claim 16 words
The abstraction layer of claim 5 wherein the set of APIs further correspond to interface functions.
Claim 8
Dependent Claim 162 words
A radio interface layer of a telephone for facilitating communications between an application program module and a radio, comprising: a proxy layer for communicating with the application program module at a first interface and a driver layer at a second interface, wherein the proxy layer provides an API on the first interface for receiving application program calls to perform a particular function and wherein the proxy layer transforms the API calls to an input/output control (IOCTL) code and sends the IOCTL code to the driver layer at the second interface; wherein the driver layer communicates with the proxy layer at the second interface and the radio at a third interface, the driver layer receiving an IOCTL code at the second interface and transforming the IOCTL code into a command understood by the radio to perform the particular function and sending the radio command at the third interfaces; and wherein the proxy layer is hardware independent and the driver layer is hardware specific.
Claim 9
Dependent Claim 162 words
A radio interface layer of a telephone for facilitating communications between an application program module and a radio, comprising: a proxy layer for communicating with the application program module at a first interface and a driver layer at a second interface, wherein the proxy layer provides an API on the first interface for receiving application program calls to perform a particular function and wherein the proxy layer transforms the API calls to an input/output control (IOCTL) code and sends the IOCTL code to the driver layer at the second interface; wherein the driver layer communicates with the proxy layer at the second interface and the radio at a third interface, the driver layer receiving an IOCTL code at the second interface and transforming the IOCTL code into a command understood by the radio to perform the particular function and sending the radio command at the third interfaces; and wherein the proxy layer is hardware independent and the driver layer is hardware specific.
Claim 10
Dependent Claim 46 words
The radio interface layer of claim 7 wherein the driver layer further receives communications from the radio indicating that the particular function has been performed and wherein the driver layer sends a success code to the proxy layer indicating that the particular function has been performed.
Claim 11
Independent Claim 129 words
A method for processing commands in a telephone comprising a proxy layer, a driver layer, an application and a radio, the method comprising the steps of: causing the application to call a radio interface layer (RIL) API in the proxy layer at a first interface, wherein the RIL API is associated with an action to be performed by the radio; causing the proxy layer to translate the RIL API into IOCTL codes; sending the IOCTL codes to the driver layer at a second interface; translating the IOCTL codes to a command corresponding to the action, wherein the command will be understood by the radio; sending the command to the radio at a third interface; and wherein the proxy layer is hardware independent and the driver layer is hardware specific.
Claim 12
Independent Claim 129 words
A method for processing commands in a telephone comprising a proxy layer, a driver layer, an application and a radio, the method comprising the steps of: causing the application to call a radio interface layer (RIL) API in the proxy layer at a first interface, wherein the RIL API is associated with an action to be performed by the radio; causing the proxy layer to translate the RIL API into IOCTL codes; sending the IOCTL codes to the driver layer at a second interface; translating the IOCTL codes to a command corresponding to the action, wherein the command will be understood by the radio; sending the command to the radio at a third interface; and wherein the proxy layer is hardware independent and the driver layer is hardware specific.
Claim 13
Dependent Claim 12 words
The method of claim 9 wherein the command is an AT command.
Claim 14
Dependent Claim 20 words
The method of claim 9 wherein the command is one of a private API set defined by the radio manufacturer.
Claim 15
Dependent Claim 24 words
The method of claim 9 further comprising the step of generating in the RIL driver layer a unique ID associated with the RIL API.
Claim 16
Dependent Claim 36 words
The method of claim 12 further comprising the step of waiting for a response from the radio, and when received, calling back the calling application with the response and the unique ID returned from the call.
Claim 17
Dependent Claim 34 words
The method of claim 13 wherein the RIL driver matches the response from the radio with the unique ID and the RIL driver sends the response to the calling process via a callback function.
Claim 18
Independent Claim 116 words
A method of communicating between a module and a radio comprising: (a) generating a radio interface layer (RIL) API call at one of a plurality of modules to perform a specific action; (b) sending the RIL API call to a proxy at a first interface; (c) at the proxy, converting the RIL API call to a command understood by a radio driver; (d) transmitting the radio driver command from the proxy to the radio driver at a second interface; (e) transmitting a radio command from the radio driver to the radio at a third interface; (f) performing the specific action at the radio; and wherein the proxy is hardware indepentent and the driver is hardware specific.
Claim 19
Independent Claim 116 words
A method of communicating between a module and a radio comprising: (a) generating a radio interface layer (RIL) API call at one of a plurality of modules to perform a specific action; (b) sending the RIL API call to a proxy at a first interface; (c) at the proxy, converting the RIL API call to a command understood by a radio driver; (d) transmitting the radio driver command from the proxy to the radio driver at a second interface; (e) transmitting a radio command from the radio driver to the radio at a third interface; (f) performing the specific action at the radio; and wherein the proxy is hardware indepentent and the driver is hardware specific.
Claim 20
Independent Claim 43 words
The method of claim further 15 comprising: (g) in response to successfully performing the specific action, sending a success code from the driver to the proxy and from the proxy to the one of the plurality of modules that generated the RIL API.
Claim 21
Dependent Claim 88 words
The method of claim 16 wherein the RIL API, command and success code are associated with an identifier linking them together and linking them to the one of the plurality of modules that generated the RIL API call and wherein the radio driver receives the success code, and, using the identifier, matches the success code with the one of the plurality of modules that generated the RIL API call and sends the success code to the one of the plurality of modules that generated the RIL API call.
Claim 22
Dependent Claim 42 words
The method of claim 17 further comprising the step of: (h) generating a notification at the radio in response to detecting data that needs to be reported to one of the plurality of modules; (i) sending the notification to the radio driver.
Claim 23
Dependent Claim 21 words
The method of claim 18 further comprising the step of: (j) sending the notification from the radio driver to the proxy.
Claim 24
Dependent Claim 26 words
The method of claim 19 further comprising the step of: (k) sending the notification from the proxy to at least one of the plurality of modules.
Claim 25
Dependent Claim 21 words
The method of claim 18 wherein the data that needs to be reported comprises an incoming phone call to the radio.
Claim 26
Dependent Claim 21 words
The method of claim 18 wherein the data that needs to be reported comprises a signal strength change in the radio.
Claim 27
Dependent Claim 16 words
The method of claim 18 wherein the one of a plurality of modules is a TSP.
Claim 28
Dependent Claim 17 words
The method of claim 18 wherein the one of a plurality of modules is a SIM manager.
Claim 29
Dependent Claim 21 words
The method of claim 18 wherein the one of a plurality of modules is an emergency application for generating emergency calls.
Claim 30
Dependent Claim 17 words
The method of claim 18 wherein the one of a plurality of modules is a WAP layer.
Claim 31
Dependent Claim 17 words
The method of claim 18 wherein the one of a plurality of modules is a TAPI interface.
Claim 32
Dependent Claim 17 words
The method of claim 18 wherein the one of a plurality of modules is an ExTAPI interface.
Claim 33
Dependent Claim 34 words
The method of claim 18 wherein the one of a plurality of modules is connected to an application program module and receives instructions from the application program module to generate the RIL API call.
Claim 34
Dependent Claim 44 words
The method of claim 29 wherein the instructions provided by the application program module comprise instructions defined by the one of a plurality of modules and wherein the instructions are converted to the Rib API calls by the one of a plurality of modules.

References Cited (Backward Citations)

WO1996006393A1 Cited
US6018571A Cited
EP0994614A2 Cited
US6269254B1 Cited
US6141564A Cited
US20020052968A1 Cited
US6584185B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-11-30 2008-05-31 2008-11-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-11-30 2012-05-31 2012-11-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-11-30 2016-05-31 2016-11-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag