WBC Service Layer


This is of course the most important layer from a service definition- and delivery point of view. It is realized in both the WBC-SP node and in the user mobile terminal. In the former, it is concerned with organizing the service advertisements in an efficient way in order to reduce the user access time and tuning time. In the latter, the focus is on the MT discovering all services of interest to its user and associating with the ‘best’ wireless access network for each particular teleservice according to predefined user-policies or directly with live interactive user decisions - all of which are supportive of, and enabling of, full user-driven ABC&S paradigm realization. To achieve an extensible, flexible, and intelligent structure, the WBC service layer's architecture is built on three tiers, as shown in Figure 1 and explained below.


Figure 1: The WBC service layer's architecture 

Service Discovery and Maintenance Tier
Taking into account that the Java 2 platform Enterprise Edition / Java 2 platform Micro Edition (J2EE/J2ME) is an effective, hardware-independent platform for building both enterprise applications and portable-devices applications, the WBC service layer was implemented in Java in order to provide system uniformity, distribution, and portability. There are three actors in this tier:
  1. Service providers (xSPs), who submit descriptions of their services to the WBC content database in a competitive way via the WBC-SP web portal;
  2. WBC service provider (WBC-SP), who maintains the roles and databases, and defines WBC broadcasting parameters;
  3. Mobile consumer-users, who discover and associate with ‘best’ services based on their own price/performance preferences specified in their user profiles.
The tier is sub-divided into three sub-tiers:
  1. Presentation sub-tier - which acts as an interface between the actors (WBC-SP, xSPs, users) and the system; Business sub-tier - which follows the delegate design pattern to decouple the business logics and codes, and exposes simpler interfaces for other two tiers; and
  2. Persistence sub-tier - which is concerned with the storing/retrieving of plain old Java objects (POJOs) in/from databases, i.e service descriptions’ database, xSP database, WBC system parameters’ database, broadcasting database, WBC-SP/user intelligent rules’ database, user/terminal profiles’ database, etc.

Figure 2: The three-layer WBC architectural model 

Application Tier
To simply the WBC system design and enable decoupling, in this tier an expert system is implemented which has ‘responsibility’ for maintaining the business logic and WBC algorithms. Present also are a set of application programming interfaces (APIs), such as common APIs, ontology APIs, services’ data processing APIs, intelligent rule-engine APIs etc, which are shared with the other two tiers.

The core WBC algorithms include WBC intelligent schemes for SDs’ collection, clustering, scheduling, indexing, discovery, association, and WBC-IPDC. To uniform the expert knowledge base in the WBC system, an ontology technique is used to describe concepts and their relationships. The design pattern of ontologies follows the singleton design pattern to enable the sharing of the same ontology object among the three tiers. Two ontology types are used: data source ontology and task ontology. To achieve a loose-coupling system and enable WBC data organizing algorithms to run in an intelligent way, a rule-based expert system (knowledge-based system) was designed for facilitating the data broadcasting by the WBC-SP node and data reception by the user mobile terminal (Figure 3). The key advantage of using a rule-based expert system is that the business solutions could be found much more easily, i.e., the end user can change the rules (very close to a natural language) without having to recompile the source code.


Figure 3: The WBC rule-based expert system 
There are two basic elements in the WBC rule-based expert system: facts (all ontologies act as shadow-facts asserted into the working memory) and rules (different area and different time may cause running different rules). On the WBC-SP side, the collecting rule defines the broadcasting frequency of each service description (SD) based on the user access times and advertisements’ fees paid by the service providers; the clustering rule clusters SDs with a category type, frequency, CC/ PP, QoS, scope list etc, and defines the properties of segments (SDs are grouped into fixed-size segments for broadcasting over WBCs); the scheduling rule locates the position of each segment in the broadcasting sequence; the indexing rule generates indexed-segments; and the broadcasting rule determines the broadcasting time for each final sequence. On the mobile user's side, the user profile rule includes three sections: an advertisement-filter rule used for blocking of ‘uninteresting’ services, a discovery rule that discoveries "best" services within a received advertisement (group of services), and an association rule facilitating the association with the "best" (wireless) network/service.

A new advertisements delivery protocol (ADP) for wireless services’ IP Datacasting was proposed in, based on the modified asynchronous layered coding (ALC) protocol. ADP uses a forward error correction with a Reed-Solomon coding scheme to guarantee packet-level reliable data delivery at the WBC service layer.

Multi-Agent System (MAS) Container Tier
This tier acts as an agent run-time environment for facilitating the (wireless) services advertisements’ collection, clustering, scheduling, indexing, broadcasting, discovery, and association with application layer's APIs. A shared blackboard and gateway agent are used for agents’ communication and tiers’ communication respectively.

Based on the foundation for intelligent physical agents (FIPA) framework (Bellifemine et. Al., 2001), MAS job is to provide agent management system (AMS) and directory facilitator (DF) services, ‘yellow pages’ service, message transport service, etc. Each running instance of MAS is called a container with a set of agents. The main WBC container must be always active so that other containers can register with it. All WBC agents (i.e., the collecting agent, clustering agent, scheduling agent, indexing agent, and broadcasting agent - on the WBC-SPnode, and the discovery agent, association agent, and personal profile agent - on the user mobile terminal) use the agent communication language (ACL) for interactions with each other. A content manager performs automatic conversion and check-up operations between the ACL byte stream and ACL ontology Java object. With this communication mechanism, the MAS tier runs in a peer-to-peer mode. A blackboard is used for sharing the information and common static objects. To communicate with other tiers, a gateway agent is used to receive/send messages via a shared message channel. All agents except the personal profile agent are logic-based agents that work with the knowledge-based system for ADA processing. The personal profile agent is a belief-desire-intention (BDI) agent, whose actions depend on the user history records, plans, beliefs/desires, and intentions.


Blackboard - a basic element in expert systems and multi-agent systems, serving as sharing data structure during the execution cycle.

FUTURE RESEARCH DIRECTIONS

The following directions are envisaged for future research. There is much research potential in the new fields of (i) third-party authentication, authorization, and accounting (3P-AAA) and third-party charging and billing (3P-C&B) and (ii) WBCs and ADA. Some ideas and directions are listed in the following. Included also is a suggestion to develop a cross-layer reference communications model to aid in design and analysis of open cross-layer functionalities.

3P-AAA and 3P-C&B
  • Extending 3P-AAA into the area of wireless Ad Hoc networks. This can yield significant 3P-AAA use cases influencing the 3P-C&B requirements. Typical Ad Hoc domain scenarios involving hot-zone wireless heterogeneous architectures are envisaged where mobile terminals use multi-hop techniques to get to a hot zone using intermediate mobile terminals (the latter should benefit from their role in such scenarios, i.e., be paid properly).
  • Research to date has identified and established the basic charging scenarios in CBM-based UCWW by employing inter-3P-AAA-SP signalling. However, when the inter-3P-AAA-SP signalling involves Internet usage, then charging interactions can experience high network latency. To eliminate this problem either further optimization is needed in the 3P-AAA-SP signalling (i.e., compressing the messages where possible) or a new ‘charging agent’ concept should be developed. This new concept would result in the following: (1) the charging occurs in the metering domain (TSP/ANP), (2) the charging agent is downloaded from the 3P-AAA-SP to provide the charging function in the TSP/ANP domain, (3) the charging agent imports the charging rule set from the 3P-AAA-SP, (4) the charging agent imports segments of the consumer account into the metering domain.
  • Elaboration of the C&B framework to support dynamic reconfiguration of applicable metering and pricing policies for specific service, specific user or combination of both, and to support various pricing models according to the service profile, user profile and location, and one-stop billing schemes.
  • Implementation of a C&B system prototype as a discrete service that can be provided by a trusted third-party authentication, authorization and accounting service providers (3P-AAA-SPs).
  • Running trial experiments with the designed prototype in a 4G testbed environment showing good interfacing with the 3P-AAA service, WBC&ADA services, and other (new) types of 4G services (e.g., consumer-oriented ICC service).
WBC and ADA
  • At the WBC Service Layer - Besides the intelligent software architecture already mentioned, other issues for future investigation include:
    • Agent environment: JADE has been used to date to act as an agent environment in the heterogeneous WBC software architecture. However, JADE is a heavy agent platform with a big footprint for executing both the SD collecting, clustering, scheduling, indexing, broadcasting on the server side, and the SD discovery and association on the mobile terminal side. In addition, it does not fully support the BDI agent. Therefore, investigation into lightweight BDI-based Java agent platforms (WBC-BDI) is recommended. Formatting the communication language's messages with WBC-ASN is also recommended, as well as ensuring that the agent platform functions correctly in the following environments: J2SE (Sun Java 2 platform, standard edition 2003), J2ME (Sun J2ME Specification 2009), Android (Google Android Software Development Kit 2008), WinCE (Windows Embedded CE Overview 2008), etc.
    • SD formatting: In order to encode SDs in a more compact way, an efficient abstract syntax notation language based on ASN.1 (WBC-ASN) is suggested. Any design should take into account the requirement for minimizing decoder's power consumption.
    • Rule engine: Resolution of the need to improve the flexibility and scalability could be approached by designing an intelligent SD self-organization lightweight Java rule engine. In suggesting this, we also recommend that the rules configuration file here could be defined with WBC-ASN.
    • ADP: Designing with system scalability in mind, the route of developing the ADP protocol in Java, together with a Java-based Reed-Solomon algorithm being fully implemented is suggested as worthy of investigation.
    • Profile design: To increase security and privacy for WBC-SPs, and mobility and personalization for mobile users, investigation of the benefits from this perspective of a well-structured rule-based profile developed and formatted with WBC-ASN is suggested.
  • At the WBC Link Layer and Physical Layer - Potential broadcast platform solutions include WBC over DVB-H, over DRM, over DAB, etc. Investigations in the technical realization configurations for each have yet to be undertaken. There is little doubt about the potential consumer base into which WBC advertisement may be pushed. Today, for instance, there is an expectation of 300 million DVB-H capable handsets operational by 2009/10.
Cross-Layer Reference Communication Model
Some activities within UCWW, such as end-to-end (E2E) hot access network change (HAC) based on user-driven ABS&S policies, require cross-layer protocol functionality. Other examples include E2E reconfigurability (Z. Boufidis et. al., 2004, Sept), service adaptability (Houssos, N., et. al. 2003), E2E QoS support (Politis, C. al., 2004), ABC&S (O'Droma, M., Ganchev, I, et. al., 2006), user/network/service/terminal profile management, 3P-AAA and related 3P-C&B, and WBC & ADA operation. While this seems to contradict the layering architecture model for designing, planning, implementing and analysing communication protocols, nonetheless, it is the reality and it is worthwhile to structurally allow for it with suitable modifications of the reference models. Such a suitably modified reference communication model is presented in Figure 1

It has similarities with the B-ISDN/ATM reference communication model in that it is a 3D model consisting of three planes: user plane, control plane, and management plane. The new central element, which intersects all three planes, is added to allow for structured cross-layer functionality. This cross-layer core cylinder is a modification ofthat proposed in (Ganchev, I., O'Droma, M., et. al., 2006) and may be visualized as consisting of several parallel mini cylinders each with its own dedicated functionality, e.g., corresponding to the activities already listed above with cross-layer protocol functionality. Formal reflecting of these activities and their cross-layer functionalities into this model will assist their formal design and analysis, and facilitate development of formal and open primitives and APIs.


Figure 1: The proposed cross-layer reference communication model

Related Posts Plugin for WordPress, Blogger...