WO2001014960A2 - Generic interface for a software module - Google Patents
Generic interface for a software module Download PDFInfo
- Publication number
- WO2001014960A2 WO2001014960A2 PCT/US2000/022904 US0022904W WO0114960A2 WO 2001014960 A2 WO2001014960 A2 WO 2001014960A2 US 0022904 W US0022904 W US 0022904W WO 0114960 A2 WO0114960 A2 WO 0114960A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software module
- software
- module
- state
- operative
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Definitions
- This invention relates to software and the control of software modules. More particularly, this invention relates to an apparatus and method for controlling a software module with a generic interface, such as performing a synchronous task like the control of a hardware chipset within a device, for example, within a portable telecommunications device.
- GSM Groupe Special Mobile
- GSM handsets use complex signaling protocols which are required for proper operation of a GSM handset.
- the complex signaling protocols are implemented in a GSM Protocol Stack which provides a complete multiband handset solution when coupled with one or more layers of internal operating software.
- the layered operating software is a layered structure that closely follows a software architecture that is defined by a specification for the GSM standard. Specific architecture and developments for the GSM standard are made by the European Telecommunications Standard Institute (ETSI) via a Special Mobile Groupe (SMG) technical committee. A set of technical specifications is published by the Publications Office of ETSI, and such publication is herein incorporated by reference as though set forth in full.
- the GSM standard has many applications including utilization on hand-held devices, portable devices, transportable devices, portable phone systems, computer systems, modems, and other systems where the utilization of GSM mobile station functionality is desired.
- GSM architecture functionality In order to add GSM architecture functionality to many devices, software modules and hardware modules are utilized. However, the utilization of software modules presents problems during the design of such devices. Disclosure of the Invention
- An apparatus and method are provided for controlling a software module.
- the control is achieved by sending events to a software module.
- the events are used to control specific behavior of the software module.
- the software module performs a synchronous task; e.g., the control of a hardware chipset for a GSM handset.
- an apparatus for controlling a software module which includes a software module having at least one input port and an output port, the module operative to perform a task.
- a linking interface communicates with the module and is operative to control a state of the software module.
- Memory is operative to store a plurality of inputs that configure states for the module, and processing circuitry communicates with the memory and the interface and is operative to control the state of the module by delivering one of the inputs from the memory to the linking interface.
- a software module control system for controlling a software module having at least one input port and an output port.
- An interface is configured to communicate with a software module and is operative to control an operating state of the software module.
- Processing circuitry communicates with the interface and is operative to selectively control the operating state of the software module by delivering an input that configures an operating state of the software module.
- a method for controlling a software module which includes a software module having at least one input port and an output port, wherein the software module is operative to perform a task.
- the method also includes a plurality of events that configure the software module into respective operating states; applying one of the events to the software module to configure the operating state of the software module.
- One advantage of the present invention is improved control of a software module.
- Fig. 1 is a block diagram of a GSM handset and mobile station system utilizing an apparatus for controlling an internal software module according to Applicant's invention.
- Fig. 2 is a schematic block diagram illustrating the manner in which software modules are organized within one or more layers of a computer program, in this case how a GSM stack is organized within a mobile phone handset.
- Fig. 3 is a schematic block diagram illustrating the manner in which events are sent to a synchronous software module in order to control the software module.
- Fig. 4 is a flowchart illustrating operation of the method and system according to one aspect of Applicant's invention. Best Modes for Carrying Out the Invention and Disclosure of Invention
- GSM Global System for Mobile Communications
- GSM Global System for Mobile Communications
- a "software module” is understood to refer to a logically self-contained and discrete part of a larger program, and can include objects, functions, procedures, routines and applications.
- a complete application program is formed from one or more software modules, or program modules.
- a software module is configured to accept logical inputs and logical outputs.
- the software module carries out a set of processing actions which are reflected in the output.
- a software module will be designed with only one input and one output which form a single entry point and exit point.
- a software module can have more than one input and output.
- a software module is used to implement a subroutine where there exists only a single input and output, or entry and exit points.
- Software modules are a product of modular programming which enables breakdown of complex tasks into smaller and simpler subtasks which facilitates the design and test of complex functional programs.
- the interactions between individual software modules has heretofore been very restricted. Although this greatly simplifies the understanding as to how a program works, improved techniques for communicating and controlling software modules pursuant to Applicant's invention are greatly needed.
- FIG. 1 is a block diagram of a GSM handset and mobile station system that includes a GSM stack with software layers and software modules that benefit by utilizing Applicant's apparatus and method for controlling particular software modules.
- an interface is provided that sends specific events to software modules in order to implement control of such modules.
- a GSM handset 10 includes a GSM stack 12 and internal hardware components carried on one or more circuit boards 14 and 16. Processing circuitry 18 is included on boards 14 and 16 along with memory 20.
- circuit boards 14 and 16 also include additional hardware such as a digital signal processor, transceiver circuitry, a source coding bank and a data codec.
- additional hardware such as a digital signal processor, transceiver circuitry, a source coding bank and a data codec.
- GSM handset 10 is a portable electronic communications device that utilizes a software package that includes layers and modules that will benefit from implementation of Applicant's invention. More particularly, handset 10 includes software in the form of GSM stack 12.
- Stack 12 includes a plurality of software layers identified for purposes of illustration as layers 22-24. Such software layers are used to subdivide a software stack into discrete components so that design and test can be subdivided into various different organizations or groups.
- layers functions in higher, or outer, layers call functions in lower, or inner, layers.
- layer 1 identified by reference numeral 22, might be a lower level layer that is developed by Company A, while mid-level layer 23 is developed by Company B.
- higher layers are implemented in terms of the functionality of lower layers.
- a software module is a self-contained software component that cooperates interactively with a larger program or system.
- a software module is designed to implement a specific task within a larger software program.
- software modules are utilized in modular programming where the design of a program is broken down into individual components, or modules, that are each capable of being independently programmed and tested. Modular programming has become a necessity when designing, developing, and maintaining relatively large software projects. A similar approach has been undertaken with respect to the use of self- contained hardware modules.
- OOPS object-oriented programming
- GSM stack 12 is broken into several layers 22-24, and each layer may be broken down into a plurality of individual software modules.
- layer 22 is shown broken down into individual software modules 26-28.
- Layer 23 includes module 29, whereas layer 24 includes module 30.
- a link is provided between software modules 26-27 via an interface 32.
- a similar link is provided by interface 34 between modules 29 and 30.
- Interface 32 comprises a linking interface that communicates with associated software modules 26 and 27. Interface 32, in operation, is operative to control the behavior of software modules 26 and/or 28. As shown in Figure 2, interface 32 is provided between two software modules
- interface 32 can also be provided between software modules present in different software layers; e.g., software modules present in “Layer 1 " and “Layer 2" identified by reference numerals 22 and 24. Layers 22 and 24 are both contained within the GSM stack 12.
- Interface 34 illustrates a link between module 29, located in a lower layer of GSM stack 12, and module 30, located in an upper layer of GSM stack 12.
- Such link can be implemented over a logical input of a software module.
- the link is implemented over a single input of a software module.
- the software module has a plurality of inputs, and a dedicated input is provided for the link, or interface.
- a software developer can develop a lower level module, such as module 29, for a program stack 12, while upper levels, or layers, in stack 12 are being developed by other companies.
- the control features of Applicant's invention enabled via interface 34, provide for control of specific software modules via a series of "EVENTS". These specific "EVENTS" can be used to put a software module into a specific operating state.
- a software module can be controlled by events which enable the placement of a software module into a specific state.
- each software module can be a specific task that is to be performed within the software stack.
- Two events can be defined for controlling the state of the software module. For example, one event can drive the software module to an active state, while another event can drive the software module to a deactivated state.
- events can be sent to a module which is very useful for software applications such as GSM applications since an event can be used to send a command to a software module where one event activates the state and the other event deactivates the state.
- Processing circuitry in the form of a processor, microprocessor or microcontroller, implement the control of individual software modules by delivering such events and logical inputs to a software module via a linking interface, and by receiving logical outputs from the software module. Accordingly, the processing circuitry regulates communication between software modules, and sets the control of individual software modules.
- one event can set a software module into an idle mode, while another event can set a software module into a dedicate mode.
- Such events can be applied to all modules in a software system, such as a GSM stack. Accordingly, the events are used to control the behavior of the respective software module.
- a list of possible events is provided as follows:
- TICK - This event is used to generate a clock for the software module.
- the START event and STOP event are treated after the occurrence of the TICK event.
- E. STOP - This event is used to stop the process of the software module.
- interface 32 enables the application of events 36 to specific software modules such as software module 26 from external sources, such as from other software modules.
- Each event 36 is operative to generate a change in state for the software module.
- the events 36 on the list described above are identified as follows: activate event 38; deactivate event 39; tick event 40; start event 41; and stop event 42.
- activate event 38 and deactivate event 39 cause "wake-up" and
- tick event 39 provides a clock pulse for the software module. In operation, it is required that tick event 40 precede use of start event 41 and stop event 42. Start event 41 is used to start the process of the software module, whereas stop event 42 is used to stop the process of the software module.
- tick event 40 a "tick” is a unit of time, or time frame, utilized within GSM.
- a single “tick” has a defined unit length somewhere in the range of 6/1300 milliseconds and provides the reference clock of GSM. Everything in GSM is regulated by this reference clock, and a tick event is sent to each frame of the time frame. In this manner, the behavior of the module can be controlled synchronously.
- FIG. 4 illustrates a process flow diagram showing logic processing for configuring the operating state of a software module. Such process flow diagram is implemented on processing circuitry 18 (of Fig. 1). More particularly, Figure 4 illustrates the process of configuring the operating state of a software module. The logic flow diagram illustrates the steps implemented by processing circuitry when configuring such software module.
- Step "SI” a software module is provided having at least one input port and an output port, wherein the software module is operative to perform a task. After performing Step “SI ", the process proceeds to Step "S2".
- Step "S2" one or more events are provided that configure the software module into one or more operating states. For example, a plurality of events are provided that configure the software module into respective operating states. After performing Step “S2", the process proceeds to Step "S3".
- Step "S3" the processing circuitry is used to apply one of the events to the software module in order to configure the operating state of the software module. More particularly, the processing circuitry applies one of the events to the software module in order to configure the operating state of the software module.
- Step "S3" the software module configuration technique of Applicant's invention terminates.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Programmable Controllers (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00961345A EP1250643A2 (en) | 1999-08-23 | 2000-08-18 | Generic interface for a software module |
JP2001519258A JP2003513346A (en) | 1999-08-23 | 2000-08-18 | Common interface for software modules |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37955699A | 1999-08-23 | 1999-08-23 | |
US09/379,556 | 1999-08-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001014960A2 true WO2001014960A2 (en) | 2001-03-01 |
WO2001014960A3 WO2001014960A3 (en) | 2002-08-15 |
Family
ID=23497743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/022904 WO2001014960A2 (en) | 1999-08-23 | 2000-08-18 | Generic interface for a software module |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1250643A2 (en) |
JP (1) | JP2003513346A (en) |
WO (1) | WO2001014960A2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043636B2 (en) | 2000-09-26 | 2006-05-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Data integrity mechanisms for static and dynamic data |
US7149510B2 (en) | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
US7240830B2 (en) | 2002-02-15 | 2007-07-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Layered SIM card and security function |
US7286823B2 (en) | 2002-02-15 | 2007-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Mobile multimedia engine |
US7350211B2 (en) | 2002-09-23 | 2008-03-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Middleware application environment |
US7363033B2 (en) | 2002-02-15 | 2008-04-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and system for testing equipment during manufacturing |
US7415270B2 (en) | 2002-02-15 | 2008-08-19 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware services layer for platform system for mobile terminals |
US7478395B2 (en) | 2002-09-23 | 2009-01-13 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware application message/event model |
US7536181B2 (en) | 2002-02-15 | 2009-05-19 | Telefonaktiebolaget L M Ericsson (Publ) | Platform system for mobile terminals |
US8079015B2 (en) | 2002-02-15 | 2011-12-13 | Telefonaktiebolaget L M Ericsson (Publ) | Layered architecture for mobile terminals |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762977B2 (en) * | 2008-04-10 | 2014-06-24 | Telefonaktiebolaget L M Ericsson (Publ) | Mobile device software management method and apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4695977A (en) * | 1985-12-23 | 1987-09-22 | American Telephone And Telegraph Company And At&T Bell Laboratories | Control of real-time systems utilizing a nonprocedural language |
-
2000
- 2000-08-18 EP EP00961345A patent/EP1250643A2/en not_active Withdrawn
- 2000-08-18 JP JP2001519258A patent/JP2003513346A/en not_active Withdrawn
- 2000-08-18 WO PCT/US2000/022904 patent/WO2001014960A2/en not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043636B2 (en) | 2000-09-26 | 2006-05-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Data integrity mechanisms for static and dynamic data |
US7240830B2 (en) | 2002-02-15 | 2007-07-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Layered SIM card and security function |
US7286823B2 (en) | 2002-02-15 | 2007-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Mobile multimedia engine |
US7363033B2 (en) | 2002-02-15 | 2008-04-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and system for testing equipment during manufacturing |
US7415270B2 (en) | 2002-02-15 | 2008-08-19 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware services layer for platform system for mobile terminals |
US7536181B2 (en) | 2002-02-15 | 2009-05-19 | Telefonaktiebolaget L M Ericsson (Publ) | Platform system for mobile terminals |
US8079015B2 (en) | 2002-02-15 | 2011-12-13 | Telefonaktiebolaget L M Ericsson (Publ) | Layered architecture for mobile terminals |
US7149510B2 (en) | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
US7350211B2 (en) | 2002-09-23 | 2008-03-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Middleware application environment |
US7478395B2 (en) | 2002-09-23 | 2009-01-13 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware application message/event model |
US7584471B2 (en) | 2002-09-23 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Plug-in model |
Also Published As
Publication number | Publication date |
---|---|
JP2003513346A (en) | 2003-04-08 |
EP1250643A2 (en) | 2002-10-23 |
WO2001014960A3 (en) | 2002-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2001014960A2 (en) | Generic interface for a software module | |
US6308062B1 (en) | Wireless telephony system enabling access to PC based functionalities | |
US7774021B2 (en) | Communication terminal apparatus | |
US4972183A (en) | Method for transmitting terminal-specifying program parameter data from a communications installaton to communications terminal equipment | |
EP0581478B1 (en) | Serial interface module and method of transmitting data | |
WO1996032800A1 (en) | Digital screen phone terminal with graphical user interface | |
US6549945B1 (en) | Multi-purpose WAN driver for DSP resource adapter | |
KR20040086333A (en) | Platform System for Mobile Terminals | |
CN101478840B (en) | SIM card control circuit for single-chip dual-mode mobile terminal | |
US6708045B1 (en) | Easily reconfigured and upgraded radio card and wireless terminal | |
EP1547261B1 (en) | Programmable radio interface | |
TWI221718B (en) | Modem driver for operation in a computer system having a memory, and method for employing said modem driver | |
US7386326B2 (en) | Programmable task-based co-processor | |
KR100298494B1 (en) | Signaling Protocol Method for External Hand-over of DECT Line Card in the Private Branch Exchange | |
JPH04257150A (en) | communication device | |
JP2003244009A (en) | Integrated circuit structure for programmable radio equipment | |
CN1077579A (en) | The frequency offset method and the equipment that are used for transceiver | |
MXPA04003339A (en) | Multiple-interface port multiplexer. | |
US6948007B2 (en) | Method and apparatus for configuring integrated circuit devices | |
US20040010677A1 (en) | Method and apparatus for downloading program by using hand shaking in digital signal processing | |
KR0165616B1 (en) | How to register a dedicated phone terminal | |
US6614812B1 (en) | Computer telephony integrated module system | |
KR200209479Y1 (en) | Modular Communication | |
Vollmer | IC advances share the spotlight with new products at CeBIT 98 | |
JPH0377440A (en) | Mobile phone terminal control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): CN JP KR |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000961345 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2001 519258 Kind code of ref document: A Format of ref document f/p: F |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 2000961345 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2000961345 Country of ref document: EP |