## 3 The Proposed Architecture
### Information Manager  
The Information Manager as stated above is composed of four components, including Collector, Front Unit, Calculator and Mobile Agent. (1) Collector: This component collects user requests and network status and resource-node information. User requests are submitted to Collector through request nodes. On receiving a user request, Collector sends the request to Scheduler through Mobile Agent (see Figure 2). The resource-node information includes node IP, CPU level, current CPU utilization rate, available memory size, and the length of the waiting queue, in which node IP and CPU level, as static features, will not change during the lifetime of the system being considered. Upon receiving the status and information, e.g., I collected by the Ganglia and represented in rrd data format (*.rrd), Collector transforms I into XML data format and then sends I of the new format to Calculator. The information collected by NWS on each collection is stored as a log file that is represented in text format and can be saved in Data Center directly without data transformation. (2) Front Unit: Due to collecting data/information periodically for resource nodes, the SePCS's \begin{table}
\begin{tabular}{c|c c c c c c} \hline \hline
**Request type** & \multicolumn{2}{c}{**O-level-1**} & \multicolumn{2}{c}{**O-level-2**} & \multicolumn{2}{c}{**Level-3**} \\ \hline  & R1’\% of & R1’\% of & R2’\% of & R2’\% of & Currently & Currently \\  & resources & resources & resources & resources & Serving & serving \\  & currently & currently & currently & currently & Type-3 & Type-2 \\  & Serving Type-3 & Serving Type-2 & Serving Type-3 & Serving Type-3 & Serving Type-2 & req. & req. \\  & requests & requests & requests & requests & requests & req. \\ \hline Type 1 & 1 & 2 & 3 & 4 & 5 & 6 \\ Type 2 & 2 & - & 1 & - & 3 & - \\ \hline \hline \end{tabular}
\end{table} 
Table 8: The preemptive order of type-1 and type-2 requests. The lower the number, the higher the chosen priority. database access frequency is high. Front Unit, as a front-end unit of Data Center, is employed to unify the data access interfaces and avoid redundant data storage, implying that Front Unit on receiving duplicate data, for example, due to a missing ACK, will only keep one and send the one to Data Center. (3) Calculator: Calculator, on receiving the dynamic features periodically collected by Ganglia and NWS and delivered through Collector, stores the features in its local buffer. It also periodically retrieves the performance table through Front Unit, and then calculates the performance score by invoking Equation (1) for each node currently under the wireless coverage of the underlying system. After that, Calculator classifies the nodes into the corresponding performance levels by calculating their performance scores, based on the score tables mentioned above (see Tables 2-6). Further, it assigns a unique ID to a newly arriving node, and creates a tuple for the node. For the nodes that leave the system, their resource-node information will no longer appear in Calculator's buffer, and their corresponding tuples in the performance table will be deleted. Of course, the requests assigned to them will be re-enqueued to the global queues. Lastly, it stores the newly updated performance table into Data Center, and sends a performance-table-newly-updated message to Resource Broker. (4) Mobile Agent: It is the contact window of the Information Manager. When Resource Broker receives a performance-table-newly-updated message from Calculator during its resource allocation or it would like to allocate resources to user requests, it sends a search request to Mobile Agent, which on receiving the request moves to Front Unit to retrieve the performance table from Data Center, and then delivers the table to Resource Broker. Resource Broker chooses the suitable resource nodes, informs the nodes to take over the requests, and sends the IPs of the resource nodes to the request nodes, all through Mobile Agent.