# The Design and Implementation of Multiterminal Based Proactive Information Delivery System

Authors: Shixiong Xia; Guan Yuan; Yanmei Zhang
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

Currently, the development of various communication terminal devices has greatly promoted people’s daily life, while information using efficiency with these devices decreases rapidly due to the information overload. To solve this problem, a multiterminal based proactive information delivery system (MPIDS) is designed and implemented in this paper. Firstly, users’ interests are computed comprehensively from the historical data, taking full consideration of users’ behaviors when visiting web pages. Secondly, a proactive information monitor service is introduced to monitor users’ data requirements and their interest changes, with which, user data are pushed to their online device automatically according to the strategies. Finally, a data self-adapter is given to encode and transform the data according to users’ online parameters and a series of data self-adaptive strategies. The experimental results show that MPIDS provides richly featured, secure, and robust personalized functions, reduces the running cost, and promotes the end-user experience and business efficiency.


---

## Body

## 1. Introduction

Currently, the internet, because of its rapid growth in the scale and coverage, has brought a serious problem of information overload. It is hard for users to find what they really want when large amount of information appears at the same time. Therefore, the information using efficiency is declining regrettably [1]. Meanwhile, because of the development of wireless technology and the popularization of wireless communications devices, people are no longer satisfied with the traditional way of accessing the information. With the update and evolution of the smart hand held device, such as mobile phone and Personal Digital Assistant (PDA), all kinds of hand held communication device are becoming popular in the society. Meanwhile, the arrival of information era leads to an explosive expansion of data resource, and users cannot find their useful information. Therefore, how to deliver the personalized information to users quickly, proactively, and accurately according to their information requirement and online state becomes an attractive topic [2]. Currently, a lot of work has been done on the personalized information recommendation, while the system theory and prototype still cannot meet the demand of internet users [3].Personalized recommendation is a service mode that can meet the demand of the individual users [4]. Currently, personalized recommendation is widely used in many domains, such as news sites and knowledge-based systems. Song et al. proposed a framework of user profile of personalized service for digital library [3]. Yang et al. gave collaborative filtering and recommendation algorithm based on matrix factorization and user nearest neighbor model to find similar users and their interests [4, 5]. In literature [6], we put forward the architecture of multiterminal based proactive information supply system which is the foundation of this research. In order to fully solve the problems of information utilization, in this paper, a multiterminal based proactive information delivery system (MPIDS) is designed on the basis of our previous work [6–10]. We hope that through the MPIDS, data can be sent to users timely, correctly, and proactively.The framework of MPDIS is given in Figure1. From the figure, we can see that there are mainly three modules in the MPDIS: (1) user interests computing and updating module; (2) proactive information monitor module; (3) data self-adaptive module. The processes of design and implementation are discussed in detail in Sections 2, 3, and 4.Figure 1
Framework of the MPDIS.As shown in Figure1, we can see that MPIDS is a richly featured and robust personalized service, and it can bring down the running cost and promote the end-users experience and their business efficiency. Users, especially those of information intensive system such as e-commerce and e-learning, often cannot find information they really need conveniently through the communication devices. Therefore, through using MPDIS, end users can get information they need anywhere and anytime by their various communication devices. In this information intensive system, users’ logs can be collected easily. With their logs, MPDIS can compute their interests through their recorded behavior when visiting data pages. According to their interests, proactive information service monitors user information requirements, then it retrieves users’ online state and selects proper push strategies, and at last it submits the information to data self-adaptive module. When data self-adaptive module receives the information from proactive information service, it will collect the environment parameters and retreat the source files to meet the requirement of user terminal devices, and then it will push the messages to the corresponding users.This paper is organized as follows. In the second section, a users’ interest discovery approach is given to compute user interests in a comprehensive viewpoint. In Section3, on the basis of users’ interests, user data is retrieved and generated in a self-adaptive way. An approach of push strategy abstraction is presented in Section 4 according to users’ interests. The experimental results of the designed system are given in Section 5. Finally, our work of this paper is summarized in the last section.


## 2. User Interests Discovery

In this section, we give an approach to compute users’ interests by analyzing their history data. As shown in Figure1, this part is corresponding to the first module in MPDIS.


### 2.1. User Interest Computing

Definition 1.
User-page-time visited matrix, UPTV(n, i, j): it means that user n visited the ith page at the jth time frame. The value of each item is a visit transaction set to certain page. U={u∈U∣uid,name,…} denotes the users’ information. P={p∈P∣size,path,no,…,Nre,Tre,Nce} denotes the page data, where Nre is the user referenced reading count, Tre is the user referenced reading time, and Nce is the user referenced rollback count. T={t∈T∣tmin,…,tmax} is the time frame. V={TansSet} denotes the users access transaction set, denoting C=|V| as the reading count of a user. Therefore, Tans={tans∣pageno,uid,…,Cs,Nr,Tr,Nc} is a transaction that a user visited a page, where Cs is whether the user saved or copied the page, Nr is reading count in a transaction, Tr is reading time, and Nc is the rollback count. The UPTV matrix is shown in Figure 2.Figure 2
UPTV matrix.Definition 2.
User behavior weightBW,BW=[ωr,ωt,ωc,ωl,ωs]T: it means the weight of visit time, reading count, rollback count, reading time, and copy and save, respectively.According to the definition above, we can obtain the interest degree of a pageωid=(V/P)*BW. By introducing BW, V, P and C, we can get the comprehensive user interest degree as
(1)ωid=ωrNrNre+ωtTrTre+ωcNcNce+ωlC+ωsCs,
where ωid is the value of interesting degree. Then we should adjust and update users’ interest by gradual forgetting algorithm.We define gradual forgetting functionh(t) to denote the change of users’ interests with time. With h(t), the weight of each observed interest feature can be generated according to its time sequence. h(t) is designed with a nonlinear function as
(2)h(t)=m×(t-tmintmax-tmin)2+1-m,
where tmin and tmax are the first time and the last time when the user visited the page (tmin≤t≤tmax). h(t) can be viewed as the amount of users’ information still obtained, and m is forgetting coefficient, also can be denoted as the forgetting speed, m∈[0,1]. When m=0, nothing is forgotten; when m=1, everything is working with fully forgotten mechanism (0<h(t)<1).After giving the gradual forgetting functionh(t), we can compute the time-aware user interest degree (ID) on each page. The calculation formula is given as
(3)IDn,j=∑ttmaxωid*h(t).IDn,j denotes the interest degree of user n on page j. Through using (3), a user-page visited matrix (UPV) can be generated according to UPTV. The detailed UPV is given in Figure 3.Figure 3
User interest matrix of UPV.If we recommend information on the basis of UPV, there will be great redundancy. In fact, many pages belong to a meaningful topic; for example,p1, p2, p3, p4, and p5 are all of the same topic m (Tm); therefore, a user may have a overall interest degree on Tm. The overall interest degree given in formula (4) can be denoted by (ID¯):
(4)I-D-n,m=1|Tm|∑p∈Tm|Tm|IDn,j,
where Tm is the set of pages which all belong to topic m and |Tm| is the page count of topic m. I-D-n,m  denotes the overall degree that user n interests in topic m. By using (4), we can get user-topic visited matrix UTV(n,m), as shown in Figure 4.Figure 4
User interest matrix of UTV.


### 2.2. User Interests Updating

With the users interesting topics matrix, we can find user interested contents easily and dynamically, and more detailed implementation can be found in literature [7]. As we know users’ interests may change gradually as their knowledge improves. Therefore, user interests updating is very important for MPDIS. Two ways are used  to update users’ interest. (1) Collecting the changes of user profile: if users change their profiles or interesting topics, the MPDIS will automatically update users’ interests list. (2) User interest recomputing: we install a timer in the service to monitor users log changes in fixed time interval; if the changes are great enough, then the timer will start the process of interests recomputing and update user interests list. We now realize that if the log grows explosively, recomputing will cost a lot of time beyond enduring. Therefore, user interests online updating or incremental computing will be carried out in our future work.


## 2.1. User Interest Computing

Definition 1.
User-page-time visited matrix, UPTV(n, i, j): it means that user n visited the ith page at the jth time frame. The value of each item is a visit transaction set to certain page. U={u∈U∣uid,name,…} denotes the users’ information. P={p∈P∣size,path,no,…,Nre,Tre,Nce} denotes the page data, where Nre is the user referenced reading count, Tre is the user referenced reading time, and Nce is the user referenced rollback count. T={t∈T∣tmin,…,tmax} is the time frame. V={TansSet} denotes the users access transaction set, denoting C=|V| as the reading count of a user. Therefore, Tans={tans∣pageno,uid,…,Cs,Nr,Tr,Nc} is a transaction that a user visited a page, where Cs is whether the user saved or copied the page, Nr is reading count in a transaction, Tr is reading time, and Nc is the rollback count. The UPTV matrix is shown in Figure 2.Figure 2
UPTV matrix.Definition 2.
User behavior weightBW,BW=[ωr,ωt,ωc,ωl,ωs]T: it means the weight of visit time, reading count, rollback count, reading time, and copy and save, respectively.According to the definition above, we can obtain the interest degree of a pageωid=(V/P)*BW. By introducing BW, V, P and C, we can get the comprehensive user interest degree as
(1)ωid=ωrNrNre+ωtTrTre+ωcNcNce+ωlC+ωsCs,
where ωid is the value of interesting degree. Then we should adjust and update users’ interest by gradual forgetting algorithm.We define gradual forgetting functionh(t) to denote the change of users’ interests with time. With h(t), the weight of each observed interest feature can be generated according to its time sequence. h(t) is designed with a nonlinear function as
(2)h(t)=m×(t-tmintmax-tmin)2+1-m,
where tmin and tmax are the first time and the last time when the user visited the page (tmin≤t≤tmax). h(t) can be viewed as the amount of users’ information still obtained, and m is forgetting coefficient, also can be denoted as the forgetting speed, m∈[0,1]. When m=0, nothing is forgotten; when m=1, everything is working with fully forgotten mechanism (0<h(t)<1).After giving the gradual forgetting functionh(t), we can compute the time-aware user interest degree (ID) on each page. The calculation formula is given as
(3)IDn,j=∑ttmaxωid*h(t).IDn,j denotes the interest degree of user n on page j. Through using (3), a user-page visited matrix (UPV) can be generated according to UPTV. The detailed UPV is given in Figure 3.Figure 3
User interest matrix of UPV.If we recommend information on the basis of UPV, there will be great redundancy. In fact, many pages belong to a meaningful topic; for example,p1, p2, p3, p4, and p5 are all of the same topic m (Tm); therefore, a user may have a overall interest degree on Tm. The overall interest degree given in formula (4) can be denoted by (ID¯):
(4)I-D-n,m=1|Tm|∑p∈Tm|Tm|IDn,j,
where Tm is the set of pages which all belong to topic m and |Tm| is the page count of topic m. I-D-n,m  denotes the overall degree that user n interests in topic m. By using (4), we can get user-topic visited matrix UTV(n,m), as shown in Figure 4.Figure 4
User interest matrix of UTV.


## 2.2. User Interests Updating

With the users interesting topics matrix, we can find user interested contents easily and dynamically, and more detailed implementation can be found in literature [7]. As we know users’ interests may change gradually as their knowledge improves. Therefore, user interests updating is very important for MPDIS. Two ways are used  to update users’ interest. (1) Collecting the changes of user profile: if users change their profiles or interesting topics, the MPDIS will automatically update users’ interests list. (2) User interest recomputing: we install a timer in the service to monitor users log changes in fixed time interval; if the changes are great enough, then the timer will start the process of interests recomputing and update user interests list. We now realize that if the log grows explosively, recomputing will cost a lot of time beyond enduring. Therefore, user interests online updating or incremental computing will be carried out in our future work.


## 3. Proactive Information Monitor

In order to visit information anywhere and anytime, the MPDIS should monitor the newly changed user data and push the new data to users’ online terminals according to their interests. Therefore, we design and implement a proactive data delivery modular to satisfy users’ requirement. There are many proactive technologies used in information intensive industries, such as literature [11, 12]. In MPDIS, the detailed proactive information delivery technology is implemented in literature [8], and in the next paragraph, we merely introduce the main idea of the proactive monitor. As shown in Figure 1, the proactive information monitor is corresponding to the second module of MPDIS.In Figure5, the flow of proactive data delivery modular is given to show its work process. From the figure, we can see that this modular is also driven by user data requirement or terminal request, and it works on the basis of data self-adaptive process modular. In fact, there may be several terminals online at the same time for a single user, and different data may be suitable for particular terminal. Therefore, in order to deliver the user data to proper and efficient way, we give the proactive information push strategies to monitor online terminals and push user data to the right terminal. The selection of proactive information push strategies is given in Algorithm 1.Algorithm 1:Proactive information push strategies.
Rules: Push Strategies of Proactive Information
Input: User online state, terminal capabilities, net state
Output:  Proactive push strategies
(1)   The pushed message should be generated according to the online terminal type;
(2)   Web is of the highest priority, mobile message is of the second, and Wap is of the last;
(3)   If user has registered phone num, emergence message should be pushed to mobile as mobile message priority;
(4)   For complex information, push to Web as far as possible;
(5)   If several terminals on line at the same time, MPDIS may push data to all terminals according to user demand;
(6)   For large amount of data, to avoid network congestion the system pushes URL to clients;
(7)   User feedback will determine whether the similar data shall be pushed next time;
(8)   When large amount of information is being pushed, network window should be dynamically
adjusted according to the network state;
(9)   Run several terminal interfaces, load balance is adopted according to state of interfaces;
(10) Due to the instability of network and program, warm boot is adopted when the program has
trouble to ensure the normal work of MPDIS.Figure 5
Flow of proactive information delivery.The proactive information delivery modular is always online to monitor the user data changes and user data requirements. Moreover, the modular also can update users interest changes according to their feedback for the delivered user information.


## 4. Data Self-Adaptive Strategies

For convenience, people visit their interesting data on different terminals, such as Web client and hand held devices. Due to the complexity of internet data and weakness of hand held device. The user data should be further prepared to meet the ability of their various terminals. Data self-adaptation is a complex work in the wireless environment. Lee and Lu discussed how to customize the WAP-based information on mobile networks in [13]. In our previous work [9], we also have studied the data self-adaptation in the wireless environment. On basis of this work, we present a decision algorithm of data self-adaptive process in this section, through which, user data can be abstracted to meet their demand and processed self-adaptively according to terminal capabilities and network Qos. The flow of data self-adaptive process is given in Figure 6.Figure 6
Flow of data self-adaptive process.As shown in Figure1, this part is corresponding to the third module of MPDIS. With the analysis above, the decision algorithm of data self-adaptive process is described in Algorithm 2. Totally 12 steps are included in the algorithm. In the MPDIS, this modular is driven by user data demand. Through retrieving and analyzing terminal capabilities, the user data can be collected and processed adaptively according to the terminal capabilities and the network Qos, and finally the newly generated target file would be dynamically sent to the corresponding terminals.Algorithm 2:Decision algorithm of data self-adaptive process.
Input: Terminal request or user information demand
Output: Adaptive user data
(1)   Receive terminal request or user information demand;
(2)   Get terminal capability list;
(3)   Get flow and other characteristics of network;
(4)   Get user data;
(5)   Traverse user data according to data type and data node;
(6)   Check each node with capability list, if it matches terminal requirement then go to (8) else go to (7);
(7)   Check if data is suitable for the terminal, if true then go to (9) else go to (8);
(8)   Find replacement or deletion strategies and go to (6);
(9)   Adjust data according to terminal capabilities, and discard or replace if adjust to up limit, go to (6);
(10) If the adjusted package match network Qos then go to (6) else go to (11);
(11) Take strategies to adjust data, and then go to (10);
(12) Generate user data according to target file type.From Algorithm2, we can see that the terminal capability is the core for user data self-adaptive processing. With this modular, user data submitted to the terminal will be more suitable and visual experience. In the system, we divide network traffic in to 11 grades, and the user data should be further processed gradually according to the network traffic, through which data package loss can be avoided.


## 5. Experimental Results

In order to validate the proposed technology, we design and implement the MPDIS using Microsoft C# 2008, and four types of terminals are adopted: PC, Pocket PC 2003, Smart Phone, and J618 (a real cell phone). In the experiments, we validate the MPDIS from three aspects accompanied with the three parts of MPDIS. There are analysis of users interest, discovery of terminal capabilities, and guarantee of MPDIS operation.


### 5.1. Analyzing of Users’ Interests

As mentioned in Section2, we compute users’ interests from their historical data. Therefore, we should analyze the correctness of user interests with the data volume. Figure 7 points out the average correctness collected from their feedback as the total data increases with the change in forgetting coefficient (m). From the figure, we can see that with m=0.5 and the maximum data volume, users will get the maximum satisfaction with the user data delivered by MPDIS.Figure 7
User satisfaction with data volume andm.


### 5.2. Discovery of Terminal Capabilities

In order to generate data in a self-adaptive way, terminal abilities should be gathered first. Table1 gives capability list of the main typical terminates used in our experiments. From the table we can see that the J618 is the weakest, because it only supports 8-bit screen depth, and it also has the smallest screen size. While, for web terminal, due to the strong support from PC, it is the strongest terminal.Table 1
Terminal capabilities.
Terminal capabilities
Web
Pocket PC 2003
J618
Smart Phone
ScreenBitDepth
32
24
8
16
InputType
Keyboard
Virtual board
Virtual board
Virtual board
ScreenPixelsWidth
—
240
176
240
ScreenPixelsHeight
—
320
220
640
BrowserType
IE7
MSIE4
Wap
Pocket IE4
Platform
WINXP
WINCE
SymbianOS9
WINCE
PreferredRenderingMime
Text/html
Text/html
Text/wml
Text/html
PreferredImageMime
Image/jpeg
Image/jpeg
Image/jpeg
Image/jpeg
IsMobileDevice
False
True
True
True
SupportFont
True
True
False
True
PreferredRenderingType
html32
html32
wml
html32


### 5.3. Guarantee of MPDIS Operation

As a proactive service, the MPDIS should be nonstop running. Therefore, the ability to guarantee the system stability is very important. However, many preference systems [14] or personalized recommendation systems didnot take this into consideration. In MPDIS, there are many measures used to guarantee the running of the system. The guarantee of PIPS operation is described in Figure 8, and the measures will be discussed in detail, respectively.Figure 8
Guarantee of MPDIS operation.The main guarantee measures used in MPDIS mainly include the following.(1) Process and program monitoring: a watch dog service is developed to ensure the normal operations of MPDIS. There are two mechanisms included in the watch dog: one is handshake mechanism, and the other is data monitoring mechanism. The watch dog service checks the running sate of its host by sending handshake packages in small time intervals continuously and monitoring the signal data written to the database. (2) Error control: if the MPDIS program is running in the abnormal way, the error control mechanism may control the system to autorecovery or autorestart itself to ensure the service running continuously. (3) Load balance and dynamic flow control: load balance is a traffic diversion strategy that deals with such a situation that the system fails to handle when numerous of users are online at the same time. Two queues are adopted in MPDIS to control the internal data flow. If the speed of message processed is faster than that of message received, the system will slow down the process speed to avoid data loss and save memory.


## 5.1. Analyzing of Users’ Interests

As mentioned in Section2, we compute users’ interests from their historical data. Therefore, we should analyze the correctness of user interests with the data volume. Figure 7 points out the average correctness collected from their feedback as the total data increases with the change in forgetting coefficient (m). From the figure, we can see that with m=0.5 and the maximum data volume, users will get the maximum satisfaction with the user data delivered by MPDIS.Figure 7
User satisfaction with data volume andm.


## 5.2. Discovery of Terminal Capabilities

In order to generate data in a self-adaptive way, terminal abilities should be gathered first. Table1 gives capability list of the main typical terminates used in our experiments. From the table we can see that the J618 is the weakest, because it only supports 8-bit screen depth, and it also has the smallest screen size. While, for web terminal, due to the strong support from PC, it is the strongest terminal.Table 1
Terminal capabilities.
Terminal capabilities
Web
Pocket PC 2003
J618
Smart Phone
ScreenBitDepth
32
24
8
16
InputType
Keyboard
Virtual board
Virtual board
Virtual board
ScreenPixelsWidth
—
240
176
240
ScreenPixelsHeight
—
320
220
640
BrowserType
IE7
MSIE4
Wap
Pocket IE4
Platform
WINXP
WINCE
SymbianOS9
WINCE
PreferredRenderingMime
Text/html
Text/html
Text/wml
Text/html
PreferredImageMime
Image/jpeg
Image/jpeg
Image/jpeg
Image/jpeg
IsMobileDevice
False
True
True
True
SupportFont
True
True
False
True
PreferredRenderingType
html32
html32
wml
html32


## 5.3. Guarantee of MPDIS Operation

As a proactive service, the MPDIS should be nonstop running. Therefore, the ability to guarantee the system stability is very important. However, many preference systems [14] or personalized recommendation systems didnot take this into consideration. In MPDIS, there are many measures used to guarantee the running of the system. The guarantee of PIPS operation is described in Figure 8, and the measures will be discussed in detail, respectively.Figure 8
Guarantee of MPDIS operation.The main guarantee measures used in MPDIS mainly include the following.(1) Process and program monitoring: a watch dog service is developed to ensure the normal operations of MPDIS. There are two mechanisms included in the watch dog: one is handshake mechanism, and the other is data monitoring mechanism. The watch dog service checks the running sate of its host by sending handshake packages in small time intervals continuously and monitoring the signal data written to the database. (2) Error control: if the MPDIS program is running in the abnormal way, the error control mechanism may control the system to autorecovery or autorestart itself to ensure the service running continuously. (3) Load balance and dynamic flow control: load balance is a traffic diversion strategy that deals with such a situation that the system fails to handle when numerous of users are online at the same time. Two queues are adopted in MPDIS to control the internal data flow. If the speed of message processed is faster than that of message received, the system will slow down the process speed to avoid data loss and save memory.


## 6. Conclusions

Focusing on the problem of information utilization in the modern society, a proactive information system on multiterminal is designed in this paper. The system firstly computes users’ interests from their historical visit data from a more comprehensive viewpoint. Secondly, it retrieves and generates user data in a self-adaptive way according to their requirement and online terminals. Thirdly, the system automatically updates users’ interests according to their feedback and interests changes and push users data to their terminals accurately and proactively according to their newly updated interests. Finally, the experiments demonstrate the MPDIS can work well in user interest computing and user data retrieving. By using MPDIS, the information can be sent to users in a timely, correct, and proactive way. As too much time was spent in user interests updating, interests online computing or incremental computing will be carried out in our future work to save time and enhance the efficiency.



---

*Source: 379207-2013-10-23.xml*