FIELD OF THE INVENTION
[0001] This invention relates generally to mobile communications systems. More particularly
the invention relates to a platform for building mobile application services.
BACKGROUND OF THE INVENTION
[0002] With the proliferation of cellular communications systems, consumers expect to receive
a rich variety of services. Mobile operators have to provide their wireless customers
with a wide range of the services. These generally take the form of consumer applications.
In many cases, the deployed services are serviced by the mobile operators as well
as third party (value added) providers. The services provided by mobile operators
are generally referred to as enabler services. The third party or value added services
are built on the foundation of the enabler services and often provide richer applications
to the user.
[0003] As the cellular telecommunications industry provides larger bandwidths to users,
there will likely be an increasing need for new communications services. These communications
services will be provided by both mobile network operators as well as the third party,
value added resellers. These applications may include multimedia services, presence
and location services, messaging services, and the like. With the possibility of such
a variety of services needing to be developed and deployed, the mobile operators and
developers needs to be cognizant of system footprint, integration, interoperability,
functional overlap, and shared resource management between these individual services.
[0004] Currently, there are various mobile solution service initiatives being pursued for
the development of individual network services including, for example, MMSC, WAPG,
SMSC, profile databases, and the like. While some commonality exists between applications,
each application tends to have its own strategy and implementation for access and
management functionalities when using these resources. Accordingly, each service's
details make it difficult to deploy and manage complete solutions for a network operator
in an easy and efficient manner. Often various hardware and software components need
to be individually deployed and managed. This individualized deployment management
forces undesired consumption of total allowable footprints, tight expenditures and
other cost issues while providing mobile services. Finally, service providers are
forced to develop service applications for each unique network. Because of the uniqueness
of each network system, service providers are forced to re-implement applications
to comport within the constraints of each network.
[0005] US 2001/0016880 A1 discloses a pluggable service delivery platform having an interface comprising a
device abstraction layer, for transforming requests and responses from device specific
formats to XML, a service abstraction layer, for abstracting common requirements from
different services to produce a service profile and a wrapper, and a kernel service
engine for managing service, user and device profiles, interfacing with and transferring
information between other platform components.
[0006] WO 02/05119 A1 discloses a system including a process-container engine. The engine architecture
includes a support layer, runtime layer, core layer, a process-container layer and
an execution layer. The process-containers are operable to move between peers to execute
a given process.
SUMMARY OF THE INVENTION
[0007] According to the present invention, a computer readable medium has a program stored
thereon, said program comprising a foundation layer having infrastructure services
configured to support mobile services and a core layer having a driver manager and
a resource manager, said resource manager including a service discovery lookup and
publisher configured to discover external services deployed in a network, said resource
manager (207) being configured to locate at least one of said external services (212)
in said network (104) and manage access to at least one of said external services
(212), and said core layer being configured to interact with a core layer of one or
more containers in said network to obtain information regarding said external services,
wherein
said program, when executed, causes the formation of at least one container for supporting
distributed mobile services across said network.
[0008] The invention also provides an apparatus comprising such a computer readable medium,
configured to execute said program.
[0009] In this manner, a common framework for mobile services can be provided. This framework
may take the form of an architectural model and a Java based implementation, resulting
in a mobile service container. The container architecture defines a reusable framework
for building and deploying cost effective mobile services for network operators in
an efficient manner. With such a framework, new services and new applications may
be developed and deployed in less time than conventional services. Another advantage
is the potential for a plug-n-play type interoperability supporting divergent implementation
of services.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 shows a diagram of service providers providing services to one or more networks
in accordance with aspects of the present invention.
[0011] Figure 2 shows a logical architecture for a mobile application service container
in accordance with aspects of the present invention.
[0012] Figure 3 shows the architecture of Figure 2 with a modified foundation layer in accordance
with aspects of the present invention.
[0013] Figure 4 shows a J2EE-based view of the architecture of Figure 2 in accordance with
aspects of the present invention.
[0014] Figure 5 shows a conceptual architecture of generic resource drivers that used for
the container's interoperability in accordance with aspects of the present invention.
[0015] Figure 6 shows an alternate representation of the architecture of Figure 2 in accordance
with aspects of the present invention.
[0016] Figure 7 shows containers distributed about a network, affected by load and available
resource limitations in accordance with embodiments of the present invention.
[0017] Figure 8 shows an alternate representation of the distribution of Figure 7, in accordance
with embodiments of present invention.
[0018] Figure 9 shows deployed container based services, in accordance with embodiments
of the present invention.
[0019] Figure 10 shows a process of migrating a vendor to a mobile application service container
in accordance with embodiments of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0020] Aspects of the disclosed invention address one or more problems associated with development
and deployment of conventional mobile services. For the purpose of simplicity, the
present invention is described in terms of a Java-based implementation strategy. It
is appreciated that other non-Java based solutions may be realized. Other non-Java
solutions may be based on C++ and/or CORBA technologies.
[0021] The following description relates to a mobile application service framework in which
an architecture is disclosed for realizing a greater efficiency for mobile distributed
services. Next, a process for converting legacy services to the new framework is disclosed.
[0022] The mobile service is described as a container that may be replicated and distributed
across a network. The container provides a standardized set of resource drivers and
APIs. Mobile network operators and third party service providers may create services
based on this standardized framework. The standardized framework, when adopted among
multiple mobile networks, permits network operators and third party service providers
to quickly create new services or transport existing services among networks having
the container framework. A further advantage of the container framework is the ability
to distributed services across a given network, thereby minimizing duplicative APIs
and drivers among various services.
[0023] In one example, a container is created using J2EE (Java 2 Enterprise Edition) available
from Sun Microsystems. The disclosed container implementation extends the execution
environment of the J2EE (Java 2 Enterprise Edition) container to provide a framework
which makes it easy to develop and deploy both enabler and value added mobile services.
This container provides a framework and an evolution process for developing new mobile
applications or services on top of already existing standard or de-facto standard
mobile services in an interoperable manner. New services, as they mature and become
the de-facto standard, may then be made part of the mobile services container through
a process of service evolution, so that any future service or application can use
these newly developed services.
[0024] A variety of abbreviations are used in describing the present invention. The following
lists a number of those abbreviations.
- 3GPP
- - 3rd Generation Partnership Project
- API
- - Application Programming Interface
- CORBA
- - Common Object Request Broker Architecture
- HTTP
- - Hyper Text Transfer Protocol
- J2EE
- - Java 2 Enterprise Edition
- MASC
- - Mobile Application Service Container
- MMSC
- - Multi-media Messaging Service Center
- OMA
- - Open Mobile Architecture
- RMI
- - Remote Method Invocation
- SMSC
- - Short Messaging Service Center
- WAPG
- - Wireless Application Protocol Gateway
- OSA
- - Open Service Access - a collection of service APIs for the telecommunications industry.
[0025] Figure 1 shows a variety of service providers X-Z 101-103 providing services to mobile
networks 104 and 106. Network A 104 is run by network A operator 105 and provides
network communication pathways and services for mobile user A 108. Network B 106 is
run by network B operator 107. Network B 106 provides communication pathways for mobile
user B 109. Service provider X 101 develops services for network A 104. Similarly,
service provider Z 103 develops services for network B 106. Service provider Y 102
develops services for both network A 104 and network B 106. If networks A 104 and
B 106 have different requirements, a single service from service provider Y 102 may
need to be significantly tailored for each of networks A 104 and B 106. Using the
platform of the present invention, however, service provider Y 102 may provide his
services based on a common framework used by networks A 104 and B 106 with minimal
rework. While the networks A 104 and B 106 may be different in structure and different
in range of services provided, the application container framework provides a greater
level of interoperability for a single service provided by service provider Y 102.
[0026] Figure 2 discloses a logical architecture for a mobile application service container
201. Functional blocks are used to describing various components of the service container.
It is appreciated that the functional blocks may be realized through software, hardware,
and/or firmware.
[0027] Mobile application service container 201 includes at least two layers. The first
layer is a foundation layer 211 and the second layer is core layer 210. The foundation
layer 211 includes infrastructure services and infrastructure service enablers 209.
These infrastructure services are the building blocks upon which the core services
210 of the mobile application service container 201 are built. The infrastructure
services and service enablers 209 is connected to external infrastructure services
215. Through these layers, the mobile application service container incorporates various
functionalities including resource discovery, resource lookup and resource utilization
management.
[0028] The infrastructure services and enablers 209 includes the service execution environment
and lower level services for building large-scale, enterprise class services. Some
of these services include accepting client requests and execution thread management
for processing of requests. Capabilities such as support for transaction management,
security handling, and database access are also part of this sub-system or module.
[0029] The core layer 210 of the mobile application service container connects to 'container
deployed' applications 202 and 'container deployed' services 203. Mobile service clients
213 are connected to the deployed services 203. These deployed applications 202 and
services 203 are built by users (developers) of the container and are generally built
for delivering multi-channel value added services for the end users. However, some
of the deployed services may be part of the container 201 itself. These deployed applications
202 and services 203 use well-defined and standardized connectivity pathways to provide
solid applications for all network operators, regardless of the actual network used.
Services are designed to be reusable by other services and applications. Therefore,
once a deployed service 203 becomes a standard component of offerings for mobile service
developers, it may be incorporated into the container 201 itself, and becomes inherently
supported by appropriate APIs and resource drivers.
[0030] The core layer 210 includes mobile service resource application programming interfaces
204. These interfaces provide support for standard mobile services that have been
provided across multiple service vendors. Examples of standard mobile services include
presence services, location services, MMSC services, and the like. The mobile service
resource APIs 204 are used by deployed applications 202 and deployed services 203.
The mobile service resource API module encapsulates various APIs for standard or de-facto
standard mobile services. Each of these APIs targets a specific mobile service such
as SMSC, WAPG, MMSC and the like. The API module 204, among other things, handles
protocol conversions. The specific API used may come from multiple vendors, thereby
meaning it needs to be defined at so as, to support a number of different vendors.
A variety of different APIs may be used in. For example, the API in 204 may be a standardized
API, may be a superset API with multilevel compliance, or an API based on the lowest
common denominator when multiple implementations exist. The API in 204 may become
its own standard, at which point it may be incorporated into other API layers.
[0031] The core layer 210 also includes common services 21 6 that include a set of services
that are common to the mobile services but not necessarily available in the foundation
layer 211. The common services 216 are connected between the deployed services 203
and the infrastructure service and service enablers 209. The common services 216 relate
to services that are not always part of the infrastructure services 209. These common
services may include event management, configuration management, logging services,
and the like. Further the common services may also include customized APIs and drivers
that provide connectivity to external services such as third party logging entities,
event managers and configuration managers. In some implementations common services
216 may be completely supported by the infrastructure services and service enablers
module 209, thereby eliminating common services module 216. Common services 216 may
include event management, logging, and configuration management. These services may
be used by 204, 207, and 203.
[0032] Core layer 210 further includes a resource driver manager 205 and mobile service
resource drivers 206. The resource driver manager 205 manages vendor specific drivers
206. These drivers provide support for various applications and services that are
specific to a vendor, and which are generally provided outside the mobile application
service container 201. The mobile service resource drivers 206 are connected to externally
deployed mobile services 212. These externally deployed mobile services 212 may provide
a vendor-specific provider interface to the mobile service resource drivers 206.
[0033] To the extent possible, the generic services used by the system are inherently resident
in the default J2EE platform. The implementation of the driver manager 205 and resource
manager 207 and other high level container based services may require services of
include event management, configuration management, logging, and the like. As the
default J2EE framework often does not provide the all of the necessary capabilities
natively for the mobile services, additional functionalities may be added as on shown
in Figure 4, below.
[0034] The combination of the mobile service resource driver 206 and the resource driver
manager 205 provide the reuse and interoperability capabilities against existing services.
They implement the service connectivity for the above mentioned APIs 204. These drivers
205/206 enable the applications deployed in the container 201 to access different
implementations of given services. Initially most of these drivers are likely to be
implemented by a container vendor for its own implementation of services like MMSC,
WAPG and the like. But eventually drivers would be written for different service implementation
from different vendors, particularly when no standards have been defined for these
services.
[0035] One aspect of these drivers 205/206 is that they provide bi-directional, synchronous,
asynchronous connectivity between these external services and their clients executing
within the container. These drivers are also capable of handling protocol conversions
and multi-layered protocol stacks and Figure 5 below shows a genetic architecture
of such a driver.
[0036] The driver management sub-system 205/206 is a framework for implementing specific
service access drivers that conform to the specific API defined as a part of the API
subsystem. This management sub-system is also responsible for locating, loading and
unloading appropriate drivers for the users of the APIs and is further connected to
common services 216.
[0037] The core layer 210 further includes a mobile service resource manager 207 and a service
discovery lookup and publisher module 208. The mobile service resource manager 207
is responsible for managing things like external services and allowing sharing of
resources between applications. The mobile service resource manager 207 is also connected
to the externally deployed mobile services 212 as well as the common services 216.
The service discovery lookup and publisher module is connected to service registration
discovery and lookup infrastructure 214.
[0038] The mobile service resource manager 207 is responsible for locating and managing
access to other container and non-container based mobile services on the network.
The resource management subsystem 207 with service discovery lookup and publisher
208 are responsible for lookup, discovery, acquisition, and utilization of various
external services. The term "external" means services that are deployed outside a
specific container instance. Therefore such services may also include services deployed
in another container. When an application or a service running in a specific container
instance needs an external enabler service, it may use the resource manager 207 to
locate such a resource. The resource manager 207 is responsible for locating service
resources on the operator's network and ensuring that they are utilized effectively
by various requesting applications and services running in the container. One of the
primary ways for resource manager 207 to ensure that resources are used efficiently
is by pooling resource connections for use by requesting applications and services
in the container as is known in the art. Effective use means that the connections
to these external resources are shared between these clients whenever appropriate.
The lookup and discovery mechanisms based technology (such as JINI) in module 208
enables the resource manager 207 to deal with potential unreliability in the network
where remote services may join or leave the network at different times due to various
reasons, including network, hardware, and software failures in a JAVA-based implementation.
JINI is a network technology from Sun that provides mechanisms that enable services
to fit together to form one or more communities where services may spontaneously come
and go and interact through well-defined interaction protocols.
[0039] Figure 3 presents a logical architecture for a Java based implementation of the container.
It leverages the established J2EE framework to provide the execution environment and
the infrastructure service support for the services and applications deployed in the
container. In this representation, J2EE framework provides the foundation layer for
the mobile application service container 210. The Java container 302 contains APIs
and drivers. The APIs and drivers 301 in the container 302 are connected to the external
infrastructure services 215. Further, Figure 3 shows examples of mobile service resource
APIs 204 which may be Java APIs for various standard mobile services. These Java APIs
may be standardized across multiple vendor providers.
[0040] By using the J2EE framework as a foundation layer, many of the standard application
service functionalities can be obtained directly from the J2EE framework, which defines
a standard set of enterprise class service APIs for tasks such as database access,
transaction management, and the like. The availability of a large number of J2SE-based
(Java 2 standard edition) or J2EE-based (Java 2 enterprise edition) APIs and their
implementations provide the container with access to standard infrastructure resources
such as databases, message stores, and other external services, including IN services
(intelligent network services including toll free numbers and the like) accessible
through JAIN APIs. JAIN APIs are a set of JAVA APIs supporting IN services.
[0041] The mobile application service container 201 may also be implemented using a non-Java
platform. In such a scenario, the foundation layer functionalities provided in the
infrastructure services and serve enablers module 209 would need to be provided.
[0042] Figure 4 provides a more detailed view of various components to the modules of Figure
3. Mobile service resource APIs 204 includes APIs such as a charging API (that handles
cost accounting responsibilities), a profile API (that handles identification responsibilities
for identifying users to the system), an SMSC API (that handles short messaging services),
a MMSC API (that handles multimedia and messaging services with mobile terminals),
and a WAPG API (that handles wireless application protocol-based interaction). The
common services 216 module includes additional resources including event handling,
configuration, and other resources as are known in the relevant field. The mobile
service resource drivers 206 are shown with multiple drivers, with a generic driver
shown in greater detail in Figure 5. The interfaces for SMSC, MMSC, and WAPG have
some of standardization. For example, MMSC interfaces are being standardized. There
are multiple SMSC protocol standards from various vendors. The WAPG service interface
typically has proprietary extensions by different vendors. Another aspect with the
present invention is that most of the current services standardization effort is done
at a protocol interface level, where as the container requires standardization or
unification at the API (application programming interface) level. In aspects of the
present invention, the API and the accompanying drivers are built on top of these
protocol interfaces. In some examples, such APIs may have been standardized through
forums such as the Java Community Process (for Java-based solutions).
[0043] Externally deployed mobile services 212 are shown in Figure 4 including various services
including, but not limited to, profiling services, cost accounting and charging center
services, WAPG services, SMSC services, MMSC services, and OSA services. The external
service registration discovery and lookup infrastructure includes JINI services.
[0044] Finally in Figure 4, a J2EE based foundation layer is capable of supporting JAIN
APIs 401 that provide the ability to access intelligent network (IN) services 402.
[0045] Figure 5 shows a generic driver 501 that belongs to the group of mobile resource
drivers 206. From the conceptual architectural viewpoint, the generic driver may include
an invocation handler 502, a callback registration mechanism 503, and a callback handler
504.
[0046] Figure 6 shows the architecture of Figure 4 with different instances/examples of
deployed services 203 being deployed as services A, B, and C. Also examples of external
infrastructure services 215 are shown as a collection of database, mail and store,
and other services.
[0047] Figure 7 presents an example of how multiple instances of mobile application service
containers may be deployed in a mobile network. Network 700 includes a service registration
discovery and lookup infrastructure 705. Four instances of container 201 exchange
information with the service registration discovery and lookup infrastructure 705.
Container instance 1 701 includes services A, B, and C. Container instance 2 702 contains
presence, location, and terminal management services. Container instance 3 703 contains
services D and E. Container instance 4 704 includes common services. Among the four
container instances 701-704, there is only one occurrence of each of the unique services.
They are distributed around the network 700. Accordingly, and if a mobile user needs
to access a service, a request from the mobile user will be sent to the service registration
discovery and lookup infrastructure 705 and then to the appropriate container instance
housing the desired service. In addition to the services provided in the container
instances, other services including infrastructure services 708 and databases, message
stores, and directories 709 may be available to the network 700 as well. Finally,
non-container based mobile services (for example from a variety of vendors) 706 and
other control centers (profile, MMSC, SMSC, WAPG, and the like) 707 may be available
to the network 700. The services distributed about network 700 and maybe done so in
a manner that is dictated by load and available computational resources.
[0048] Figure 8 is a further variation of Figure 7 in which container 1 701 includes presence,
location, and terminal management APIs and drivers. Here, container 1 701 contains
the APIs and drivers for interaction with the services provided in container instance
2 702. The container instance 3 703 includes service A and presence APIs and drivers.
Here, container instance 3 703 includes the APIs and drivers for interacting with
the services found in container instance 1 701 and container instance 2 702. Because
additional APIs and drivers may be dispersed throughout the network, a greater level
of interoperability is provided for users when network load becomes high or divergent
services are provided on the framework. In some aspects, container-based services
may also publish APIs to others for use with the services provided by the originating
container instance. To enhance efficiency, in some aspects drivers may be distributed
to promote efficiencies for the client in interacting with services. This may be dependent
on whether the framework is Java-based or non-Java-based, as the drivers may not be
needed if using a Java-based container.
[0049] Figure 9 is a high level overview of an operator's network 902 where container-based
services 903-905 (forming network 901) are deployed among non-container based services
906 and 907. Here, in Figure 9 then, the containers are capable of mutual discovery
and lookup. Within this network 901 the services found in the deployed service containers
903-905 are capable of operating in a federation of loosely connected nodes where
services are able to dynamically join and leave the network 901. Fail over and recovery
are handled by routing service requests to other serving nodes (containers) in the
network 901. Services may be able to dynamically join the network by registering the
registration/discovery/lookup subsystem when the service starts up. It remains registered
by periodic notification. Similarly, it can leave the network by indicating to the
same subsystem that it is leaving the system or it simply fails to provide periodic
notification due to a crash. Capabilities like these are provided by services like
JINI, as described above.
[0050] Figure 10 shows a process of migrating a service vendor's existing mobile services
solution to a form extensible to a mobile application service container. In step 1001,
the foundation is created for a service container. This may include defining a Java
API for non-Java services (for example, third party or otherwise). This step may also
begin the implementation of the drivers for these services.
[0051] Once the APIs for commonly used services are defined, specific drivers may be implemented
for mapping a service API to one or more specific implementations. Those services
themselves may be implemented in Java/C++/etc. and may be communicated with using
RMI, CORBA, HTTP, SMTP, and other protocols. The driver is responsible for hiding
the implementation details behind the published API. For situations where protocols
exposed by the services are standardized, only one implementation of a driver may
be sufficient. In other non-standard situations multiple drivers may be needed to
bridge the gap.
[0052] Next, in step 1002, components are identified for use with the mobile application
service containers. This may include identification of the component boundaries of
existing Java services. Where the existing Java services do not cover new services,
new Java handlers may be created.
[0053] Next in step 1003, the Java services are adjusted to comport with the new mobile
application service container. This may include remotely enabling services for a distributed
deployment. This may also include creating new Java services distributing them about
the network. If needed, Java API and client handlers may be defined for uniform access
with callback mechanisms for use by the service clients. If alternative implementations
are going to be used of a singular service, then separate APIs may be defined to support
the alternate implementations. This may also include retrofitting applications and
services to run in the container when making them use defined APIs and drivers for
other previously defined services.
[0054] Next, the containers with the services are deployed in step 1004 or the services
are deployed to existing containers. A deployment strategy may be applied to how the
services or the containers with the services (for example supplying redundant containers
to heavy network traffic areas) are distributed.
[0055] Next, new mobile services are added to the infrastructure in step 1005. Preferably
a standard set of APIs is used to access non-Java services. In most instances, custom
implementation of access mechanisms is not needed.
[0056] Finally, the process returns from step 1005 to step 1003 to the re-engineering of
Java-based services to ensure compliance with the mobile application service container
model.
[0057] Referring again to Figure 2, suppose that the externally deployed mobile services
212 want to make use of the container 201. An example of a process used to retool
how services are integral container 201 is set forth in relation to Figure 10. Here,
the existing services are modified to use the same container-defined APIs instead
of their own legacy APIs. In some situations such changes may be trivial, particularly
when the API in question has already been standardized. However, this may involve
a significant reworking of the functionality of the external services 212. The services
developed using the container framework may then be deployed using single or multiple
instances of the container depending on the expected service load and available computing
hardware resources as shown in Figures 7 and 8.
[0058] As new and legacy services are defined and deployed in association with the container
201, they will need to provide mutual accessibility by publishing their own APIs and
drivers, when appropriate (Figure 8). These APIs may eventually evolve to some form
of standardized definition, particularly when the possibility of alternate implementations
exists.
[0059] Although the invention has been defined using the appended claims, these claims are
illustrative in that the invention may be intended to include the elements and steps
described herein in any combination or sub combination. Accordingly, there are any
number of alternative combinations for defining the invention, which incorporate one
or more elements from the specification, including the description, claims, and drawings,
in various combinations or sub combinations. It will be apparent to those skilled
in the relevant technology, in light of the present specification, that alternate
combinations of aspects of the invention, either alone or in combination with one
or more elements or steps defined herein, may be utilized as modifications or alterations
of the invention or as part of the invention. It may be intended that the written
description of the invention contained herein cover all such modifications and alterations.
1. A computer readable medium having a program stored thereon, said program comprising:
a foundation layer (211) having infrastructure services (209) configured to support
mobile services (215); and
a core layer (210) having a driver manager (206) and a resource manager (207), said
resource manager (207) including a service discovery lookup and publisher (208) configured
to discover external services (212) deployed in a network (104), said resource manager
(207) being configured to locate at least one of said external services (212) in said
network (104) and manage access to at least one of said external services (212), and
said core layer (210) being configured to interact with a core layer of one or more
containers in said network (104) to obtain information regarding said external services
(212);
wherein said program, when executed, causes the formation of at least one container
(302) for supporting distributed mobile services across said network (104).
2. The computer readable medium according to claim 1, further comprising:
resource application programming configured to interface exchanging information with
said resource manager (207) and at least one deployed mobile service (203, 212).
3. The computer readable medium according to claim 2, wherein said core layer (210) and
said foundation layer (211) form a mobile application service container (201) configured
to support said at least one deployed mobile service (203, 212) communicating with
at least one mobile service client (213).
4. The computer readable medium according to claim 1, wherein said resource manager (207)
is configured to communicate with at least one of said external services (212).
5. The computer readable medium according to claim 1, wherein said driver manager (206)
is configured to communicate with at least one of said external services (212).
6. The computer readable medium according to claim 1, wherein said foundation layer includes
a Java container.
7. The computer readable medium according to claim 1, wherein said foundation layer includes
a non Java container.
8. The computer readable medium according to claim 1, wherein said discovery lookup and
publisher module (208) is configured to communicate with a service registration discovery
and lookup infrastructure (214).
9. An apparatus comprising a computer readable medium according to any of the preceding
claims, configured to execute said program.
1. Computerlesbares Medium, auf dem ein Programm gespeichert ist, wobei das Programm
Folgendes umfasst:
eine Foundationschicht (211) mit Infrastrukturdiensten (209), die dafür eingerichtet
sind, Mobilfunkdienste (215) zu unterstützen; und
eine Kernschicht (210) mit einem Treibermanager (206) und einem Ressourcenmanager
(207), wobei der Ressourcenmanager (207) ein Modul für das Auffinden, Lookup und Bekanntmachen
von Diensten (208) umfasst, das dafür eingerichtet ist, externe Dienste (212) aufzufinden,
die in einem Netz (104) angeboten werden, wobei der Ressourcenmanager (207) dafür
eingerichtet ist, wenigstens einen der externen Dienste (212) in dem Netz (104) zu
lokalisieren und den Zugriff auf wenigstens einen der externen Dienste (212) zu verwalten,
und wobei die Kernschicht (210) dafür eingerichtet ist, mit einer Kernschicht aus
einem oder mehreren Containern in dem Netz (104) zusammenzuarbeiten, um Information
zu erhalten, die diese externen Dienste (212) betrifft;
wobei das Programm, wenn es ausgeführt wird, das Ausbilden wenigstens eines Containers
(302) zur Unterstützung von verteilten Mobilfunkdiensten über das Netz (104) hinweg
bewirkt.
2. Computerlesbares Medium nach Anspruch 1, außerdem Folgendes umfassend:
eine Ressourcenanwendungsprogrammierung, die dafür eingerichtet ist, eine Schnittstelle
für den Informationsaustausch mit dem Ressourcenmanager (207) und wenigstens einem
angebotenen Mobilfunkdienst (203, 212) zu bilden.
3. Computerlesbares Medium nach Anspruch 2, wobei die Kernschicht (210) und die Foundationschicht
(211) einen Mobilfunk-Anwendungsdienst-Container (201) bilden, der dafür eingerichtet
ist, wenigstens einen angebotenen Mobilfunkdienst (203, 212) zu unterstützen, der
mit wenigstens einem Mobilfunkdienst-Client (213) kommuniziert.
4. Computerlesbares Medium nach Anspruch 1, wobei der Ressourcenmanager (207) dafür eingerichtet
ist, mit wenigstens einem der externen Dienste (212) zu kommunizieren.
5. Computerlesbares Medium nach Anspruch 1, wobei der Treibermanager (206) dafür eingerichtet
ist, mit wenigstens einem der externen Dienste (212) zu kommunizieren.
6. Computerlesbares Medium nach Anspruch 1, wobei die Foundationschicht einen Java-Container
umfasst.
7. Computerlesbares Medium nach Anspruch 1, wobei die Foundationschicht einen Nicht-Java-Container
umfasst.
8. Computerlesbares Medium nach Anspruch 1, wobei das Modul für das Auffinden, Lookup
und Bekanntmachen (208) dafür eingerichtet ist, mit einer Infrastruktur für das Registrieren,
Auffinden und Lookup von Diensten (214) zu kommunizieren.
9. Vorrichtung, die ein computerlesbares Medium nach einem der vorhergehenden Ansprüche
umfasst und die dafür eingerichtet ist, das Programm auszuführen.
1. Support lisible par ordinateur sur lequel est stocké un programme, ledit programme
comprenant :
une couche de base (211) présentant des services d'infrastructure (209) configurés
de manière à prendre en charge des services mobiles (215) ; et
une couche centrale (210) présentant un gestionnaire de pilotes (206) et un gestionnaire
de ressources (207), ledit gestionnaire de ressources (207) comprenant un module de
publication et de consultation de découverte de services (208) configuré de manière
à découvrir des services externes (212) déployés dans un réseau (104), ledit gestionnaire
de ressources (207) étant configuré de manière à localiser au moins l'un desdits services
externes (212) dans ledit réseau (104) et à gérer l'accès à au moins l'un desdits
services externes (212), et ladite couche centrale (210) étant configurée de manière
à interagir avec une couche centrale d'un ou plusieurs conteneurs dans ledit réseau
(104), en vue d'obtenir des informations concernant lesdits services externes (212)
;
dans lequel ledit programme, lorsqu'il est exécuté, occasionne la formation d'au moins
un conteneur (302) destiné à prendre en charge des services mobiles distribués à travers
ledit réseau (104).
2. Support lisible par ordinateur selon la revendication 1, comprenant en outre : une
programmation d'application de ressources configurée de manière à interfacer des informations
d'échange avec ledit gestionnaire de ressources (207) et au moins un service mobile
déployé (203, 212).
3. Support lisible par ordinateur selon la revendication 2, dans lequel ladite couche
centrale (210) et ladite couche de base (211) forment un conteneur de service d'application
mobile (201) configuré de manière à prendre en charge ledit au moins un service mobile
déployé (203, 212) en communiquant avec au moins un système client de service mobile
(213).
4. Support lisible par ordinateur selon la revendication 1, dans lequel ledit gestionnaire
de ressources (207) est configuré de manière à communiquer avec au moins l'un desdits
services externes (212).
5. Support lisible par ordinateur selon la revendication 1, dans lequel ledit gestionnaire
de pilotes (206) est configuré de manière à communiquer avec au moins l'un desdits
services externes (212).
6. Support lisible par ordinateur selon la revendication 1, dans lequel ladite couche
de base comprend un conteneur Java.
7. Support lisible par ordinateur selon la revendication 1, dans lequel ladite couche
de base comprend un conteneur non Java.
8. Support lisible par ordinateur selon la revendication 1, dans lequel ledit module
de publication et de consultation de découverte (208) est configuré de manière à communiquer
avec une infrastructure de consultation et de découverte d'enregistrement de service
(214).
9. Dispositif comprenant un support lisible par ordinateur selon l'une quelconque des
revendications précédentes, configuré de manière à exécuter ledit programme.