1. Technical Field of the Invention
The present invention relates generally to the field of wireless telecommunications; and, more particularly, to an interface for a platform system for a mobile terminal for a wireless telecommunications system.
2. Description of Related Art
Since cellular telecommunications systems were first introduced in the 1980s, mobile terminals (Mobile Stations) utilized in the systems have become increasingly more complex. Initially, mobile terminals were designed primarily to provide voice telephony services; i.e., to receive and transmit voice communications. In later years, mobile terminals were developed that also included the ability to transfer user data not related to that of a voice telephone call. Such user data included, for example, data to be transferred over a dial-up networking connection initiated via a personal computer (PC).
Currently, so-called “third generation” (3G) systems are being developed for future mobile telecommunications systems. 3G systems will combine high-speed Internet access with traditional voice communication, and will provide a user with access to Internet browsing, streaming audio/video, positioning, video conferencing and many other capabilities in addition to voice communication.
The Third Generation Partnership Project (3GPP) was established to ensure compatibility among the several 3G systems that are being developed around the world. The Universal Mobile Telephone System (UMTS) is being developed by 3GPP to provide a 3G system that includes terrestrial and satellite systems capable of delivering voice, data and multimedia anywhere in the world.
The drastically increased functionality that is being included in cellular telecommunications systems via the 3GPP standardization has placed substantial demands on the developers of mobile terminals to be used in the systems. This demand is exacerbated by the fact that a mobile terminal is a “resource scarce” environment that is limited in size, memory and power.
Traditionally, mobile terminal manufacturers have designed, fabricated and marketed substantially complete mobile terminal systems that include all the hardware and software needed for basic terminal operation as well as the hardware and software needed to provide the features and capabilities desired by the manufacturer or a particular user based on their perception of market needs. Such an approach does not provide the flexibility to quickly adapt to rapid changes in market demands or to satisfy the diverse requirements of multiple users.
Recognizing the inadequacies of traditional procedures for designing and fabricating mobile terminals, a mobile terminal platform assembly has been developed that includes a plurality of functionally complementary units of software and hardware that can be marketed as a unit to a plurality of users. Each user can then load, install and run his own application software into the assembly to provide a complete platform system for a mobile terminal that meets the user's own particular needs. The mobile terminal platform assembly and the platform system are described in detail in commonly assigned U.S. patent application Ser. Nos. 60/357,366 and 60/357,291 filed concurrently herewith, the disclosures of which are hereby incorporated by reference.
A platform system such as described above, wherein mobile terminal platform assembly software and application software are developed separately and then later combined by loading, installing and running the application software in the mobile terminal platform assembly, requires a well-defined interface between the platform assembly software and the application software. Such an interface does not exist in current mobile terminals wherein all the software for the mobile terminals is fabricated together.
There is, accordingly, a need for an interface for a platform system for a mobile terminal for a wireless telecommunications system that permits software of a mobile terminal platform assembly of the system and application software to be developed separately and then later combined via the interface to complete the platform system.
The present invention provides an interface for a platform system for a mobile terminal for a wireless telecommunications system that permits software of a mobile terminal platform assembly of the platform system and application software to be developed separately and then later combined via the interface to complete the platform system.
According to the present invention, the interface comprises a middleware services layer that includes at least one application programming interface (API) for providing access to the mobile terminal platform assembly for loading, installing and running application software in the mobile terminal platform assembly (the term “loading” as used herein is intended to include any mechanism by which the application software can be combined with the software of the mobile terminal platform assembly via the interface, including, for example, downloading from the Internet or installing a hardware chip). The at least one API may include standardized (non-native) interfaces, de facto standardized interfaces and/or open native interfaces. For example, a standardized interface might include the J2ME (JAVA 2 Micro Edition) environment according to MIDP/CLDC (Mobile Information Device Profile/Connected Limited Device Configuration) API.
According to an exemplary embodiment of the present invention, the middleware services layer comprises a middleware services layer component of the mobile terminal platform assembly of the platform system. The middleware services layer component provides a plurality of APIs for loading, installing and running application software in the assembly to be combined with software of the assembly to provide a complete platform system; and, in addition, functions to encapsulate the mobile terminal platform assembly and to isolate the platform assembly from the applications via the APIs. As a result, the middleware services layer component provides users (the term “users” as used herein includes manufacturers, end users or other customers or users) with the capability of fully utilizing the functionality of the mobile terminal platform assembly without permitting access to or knowledge of the details of the assembly.
Further advantages and specific details of the middleware services layer of the present invention will become apparent hereinafter from the detailed description given below in conjunction with the following drawings.
Mobile terminal platform assembly 12 includes a software services component 22, a hardware component 24 and an interface component 26.
Software services component 22 comprises a plurality of well-structured functional software units for providing services that are offered to users via the interface component 26. In the exemplary system illustrated in
The hardware component 24 comprises a set of hardware units that are associated with and controlled by their respective functional software stacks. In the exemplary system illustrated in
According to exemplary embodiments of the present invention, interface component 26 comprises a middleware services layer component that includes at least one application programming interface (API) for loading, installing and running one or more applications 14 in mobile terminal platform assembly 12, that isolates the mobile terminal platform assembly from the applications using it, and that provides various other services for the applications. Specific details of the middleware services layer component 26 will be described hereinafter.
Mobile terminal platform assembly 12 of platform system 10 is adapted to be designed, implemented (assembled) and tested as a complete, enclosed unit separate from the application software 14 (the term “application software” as used herein can be any software that provides the functionality that users may wish to have available). Users can, accordingly, develop or otherwise acquire their own application software and add that software to the mobile terminal platform assembly 12 at a later time in order to complete platform system 10. Mobile terminal platform assembly 12 can, accordingly, be sold or otherwise transferred to a plurality of different users each of which can complete platform system 10 by loading, installing and running their own application software in the assembly in order to satisfy their own particular requirements for the platform system.
Further details of the mobile terminal platform assembly 12 and platform system 10 are given in the above-mentioned commonly assigned U.S. patent application Ser. No. 60/357,291.
The software incorporated in mobile terminal platform assembly 12 is preferably arranged in such a manner as to make the software organization easy to understand so that it can be more easily designed and more easily upgraded or otherwise modified.
As shown in
The software architecture differs from the standard ISO/OSI (ISO Open Systems Interconnection) model in that it includes a plurality of horizontally partitioned functional software units that complement a plurality of vertically partitioned software layers. The horizontal partitioning contributes significantly to the creation of independent modular (service) components.
The highest layer of the layered architecture is the middleware services layer 26. The layers of the software services component 22 include an application server layer 80 to provide application services, a platform services layer 82 to provide platform specific services for applications, a platform protocol layer 84 to provide session protocols and application specific protocols, a transport layer 86 to provide audio access/control, datacom transport protocols, messaging transport protocols and the like, a data access layer 88 to provide external data IF access, structured storage services and other low level platform support services, a logical drivers layer 90 and a physical drivers layer 92 encapsulating hardware dependencies. In addition, software services component 22 includes basic system services layers 94 that provide general services that are needed by the platform assembly.
The bottom two layers 90 and 92 constitute Hardware Abstraction Layers (HAL) which isolate the dependencies between the software and the hardware. Only the physical drivers layer is concerned with the details of the hardware (i.e., which registers in the ASIC hardware are addressed). The logical drivers layer 90 provides a logical mapping to the hardware, i.e., this layer provides a bridge between the hardware and software parts of the mobile terminal platform assembly.
The software itself is organized into a plurality of software modules, e.g. modules 102, 104, 106. In software services component 22, a single module can reside in only one vertical functional stack and in only one horizontal layer within that stack. Each layer can contain from one to many modules, and all the modules in a particular layer in a particular stack have the same level of abstraction. Communication among the various modules is accomplished via a Software Back Plane (SwBP) 112 subject to a set of basic rules for software module-to-module access. These rules can be summarized as follows:
There is no hard coupling between the various modules and the interfaces in the SwBP. As a result, the modules and/or the implementation of the interfaces can be freely changed without any impact on the clients to the interfaces. This is an important capability as it permits individual modules to be added, removed or changed without affecting other modules in the platform assembly.
Further details of the layered architecture, including the SwBP software structure that enables the internal communication between modules within the mobile terminal platform assembly are described in the above-mentioned commonly assigned. U.S. patent application Ser. No. 60/357,366
Middleware services layer component 26 functions to provide a well-defined interface between the software in the mobile terminal platform assembly 12 and the application software 14 to be loaded, installed and run in the platform assembly; and, in addition, encapsulates the mobile terminal platform assembly and isolates the assembly from applications via the middleware services layer component, and provides various other services for the applications.
Through the APIs in the middleware services layer component 26, the mobile terminal platform assembly 12 supports a plurality of application environments. In the exemplary embodiment of
By providing multiple application environment alternatives, a wide range of products with varying demands such as cost, ease of use, time to market, functionality set, size, portability, etc. is facilitated.
Each of the API domains comprises a plurality of software modules, and
The Native Environment Management module 230 has the responsibility of controlling native applications in platform system 10. It is the recipient of the control commands concerning native applications from the Application Manager 222 (
The Native Application Core module 232 administers and takes care of the threading and message handling complexities that the applications would otherwise have to handle themselves. It also serves the purpose of achieving OS independence by hiding the implementation details of the OS for relieving applications from run-time complexities including message routing/filtering and message-related resource handling. A major responsibility of the Native Application Core is to hide the details of the start-up and shutdown phase of an application and in the handling of messages.
The Middleware Support Services module 236 provides services to the OPA domain that are common for the different handlers or that need to be centralized, e.g., object management and resource supervision.
The Native Extension Plug-in module(s) 238 can be seen as an optional extension of the platform assembly functionality through the OPA Interface and Handlers module 234. These module(s) are subject to the same interface guidelines, paradigms and mechanisms that rule and apply to the OPA Interface and Handlers module 234. The OPA Native Extension Plug-ins 238 may only access the platform functionality through the OPA Interface and Handlers module 234. Several Extension Plug-in modules can simultaneously exist in the system.
The Native Extension Plug-in module(s) 238 is subject to the following characteristics:
The UI Tool-kit API domain 208 supplies a set of visual objects that can be used to build a user interface to an application. These objects are also allowed for use by the Java ExE environment. In addition, the UI Tool-kit API domain provides support for other UI-related functions such as text rendering, input methods and the handling of text resources.
A major function of UI Tool-kit API domain 208 is to enable faster development of applications by introducing higher level support for frequently needed functions. It also helps maintain common principles for the appearance and behavior of different applications, even those developed independently of one another. Applications may or may not use Tool-kit API domain 208 to present graphics and to handle user input.
If desired, some parts of UI Tool-kit 208 can be replaced or modified by a user of mobile terminal platform assembly 12.
The middleware services layer component according to the present invention provides a number of advantages:
With the middleware services layer component of the present invention, it is also possible for users to add their own interfaces to the platform assembly. This is achieved by the user writing their own plug-ins which will be seen as part of the middleware services layer component from the application's viewpoint. This permits users to tailor the platform assembly to their own needs, and, at the same time, to be able to reuse their applications on new platform assembly configurations.
While what has been described constitutes exemplary embodiments of the invention, it should be understood that the invention can be varied in many ways without departing from the scope thereof For example, although in the exemplary embodiments described herein, the middleware services layer component supports two application environments, other environments can also be supported as needed or desired for particular user applications. Also, although the present invention has been described primarily as being used in a third generation cellular telecommunications system, the invention can also be used in second generation and other cellular telecommunications systems, and in other wireless telecommunications systems such as, for example, a Bluetooth system. Because the invention can be varied in many ways, it should be recognized that the invention should be limited only insofar as is required by the scope of the following claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/357,366 filed on Feb. 15, 2002, U.S. Provisional Patent Application Ser. No. 60/357,291 filed on Feb. 15, 2002, U.S. Provisional Patent Application Ser. No. 60/412,756 filed on Sep. 23, 2002, and U.S. Provisional Patent Application Ser. No. 60/412,844 filed on Sep. 23, 2002.
Number | Name | Date | Kind |
---|---|---|---|
3831148 | Greenwald et al. | Aug 1974 | A |
5689565 | Spies et al. | Nov 1997 | A |
5771240 | Tobin et al. | Jun 1998 | A |
5937366 | Zbytniewski et al. | Aug 1999 | A |
6002869 | Hinckley | Dec 1999 | A |
6044408 | Engstrom et al. | Mar 2000 | A |
6049896 | Frank et al. | Apr 2000 | A |
6052524 | Pauna | Apr 2000 | A |
6061709 | Bronte | May 2000 | A |
6105154 | Wang et al. | Aug 2000 | A |
6112312 | Parker et al. | Aug 2000 | A |
6137802 | Jones et al. | Oct 2000 | A |
6269396 | Shah et al. | Jul 2001 | B1 |
6279124 | Brouwer et al. | Aug 2001 | B1 |
6317659 | Lindsley et al. | Nov 2001 | B1 |
6353897 | Nock et al. | Mar 2002 | B1 |
6389491 | Jacobson et al. | May 2002 | B1 |
6600917 | Maupin | Jul 2003 | B1 |
6908389 | Puskala | Jun 2005 | B1 |
6918108 | Rajaram | Jul 2005 | B2 |
20010015654 | Habersetzer et al. | Aug 2001 | A1 |
20020029378 | Larsson | Mar 2002 | A1 |
20020069065 | Schmid et al. | Jun 2002 | A1 |
20020069263 | Sears et al. | Jun 2002 | A1 |
20020098855 | Hartmaier et al. | Jul 2002 | A1 |
20030182347 | Dehlinger | Sep 2003 | A1 |
20030224769 | Solve et al. | Dec 2003 | A1 |
Number | Date | Country |
---|---|---|
0902596 | Mar 1999 | EP |
1 074 911 | Feb 2001 | EP |
1 136 912 | Sep 2001 | EP |
1241905 | Sep 2002 | EP |
WO-9716938 | May 1997 | WO |
WO 9819239 | May 1998 | WO |
WO 9949394 | Sep 1999 | WO |
WO 0008611 | Feb 2000 | WO |
WO-0069084 | Nov 2000 | WO |
WO 0072586 | Nov 2000 | WO |
WO 0114960 | Mar 2001 | WO |
WO 0141393 | Jun 2001 | WO |
WO 0150282 | Jul 2001 | WO |
WO 0151940 | Jul 2001 | WO |
WO 0188707 | Nov 2001 | WO |
WO 0227565 | Apr 2002 | WO |
WO 0229824 | Apr 2002 | WO |
WO 0233879 | Apr 2002 | WO |
WO 0235351 | May 2002 | WO |
WO 02054094 | Jul 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20030181193 A1 | Sep 2003 | US |
Number | Date | Country | |
---|---|---|---|
60412844 | Sep 2002 | US | |
60412756 | Sep 2002 | US | |
60357291 | Feb 2002 | US | |
60357366 | Feb 2002 | US |