Heuristics for the automatic identification of irregularities in spreadsheets Spreadsheet programs turned out to be the most popular end-user programming environment that has ever been released. Important decisions are based on the results of spreadsheet programs and the list of known errors with large impact is growing daily-although it surely is only the top of an iceberg.One way out of the crisis might be the introduction of software engineering techniques into spreadsheet development. Suggestions for the improvement of spreadsheet development range back as far as into the late eighties, but none has been successful yet. We argue this is either because not enough effort is put into the roll-out of the technique to the users and, mainly, because they neglect the fact that spreadsheet programmers are end-users, not willing or not able to spend any time on learning software engineering methods. We found out that most end users are willing to verify their spreadsheets, but only view have the time and skills to do really systematic testing of spreadsheets.We developed an approach to generate two orthogonal abstract representations of spreadsheet programs that are then displayed to the user by different visualisation techniques to support the auditing process. Usually, irregularities in the visualisation point out hot-spots on the spreadsheet with a high likelihood of erroneous formulas. In this paper we present new heuristics for identifying hot spots that are very efficient for large spreadsheet programs. It has been shown, that spreadsheets are used by a vast majority of people in the upper-and middle management of today's business world [18, 5] . Hence, it is no surprise that many important decisions are based on the results of spreadsheet programs.. For a software engineer a spreadsheet program is obviously software and thus should be developed obeying some systematic approach and then be carefully tested. For the typical spreadsheet user, who is not a software engineer but usually an expert in the application domain, a spreadsheet program is not considered as software. For them it is a tool for performing calculations and formatting their results. Spreadsheets are often considered as a wordprocessor for numbers, and not as the highly complex data flow program that they really are. Hence, it is not surprising that the end users shy away from software engineering approaches. And that there is a long list of well document spreadsheet-error horror stories, e.g. at the web-page of the European Spreadsheet Risk Interest Group [17] .. Although there are already a couple of possible methods to either enforce a systematic development of spreadsheets, according to software engineering principles (see [4, 14, 22, 15] or to reduce the error rate of already existing spreadsheets, by testing (see [1, 23, 21] ) or auditing (see [3, 24] and other commercially distributed tools), they are still not widely accepted. One reason for the poor acceptance of approaches that require a systematic development of spreadsheet programs is the nature of the spreadsheet as a prototyping tool itself. Another reason for the failure of many testing and auditing approaches is the sheer size of the spreadsheets that are common in industry. In [16] we report of a field study auditing the spreadsheets of a large international company. We examined 78 spreadsheets, with the average spreadsheet containing more than 2400 non-empty cells. Testing the whole spreadsheet, even with the support of current tools and techniques, still remains a tedious task.. These facts are not new, and it was found out earlier by Panko (see [20] ) that checking a spreadsheet is a time consuming and expensive task. Thus, we argue similar to Butler [3] , if time is scarce systematic auditing or testing should be limited to the crucial parts of spreadsheets that are most likely to be to be erroneous. However, it is not trivial to identify these parts in a quick and efficient way. There are some methods that operate on user assessment of the risk and the impact of an error in a certain region of the spreadsheet (see [3] ), but they are subject to the auditors attitude and might not map to the actual erroneous areas of spreadsheet programs. The visualisation approach discussed in [9, 7, 6] offers already an approach to identify certain irregularities of the spreadsheet by means of an comprehensible abstract visualisation of the audited spread-sheet that is always connected with the spreadsheet system's user interface that is familiar to the spreadsheet programmer [10, 8] .. In this paper we want to introduce four new heuristics based on the technique mentioned above, to automatically discover hot-spots in spreadsheet programs where errors are likely to appear. Therefore, we will briefly introduce our abstraction technique in the next section and point out the heuristics to detect hot-spots known so far. In Section 3 we will introduce the four new heuristics, and finally we will shortly discuss the limits of our approach. There are quite a few things that are outside the domain of our work and hence are not touched in this paper. The first, and most obvious is that we are discussing only correctness of formulas-we cannot make any statement about the correctness of the values that are used as input to these formulas. Therefore, we must refer to other techniques.. The approach we propagate aims to support users and auditors by highlighting irregularities in the spreadsheet. These irregularities can be introduced on purpose and not indicate any error at all, whereas other errors might be propagated by subsequent copy-andpaste operations and form a regular pattern by themselves. Hence, in order to make an absolute statement about the correctness of a given spreadsheet program, we have to refer to approaches that promote exhaustive testing of the spreadsheet, like [1, 21] or cellby-cell auditing, like [19] . Visualisation approaches will generally only help the auditors by providing a better understanding of the underlying spreadsheet and highlighting some irregularities.. However, in practice there is only limited time and resources available for the checking of a particular spreadsheet. Applying systematic testing approaches to the areas that are identified as hotspots might be more promising than to apply them to an arbitrary part of the spreadsheet-assuming that we do not have enough resources to exhaustively test the whole program.. The heuristics presented in this paper are meant to offer quick automated checks for a spreadsheet. As there already exists a toolkit to extract logical areas, semantic classes, data modules and the associated SRGs from spreadsheet programs, we aim to extend the toolkit with these automatic checks. Hence, even large spreadsheets can be quickly checked and the attention of the auditor-or the programmer-can be directed to the hot-spots. We also suggest to offer an assistant to spreadsheet users that alerts them, whenever a change to a formula might lead to a hot-spot by any of these heuristics.. Next steps in our research will be the implementation of these heuristics in our prototype and, subsequently, gathering of experimental data. As there is still a threshold parameter required for any of the suggested heuristics, it will also be worth investigating the influence of different values on the rate of identified errors and hot-spots that are not errors at all.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On testing single connectedness in directed graphs and some related problems Let G = (V, E) be a directed graph with n vertices and m edges. The graph G is called singly-connected if for each pair of vertices v, w ∈ V there is at most one simple path from v to w in G. Buchsbaum and Carlisle (1993) gave an algorithm for testing whether G is singly-connected in O(n 2 ) time. In this paper we describe a refined version of this algorithm with running time O(s·t+m), where s and t are the number of sources and sinks, respectively, in the reduced graph G r obtained by first contracting each strongly connected component of G into one vertex and then eliminating vertices of indegree or outdegree 1 by a contraction operation. Moreover, we show that the problem of finding a minimum cardinality edge subset C ⊆ E (respectively, vertex subset F ⊆ V ) whose removal from G leaves a singly-connected graph is NP-hard. Let G = (V, E) be a directed graph with n vertices and m edges. The graph G is called singly-connected if for every pair of vertices v, w ∈ V there is at most one simple path from v to w in G. The problem of testing whether or not G is singly-connected was introduced by Cormen et al. in [3, and [4, . In [1, 2] , Buchsbaum and Carlisle presented an algorithm for solving this problem in O(n 2 ) time. Khuller described in [5] a similar approach for solving the same problem in O(n 2 ) time. Karlin [7] (also see [6] ) also presented a simple O(n 2 ) algorithm for solving the problem.. Let G = (V, E) be a directed graph. By G c = (V c , E c ) we denote the directed graph which is obtained by contracting every strongly connected component of G into a single vertex. The algorithms from [1] and [5] are based on reducing the problem on G to the same problem on the acyclic graph G c . We use G r to denote the graph obtained from G c by eliminating all vertices of indegree or outdegree 1 by contraction operations. A vertex x of G r is called a source if its indegree is 0 and a vertex y of G r is called a sink if its outdegree is 0. By s and t we denote the number of sources and sinks in G r , respectively. In this paper we improve the running time of the algorithms from [1] , [5] from O(n 2 ) to O(s · t + m). We also give an example for a graph where s·t is much bigger than m. The question posed by Khuller [5] whether the problem of testing single connectedness in directed graphs is solvable in linear time remains open.. As mentioned in [2] , it is clear that a singly-connected graph can be obtained from a directed graph which is not singly-connected by removing edges, but the property of singly-connectivity can be ruined by adding edges. We also show that the problem of finding a minimum cardinality edge subset C ⊆ E (respectively, vertex subset F ⊆ V ) whose removal from G leaves a singly-connected graph is NP-hard.. Papers [1] and [5] show the existence of a procedure which has the following behavior:. "not singly-connected" or "Test whether G c is singly-connected". Procedure 1.1 without testing of G c has running time O(m). Paper [1] shows that the acyclic graph G c is singly-connected if and only if for every vertex w ∈ V c the vertex set of the DFS tree rooted at w has neither cross edges nor forward edges. Testing single connectedness of G c in this way takes O(n 2 ) time [1, 5] since there are n calls to DFS, one for each vertex of G c , and one can stop as soon as a forward edge or cross edge appears.. The procedure leads to the situation that we only have to consider acyclic graphs. We give another reduction to be applied after Procedure 1.1 (which can be carried out in time O(m)) to a reduced graph G r , so that G is singlyconnected if and only if G r is. In G r no vertex has indegree or outdegree 1.

O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


An FFT-based signal identification approach for obtaining the propagation constants of the leaky modes in layered media We propose to find the propagation constants of modes in layered media by means of signal identification methods. To this effect we employ Cauchy's theorem, conformal mapping and Fast Fourier Transform (FFT) techniques to generate relevant Hankel moments, afterwards to be processed with selected signal identification algorithms. The method, terminated by a few Newton steps, provides a batch of highly accurate roots in appropriate disks or half-disks. Leaky waves, which are found as complex solutions of the dispersion relation for dielectric waveguides, play an important role in many electromagnetic (EM) analysis tools [1] [2] [3] as well as in practical devices such as leaky wave antennas [4] . Locating the complex zeros, however, can be quite cumbersome, especially when the dielectric substrate consists of a number of different dielectric layers. In this paper, we propose techniques based on signal identification algorithms to efficiently and accurately locate the complex zeros of dispersion relations for layered media. The techniques can be applied for layered substrates consisting of an arbitrary number of layers. The top and bottom substrate can either be open or, for numerical reasons, terminated by a perfectly matched layer (PML) [5] [6] [7] .. Signal identification of exponential sum models (ESM) is a frequently occurring and recurrent topic in signal processing. The reason for this is that many physical signals, from time series in medicine and economics to spectral analysis in astronomy and sonar applications [8, 9] can be expressed as sums of damped exponentials. Moreover, ESM has also been used in EM analysis techniques, e.g. in the complex image method for determining the Green's function in layered media. More mathematically speaking, it can be proved that large classes of signals can be expressed as infinite sums of exponentials, due to their L p completeness over selected intervals [10, 11] . In addition, modelling by exponential sums is inherent in linear systems theory [12] and its underlying Hankel matrix framework [13, 14] . Lastly and rather unexpectedly, exponential signal identification has recently been used for reconstructing polygonal shapes from geometrical moments [15] .. In this paper, we propose to find the roots of transcendental equations by means of signal identification techniques. As a generalization of methods in [16, 17] , we employ Cauchy's theorem, conformal mapping and FFT techniques to generate the relevant Hankel moments, which are afterwards processed with selected signal identification algorithms. Our choice (not exhaustive) is one of the four following algorithms: the Pencil-of-Function method [18] , the SVD rank-based method [9] , the Prony-Burrus-Parks method [19, 20] and a Neville-type interpolation method [21] . Applied to finding the propagation constants of the leaky modes in stratified media, which correspond to the complex zeros of transcendental dispersion relations, the method, terminated by a few Newton steps, provides a batch of highly accurate roots in selected disks or half-disks.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O


A closest vector problem arising in radiation therapy planning In this paper we consider the following closest vector problem. We are given a set of 0-1 vectors, the generators, an integer vector, the target vector, and a nonnegative integer C. Among all vectors that can be written as nonnegative integer linear combinations of the generators, we seek a vector whose ∞ -distance to the target vector does not exceed C, and whose 1 -distance to the target vector is minimum.First, we observe that the problem can be solved in polynomial time provided the generators form a totally unimodular matrix. Second, we prove that this problem is NP-hard to approximate within an O(d) additive error, where d denotes the dimension of the ambient vector space. Third, we obtain a polynomial time algorithm that either proves that the given instance has no feasible solution, or returns a vector whose ∞ -distance to the target vector is within an O( √ d ln d ) additive error of C and whose 1 -distance to the target vector is within an O(d √ d ln d ) additive error of the optimum. This is achieved by randomly rounding an optimal solution to a natural LP relaxation.The closest vector problem arises in the elaboration of radiation therapy plans. In this context, the target is a nonnegative integer matrix and the generators are certain 0-1 matrices whose rows satisfy the consecutive ones property. Here we begin by considering the version of the problem in which the set of generators comprises all those matrices that have on each nonzero row a number of ones that is at least a certain constant. This set of generators encodes the so-called minimum separation constraint. We conclude by giving further results on the approximability of the problem in the context of radiation therapy. Figure 1: A complete treatment unit at Saint-Luc Hospital (Brussels, Belgium).. Nowadays, radiation therapy is one of the most used methods for cancer treatment. The aim is to destroy the cancerous tumor by exposing it to radiation while trying to preserve the normal tissues and the healthy organs located in the radiation field. Radiation is commonly delivered by a linear accelerator (see Figure 1 ) whose arm is capable of doing a complete circle around the patient in order to allow different directions of radiation. In intensity modulated radiation therapy (IMRT) a multileaf collimator (MLC, see Figure 2 ) is used to modulate the radiation beam. This has the effect that radiation can be delivered in a more precise way by forming differently shaped fields and hence improves the quality of the treatment.. After the physician has diagnosed the cancer and has located the tumor as well as the organs located in the radiation field, the planning of the radiation therapy sessions is determined in three steps.. In the first step, a number of appropriate beam directions from which radiation will be delivered is chosen [11] .. Secondly, the intensity function for each direction is determined. This function is encoded as an integer matrix in which each entry represents an elementary part of the radiation beam (called a bixel). The value of each entry is the intensity of the radiation that we want to send through the corresponding bixel.. Finally, the intensity matrix is segmented since the linear accelerator can only send a uniform radiation. This segmentation step mathematically consists in decomposing an m × n intensity matrix (or fluence matrix) A into a nonnegative integer linear combination of certain binary matrices S = (s ij ) that satisfy the consecutive ones property. A vector v ∈ {0, 1} d has the consecutive ones property, if v = 1 and v r = 1 for r imply v j = 1 for all j r. A binary matrix S has the consecutive ones property, if each row of S has the consecutive ones property. Such a binary matrix is called a segment. In this paper, we focus on the case where the MLC is used in the so-called stepand-shoot mode, in which the patient is only irradiated when the leaves are not moving. Actually, segments are generated by the MLC and the segmentation step amounts to finding a sequence of MLC positions (see Figure 3) . The generated intensity modulated field is just a superposition of homogeneous fields shaped by the MLC.. Throughout the paper, [k] denotes the set {1, 2, . . . , k} for a positive integer k, and [ , r] denotes the set { , + 1, . . . , r} for positive integers and r with r. We also allow = r + 1 where [ , r] = ∅. Thus, an m × n matrix S = (s ij ) is a segment if and only if there are integer intervals [ i , r i ] for i ∈ [m] such that. A segmentation of the intensity matrix A is a decomposition. where u j ∈ Z + and S j is a segment for j ∈ [k]. The coefficients are required to be integers because in practice the radiation can only be delivered for times that are multiples of a given unit time, called a monitor unit. In clinical applications, a lot of constraints may arise that reduce the number of deliverable segments. For some technical or dosimetric reasons we might look for decompositions where only a subset of all segments is allowed. Those subsets might be explicitely given or defined by constraints like the interleaf collision constraint (denoted by ICC, also called interleaf motion constraint or interdigitation constraint, see [5] , [6] , [15] and [17] ), the interleaf distance constraint (IDC, see [12] ), the tongue-and-groove constraint (TGC, see [7] , [18] , [19] , [20] , [21] and [25] ), the minimum field size constraint (MFC, see [22] ), or the minimum separation constraint (MSC, see [19] ). For some of those constraints, it is still possible to decompose A exactly using the set of feasible segments (like for the ICC, the IDC and the TGC), for others an exact decomposition might be impossible. In this last case, if S := {S 1 , . . . , S k } is our set of feasible segments, our aim is to find an approximation B that is decomposable with the segments in S, that satisfies. for some given nonnegative integer constant C (possibly, such a matrix B does not exist), and minimizes. The constraint (1) aims at avoiding large bixel-wise differences between target fluence A and realized fluence B (that might lead to undesirable hot spots in the treatment), and the objective (2) measures the total change in fluence with respect to the intensity matrix. Later on in this paper, we will focus on the minimum separation constraint, that imposes a minimum leaf opening λ ∈ . This constraint was first introduced by Kamath, Sahni, Li, Palta and Ranka in [19] , where the problem of determining if it is possible to decompose A or not under the minimum separation constraint was solved. Here we show that the approximation problem under the minimum separation constraint can be solved in polynomial time with a minimum cost flow algorithm.. The approximation problem described above motivates the definition of the following Closest Vector Problem (CVP). Recall that the ∞ -and 1 -norms of a vector x ∈ R d are respectively defined by x ∞ := max i∈ [d] |x i | and. The CVP is stated as follows: We remark that the CVP that is the focus of the present paper differs significantly from the intensively studied CVP on a lattice that is used in cryptography (see, for instance, the recent survey by Micciancio and Regev [24] ).. In order to cope with the NP-hardness of the CVP, we design (polynomial-time, bicriteria) approximation algorithms. For the version of the CVP studied here it is natural to consider approximation algorithms with additive approximation guarantees.. We say that a polynomial-time algorithm is a (∆ ∞ , ∆ 1 )-approximation algorithm for the CVP if it either proves that the given instance has no feasible solution, or returns. where OPT is the cost of an optimal solution 1 . Notice that we cannot expect such an approximation algorithm to always either prove that the given instance is infeasible or return a feasible solution, because deciding whether an instance is feasible or not is NP-complete (this claim holds even when C is a small constant).. The rest of the paper is organized as follows: Section 2 is devoted to general results on the CVP. We start by observing that the particular case where the generators form a totally unimodular matrix is solvable in polynomial time. We also provide a direct reduction to minimum cost flow when the generators have the consecutive ones property. We afterwards show that, when G is a general set of generators, for all ε > 0, the CVP admits no polynomial-time (∆ ∞ , ∆ 1 )-approximation algorithm with ∆ 1 (ln 2 − ε) d, unless P = NP. (This in particular implies that the CVP is NP-hard.) We conclude the section with an analysis of a natural (∆ ∞ , ∆ 1 )-approximation algorithm for the problem based on randomized rounding [23] , with. In Section 3, we focus on the particular instances of the CVP arising in IMRT, as described above. We first show, using results of Section 2, that the problem can be solved in polynomial time when the set of generators encodes the minimum separation constraint. We conclude the section with a further hardness of approximation result in case A is a 2 × n matrix: for some ε > 0, the problem has no polynomial-time (∆ ∞ , ∆ 1 )-approximation algorithm with ∆ 1 ε n, unless P = NP. (Again, this in particular implies that the corresponding restriction of the CVP is NP-hard.). In Section 4, we generalize our results to the case where one does not only want to minimize the total change, but a combination of the total change and the sum of the coefficients u j for j ∈ [k]. In the IMRT context, this sum represents the total time during which the patient is irradiated, called the beam-on time. It is desirable to minimize the beam-on time, for instance, in order to reduce the side effects caused by diffusion of the radiation as much as possible.. Finally, in Section 5, we conclude the paper with some open problems. Here are further questions we leave open for future work:. • Our results confirm that it is worth to solve the natural LP relaxation of the problem (see page 6). This can be done efficiently when the generators are explicitly given. However, in practical applications, the generators are implicitly given. Improving our understanding of when the LP relaxation can still be solved in polynomial-time is a first interesting open question.. • Our second question concerns the tightness of the (in)approximability results developed here, in particular for the case C = ∞. We prove that there is no polynomialtime approximation algorithm with an additive approximation guarantee of (ln 2 − ε) d, unless P = NP. On the other hand, we give a randomized approximation algorithm with an O(d √ d ) additive approximation guarantee. What is the true approximability threshold of the CVP (restricted to instances where C = ∞)?. • Our third question is more algorithmic and concerns the application of the CVP to IMRT. There exists a simple, direct algorithm for checking whether an intensity matrix A can be decomposed exactly under the minimum separation constraint or not [16, 19] . Is there a simple, direct algorithm for approximately decomposing an intensity matrix under this constraint as well?

O B I I O O B I O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O


On stretching the interval simplex-permutohedron A family of polytopes introduced by E.M. Feichtner, A. Postnikov and B. Sturmfels, which were named nestohedra, consists in each dimension of an interval of polytopes starting with a simplex and ending with a permutohedron. This paper investigates a problem of changing and extending the boundaries of these intervals. An iterative application of Feichtner-Kozlov procedure of forming complexes of nested sets is a solution of this problem. By using a simple algebraic presentation of members of nested sets it is possible to avoid the problem of increasing the complexity of the structure of nested curly braces in elements of the produced simplicial complexes. Classification (2010): 05C65, 55U10, 52B11, 52B12, 51M20Mathematics Subject A history of the family of polytopes that appear in the title of this paper under the name "the interval simplex-permutohedron", may be traced to Appendix B of [24] , where Stasheff and Shnider gave a procedure of truncation of an (n − 2)-dimensional simplex, which realizes the associahedron K n as a convex polytope. This procedure implicitly uses the fact that K n , as an abstract polytope, is induced by (constructions of) the graph whose edges connect the neighbour symbols of binary operations in a term with n variables. It is also noted in [24] that this procedure could be modified in order to obtain cyclohedra out of simplices; the edges of graphs that induce cyclohedra would connect the neighbour symbols of binary operations in cyclic terms.. Carr and Devadoss used graphs in [2] more explicitly to define a family of polytopes that includes simplices, associahedra, cyclohedra, permutohedra and many others. This approach, which is based on the concept of tubings is further developed in [6] , [5] and [15] .. Feichtner and Kozlov introduced in [11] the notions of building set and nested set in order to give an abstract framework for the incidence combinatorics occurring in some constructions in algebraic geometry (see for example [4] ). Feichtner and Sturmfels in [13] and Postnikov in [22] used building sets independently, in a more narrow context, to describe the face lattices of a family of simple polytopes named nestohedra in [23] .. An alternative, inductive, approach that leads to the same family of polytopes is given in [10] . This was an independent discovery motivated by some related work done in [7] , [8] and [9] .. For a fixed dimension n, the family of polytopes in question may be considered as an interval starting with an n-dimensional simplex and ending with an n-dimensional permutohedron, while the partial ordering of the interval is induced by the relation ⊆ on the corresponding building sets. Such intervals contain some polytopes, like for example associahedra and cyclohedra, which are widely used in topology and category theory. This is the reason why we give the advantage to the families of simple polytopes (though the corresponding families of simplicial polytopes are easier to handle). However, if one prefers to simplify everything a bit, the mathematical content of the results would not change if we switch to the intervals starting with an ndimensional simplex and ending with the polytope polar to an n-dimensional permutohedron.. This paper gives a solution to the problem of changing and extending these intervals. We find the Feichtner-Kozlov concept of building sets of arbitrary finite-meet semilattices, applied to the case of simplicial complexes, appropriate for this purpose.. In particular, we are interested in iterating the procedure of generating complexes of nested sets. The main obstacle is that every iteration of this procedure increases the complexity of the structure of nested curly braces in elements of the produced simplicial complex. This makes it almost impossible to write down the result of the procedure after just a couple of iterations. We show here how to avoid this problem by using a simple algebraic presentation of the members of nested sets as elements of a freely generated commutative semigroup.. Such an iterated procedure is applied to the boundary complex of a sim-plicial polytope. This provides an opportunity to replace the simplex at the beginning of the interval simplex-permutohedron by an arbitrary simple polytope, which automatically replaces the permutohedron at the end of the interval by some other simple polytope. By iterating the procedure, one obtains interesting families of simplicial complexes. Truncation of a polytope in its proper face is the operation that guarantees that all these simplicial complexes may be realized as the face lattices (with ∅ removed) of some simple polytopes. In dimension 3, locally at each vertex, one may find one of the following six types of truncation (cf. the examples of Section 10). In this section we compare the three approaches given in [13] , [22] and [10] , which all lead to the same family of polytopes. We start with some preliminary notions. Let α 1 , . . . , α n for n ≥ 1 be finite and incomparable (with respect to ⊆) sets. Then C = P (α 1 ) ∪ . . . ∪ P (α n ), where P (α) is the power set of α, is a finite abstract simplicial complex based on the set {α 1 , . . . , α n } of its bases 1 . Since we deal here only with finite abstract simplicial complexes, we call them just simplicial complexes. For C a simplicial complex, we have that C, ∩ is a meet-semilattice that induces the poset C, ⊆ . Depending on a context, by a simplicial complex we usually mean such a meet-semilattice or a poset.. For B a subset of the domain of a function f , we denote by f [B] the set {f (b) | b ∈ B}. It is easy to see that two simplicial complexes C and D are isomorphic as meet-semilattices (or as posets) if and only if there is a bijection ϕ : C → D such that α ∈ C iff ϕ[α] ∈ D (or equivalently, such that α is a basis of C iff ϕ[α] is a basis of D). If ψ is a function such that the above ϕ is its restriction to C, then we say that ψ underlies an isomorphism between C and D. So, we have the following remarks.. Remark 2.0.1. If C is a simplicial complex and ψ is a function such that its restriction to C is one-one, then ψ underlies an isomorphism between C and the simplicial complex {ψ[α] | α ∈ C}. Let α be an arbitrary finite set. According to Definition 7.1 of [22] , a set B of nonempty subsets of α is a building set 2 of P (α) when the following conditions hold:. (B2) B contains all singletons {a}, for a ∈ α.. In the terminology of [10] (Sections 3-4), this notion corresponds to the notion of atomic saturated hypergraph and it is easy to see that this is a restriction to the case of power sets of the more general notion of building sets of arbitrary finite-meet semilattices given in [11] (Definition 2.2).. Let N be a family of sets. As in [10] , we say that {β 1 , . . . , β t } ⊆ N is an N-antichain when t ≥ 2 and β 1 , . . . , β t are incomparable with respect to ⊆. Also, for a family of sets B, we say that an N-antichain {β 1 , . . . , β t } misses B when the union β 1 ∪ . . . ∪ β t does not belong to B.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O B O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Interfacing Ada 95 to Microsoft COM and DCOM technologies COM, the Component Object Model, and DCOM, Distributed COM, were introduced as the underlying technologies of Microsoft's second version of OLE, but have since proven their utility as powerful model for distributed systems. This paper intends to introduce COM and DCOM to the Ada community and demonstrate how to create and use objects that conform to these models. Microsoft introduced Object Linking and Embedding 2 (OLE 2), a collection of objects providing various services for linking and embedding windows application objects. This new version of OLE was built conforming to the Component Object Model (CON[). COM is a specification to provide language independent and location independent objects that expose specific interfaces. As support and tools for creating custom, non OLE COM objects became available, COM began to surface as a very flexible means of implementing dislributed component based programming on Microsoft Windows platforms. Support for COM and Distributed COM (DCOM) has also been made available on a number of non-Microsoft platforms by a product called EntireX from Software AG (http://www.softwareag.com). Ada 95 can directly utilizes the powerful capabilities of COM and DCOM. The major complexities of COM programming are in the initial construction. These examples open the technology and terms to the Ada community to appreciate and incorporate in their projects.. Further work in this area has lead to the creation of examples, tools to automatically generate thick and thin bindings for COM/DCOM objects and reusable frameworks for accessing and creating COM objects. The latest versions are available at http: //www.adapower.com/com.

O O O O O B O O O B O B I I O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O B I I O B O O O O O O O O O O O O O O O O O O O O O O O B B O O O B O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O


Collaborative image retrieval via regularized metric learning In content-based image retrieval (CBIR), relevant images are identified based on their similarities to query images. Most CBIR algorithms are hindered by the semantic gap between the low-level image features used for computing image similarity and the high-level semantic concepts conveyed in images. One way to reduce the semantic gap is to utilize the log data of users' feedback that has been collected by CBIR systems in history, which is also called "collaborative image retrieval." In this paper, we present a novel metric learning approach, named "regularized metric learning," for collaborative image retrieval, which learns a distance metric by exploring the correlation between low-level image features and the log data of users' relevance judgments. Compared to the previous research, a regularization mechanism is used in our algorithm to effectively prevent overfitting. Meanwhile, we formulate the proposed learning algorithm into a semidefinite programming problem, which can be solved very efficiently by existing software packages and is scalable to the size of log data. An extensive set of experiments has been conducted to show that the new algorithm can substantially improve the retrieval accuracy of a baseline CBIR system using Euclidean distance metric, even with a modest amount of log data. The experiment also indicates that the new algorithm is more effective and more efficient than two alternative algorithms, which exploit log data for image retrieval. Content-based image retrieval (CBIR) has been an active research topic in the last decade [9, 24, 30] . Although substantial research has been conducted, CBIR is still an open research topic mainly due to the difficulty in bridging the gap between low-level feature representation and high-level semantic interpretation. Several approaches have been proposed to reduce the semantic gap and to improve the retrieval accuracy of CBIR systems. One promising approach is the online user feedback [1, 6, 10-15, 17, 18, 21, 26-28, 33] . It first solicits users' relevance judgments on the initial retrieval results for a given query image. It then refines the representation of the initial query with acquired user judgments, and re-runs the CBIR algorithm again with the refined representation. However, collecting feedback information in an online manner can be timeconsuming and therefore inconvenient for users. Given the difficulty in learning users' information needs from their relevance feedback, usually multiple rounds of relevance feedback are required before satisfactory results are achieved, which can significantly limit its application to real-world problems.. An alternative approach to bypass the semantic gap is to index image databases with text descriptions and allow users to pose textual queries against image databases. To avoid the excessive amount of labor on manual annotation, automatic image annotation techniques, such as [4, 7, 20, 22] , have been developed. However, text descriptions generated by automatic annotation techniques are often inaccurate and limited to a small vocabulary, and therefore is insufficient to accommodate the diverse information needs from users.. Recently, there have been several studies on exploring the log data of users' relevance feedback to improve image retrieval [12, 15, 16, 25, 36] . In these studies, the CBIR system collects relevance judgments from a number of users, which is also called "log data" in this paper. In addition to the low-level features, each image is also represented by the users' relevance judgments in log data. Most of these studies hypothesized that when two images are similar in their semantic content, they tend to be either favored or disliked simultaneously by many users. As a result, similar images tend to share similar representation in users' relevance judgments. In [25] , several weighting schemes are proposed for the low-level image features that are based on log data. In [10, 11] , a manifold learning algorithm is applied to learn a low-dimensional manifold from log data that better reflects the semantic relation among different images. In [15, 16] , the log data of users' relevance judgments are used to improve relevance feedback techniques for image retrieval. We refer to the image retrieval approaches based on log data as "collaborative image retrieval.". In this work, we explore the log data of users' relevance judgments in a way that is different from the previous work. Unlike [25] where manually designed weighting schemes based on log data are used to measure similarity of images, in this work, we propose to automatically learn the distance metric for the low-level features from the users' relevance judgements in log data. We hypothesize that, in each user feedback session, when two images are judged as relevant, they tend to be more similar in content than the case when one image is judged as relevant and the other is judged as irrelevant. Thus, our goal is to search for an appropriate distance metric for the low-level features such that the distance in low-level features is consistent with the users' relevance judgments in log data. To this end, we propose the "Min/Max" principle, which tries to minimize the distance between similar images and meanwhile maximize the distance between the feature vectors of dissimilar images. Based on this principle, we propose a new algorithm for metric learning, named "regularized distance metric learning," in which a regularization mechanism is introduced to improve the robustness of the learning algorithm. The new algorithm can be formulated into a Semidefinite Programming (SDP) problem [34] , and therefore can be solved efficiently by the existing package for SDP, such as SeDuMi [32] , and is scalable to the size of log data.. Our work distinguishes from the previous work on exploiting log data for image retrieval in that it deals with the real-world users whereas much of the previous research used the synthesized log data in its study. In particular, we try to address the following challenging issues with the real log data:. • Image retrieval with modest-sized log data. Most previous studies assume that large amount of log data are available, and do not consider the scenarios when the size of log data is limited. Developing retrieval techniques for modest-sized log data is important, particularly when a CBIR system is in its early development and has not accumulated large numbers of relevance judgments from users. It is also important when the target images are not popular and are only equipped with a small number of users' relevance judgments.. • Image retrieval with noisy log data. Most previous studies assume that log data are clean and contain no noise. This is an unrealistic assumption given that users' relevance judgments are subjective and real-world users could make mistakes in their judgments. In our experiments with real-world users, we usually observed a number of erroneous relevance judgments, ranging from 5 to 15% of all judgments. As will be shown later in the empirical study, the noise in users' relevance judgments can significantly degrade the retrieval accuracy of a CBIR system.. • Efficiency and scalability. Most previous studies emphasize the effectiveness of their algorithms on improving CBIR. Few of them examine the efficiency and scalability of their algorithms. The issue of efficiency and scalability is extremely important for this technique to be practical, particularly when we have to deal with largesized log data.. The rest of this paper is arranged as follows: the next section discusses the related research. Section 3 describes the proposed regularized metric learning algorithm. Section 4 explains our experimental methodology. Section 5 presents the experimental results. Section 6 discusses the limitation and future work. Section 7 concludes this work. Content-based image retrieval (CBIR) has been an active research topic for many years. However, its retrieval accuracy is still not satisfactory due to the semantic gap between lowlevel image feature representation and high-level image semantic meaning. This paper proposes a novel algorithm for distance metric learning, which boosts the retrieval accuracy of CBIR by taking advantage of the log data of users' relevance judgments. A regularization mechanism is used in the proposed algorithm to improve the robustness of solutions, when the log data is small and noisy. Meanwhile, it is formulated as a positive semidefinite programming problem, which can be solved efficiently and therefore is scalable to the size of log data.. Experiment results have shown that the proposed algorithm for regularized distance metric learning substantially improves the retrieval accuracy of the baseline CBIR system that uses the Euclidean distance metric. It is also more effective and more efficient than two alternative algorithms that also utilize the log data to enhance image retrieval. More empirical studies indicate that the new algorithm gains notable improvement even with limited amount of users' log data. Furthermore, the new algorithm is rather robust to work in the environment where the log data is noisy and contains a number of erroneous judgments.. In sum, the new algorithm for regularized distance metric learning has a nice theoretical formalization and generates better empirical results than several other approaches. It can be computed efficiently with large-scale CBIR system and also works well in CBIR systems when users' log data are noisy and insufficient. All these advantages make the new algorithm proposed in this paper a good candidate for combining the log data and the low-level image features to improve the retrieval performance of CBIR systems. This work is related to previous studies on utilizing users' log data to enhance content-based image retrieval. It is also related to the research on distance metric learning. We will review the previous work on using log data first, followed by the review of metric learning algorithms.. Users' log data have been utilized in the previous work [15] to improve online relevance feedback for CBIR. In [15] , the users' relevance judgments in log data is used to infer the similarities among images. For online retrieval, a set of relevant and irrelevant images are first obtained through the solicitation of users' relevance judgments. Then, based on the log data, images that are most similar to the judged ones are added to the pool of labeled examples, including both relevant and irrelevant images. A discriminative learning model, such as support vector machines (SVM) [5] , is trained with the expanded pool of labeled images to improve the retrieval accuracy. This work differs from ours in that it requires online feedback from users, while our algorithm focuses on improving the accuracy of the initial around of image retrieval. Another recent research related to our work is to apply manifold learning to image retrieval [10, 11] . Their work has considered using log data for both CBIR with online feedback and CBIR without online feedback. Using the Laplacian Eigenmap [3] , they constructed a low-dimensional semantic space for the low-level image features using log data. Given the complicated distributions of image features, constructing a robust manifold for image features usually requires a large number of training data. In fact, according to our experiments, their algorithm works well when large numbers of users' relevance judgments are available. Its advantage appears to fade away when the size of log data is small. Finally, there are studies on designing weighting schemes for low-level image features based on log data [25] . In [25] , weighting schemes, similar to the TF.IDF methods in text retrieval [29] , have been proposed and computed based on the log data of users' relevance judgments.. Another group of related work is the learning of distance metric [23, 35] . One of the well-known research on this subject is [35] , which learns a distance metric under pairwise constraints. As it serves as the baseline in this study, we briefly describe it here.. Let C = {x 1 , x 2 , ..., x n } be the data collection where n is the number of data points in the collection. Each x i ∈ R m is a feature vector where m is the number of features. Let S be the set that contains pairs of similar data points, and D be the set that contains pairs of dissimilar data points. More precisely, we have . Let A ∈ S m×m be the distance metric to be learned, which is a symmetric matrix of size m × m. Then, for any two vectors x, y ∈ R m , their distance is expressed as:. where product "·" is a pointwise matrix multiplication, and "tr" stands for the trace operator that computes the sum of diagonal elements of a matrix.. A is a valid metric as long as the distance between any two data points is nonnegative and satisfies the triangle inequality. This requirement is formalized as the positive semidefinite constraint for matrix A, i.e., A 0 [34] . Furthermore, matrix A should be symmetric, namely A = A . Note when A is an identity matrix I m×m , the distance in Eq. (2) becomes. Thus, we go back to the Euclidean distance.. Given the pairwise constraints in (1), [35] formulated the problem of metric learning into the following convex programming problem:. In the above, optimal metric A is found by minimizing the sum of squared distance between pairs of similar data points, and meanwhile satisfying the constraint that the sum of squared distance between dissimilar data points is larger than 1. In other words, this algorithm tries to minimize the distance between similar data points and maximize the distance between dissimilar data points at the same time. This is consistent with our Min/Max principle discussed in the Introduction section. The algorithm in (3) has been shown to be successful on several machine learning testbeds [35] . But one potential problem with this method is that it does not address the issue of robustness, which is important when training data are noisy or the amount of training data is limited. Our algorithm is able to improve the robustness of metric learning by introducing a regularizer into the objective function, which is similar to the strategy used in large margin classifiers [5] . Furthermore, the optimization problem in (3) may not be solved efficiently since it does not fall into any special class of convex programming, such as quadratic programming [8] and semidefinite programming [34] . In contrast, the proposed algorithm belongs to the family of semidefinite programming, which can be solved much more efficiently.

O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B I I O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O B I O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O


A complementary method for automated detection of microaneurysms in fluorescein angiography fundus images to assess diabetic retinopathy Abstract-Early detection of microaneurysms (MAs), the first sign of Diabetic Retinopathy (DR), is an essential first step in automated detection of DR to prevent vision loss and blindness. This study presents a novel and different algorithm for automatic detection of MAs in fluorescein angiography (FA) fundus images, based on Radon transform (RT) and multi-overlapping windows. This project addresses a novel method, in detection of retinal land marks and lesions to diagnose the DR. At the first step, optic nerve head (ONH) was detected and masked. In preprocessing stage, top-hat transformation and averaging filter were applied to remove the background. In main processing section, firstly, we divided the whole preprocessed image into sub-images and then segmented and masked the vascular tree by applying RT in each sub-image. After detecting and masking retinal vessels and ONH, MAs were detected and numbered by using RT and images. Automated DR detection demonstrated a sensitivity and specificity of 94% and 75% for Mashhad database and 100% and 70% for the Second Local Database respectively. Diabetic retinopathy (DR) is the single largest cause of sight loss and blindness in the working age population of western countries [1] . Moreover, world health organization (WHO) anticipates that the total number of diabetic patients will at least reach to 366 million by 2030 [2] . According to some estimations, more than 75% of patients with diabetes within 15 to 20 years of diagnosis diabetes are threatened by DR [3] . These are likely affected by diabetes in their retina that is an important threat to vision.. Generally, the probability of blindness in a person with diabetes is 25 times more than the general population, but by early detection of DR and timely treatment, visual loss and blinding can be prevented [4] . Since early diagnosis of DR is critical in preventing vision loss, annual ophthalmic examinations are suggested by the American Academy of Ophthalmology and the American Diabetes Association. Due to high burden of diabetic patients, high cost of examination, and shortage of ophthalmologists, especially in rural areas, automated systems can help in saving the time of ophthalmologists and enhancing the tele-medical diagnosis of the condition. Although the final purpose of this study was early detection of DR, this issue was only about detection of MAs. The goal of this work was to develop an algorithm for detection of different abnormal vascular lesions related to DR and development of a complementary automated detection of DR in Iran for first time. Altogether, the aim in retinal angiography is to investigate and extract as much information as possible. So to achieve this purpose, using a system with the highest image quality is critical.. Altogether, for all MAs the human observer is well ahead of the automated methods. The results proved that it is possible to use algorithms for assisting an ophthalmologist to segment fundus images into normal parts and lesions, and thus support the ophthalmologist in his or her decision making.. To utilize this program in the follow up of patients, we should add an image registration algorithm so that the ophthalmologist could study the effect of his/her treatment and also the progression of the disease, not only by crisp counting, but also by spatial orientation which is included in presented method. Detection of MAs is only a single step in early detection of DR. Although MAs can be seen in color fundus photographs, they are best visualized on FA due to enhanced contrast. It is not only more difficult to diagnose MAs in the red background of the color fundus images, 36 but also differentiation between them and small hemorrhages is often difficult or even impossible. Therefore, FA is considered as gold standard procedure in diagnosis of MAs.. Many frames are taken during the process of FA. From computer processing techniques point of view, the best quality frame is chosen from those frames that are captured immediately after complete filling of the vasculature.. Vascular detection is the first step of main processing which removes the vascular tree map from the image. The performance of the main step of this study, the detection of MAs, depends largely on the accuracy of vessel detection. In vessel segmentation, proposed method was tested for the first time on DRIVE database by Pourreza et al. [35] and their results have been published. They also checked out on vascular tree of conjunctiva and FA retinal images by same research group in the MUMS [31, 36] .. Obviously, the specificity of MA detection in proposed method will decrease if it works on images with poor vascular detection.. As we said before, in looking toward an integrated program for automated detection of DR it is important to have adequate sensitivity. If we look on the whole project, the patient base analysis of MA detection, especially increasing sensitivity of this section, is the most important goal of this study. This indicates that while finding individual MAs is critical in detection of those patients with DR, it may not be necessary to detect every individual MA in all images for DR detection. The sensitivity of 94% for the MUMS-DB and 100% for the 2 nd -DB makes our CAD as good as ACD in diagnosis of DR.. On the other hand, although DR detection systems are evaluated on the overall presence of DR in the patient, not the number of MAs in a single image, we also focused at the lesion level, because we do not present a whole system of automatic diagnosis, but only a part of it; therefore, it is most informative to see how good the detection of these lesions really is.. In this section in addition to assess the efficiency of our method to detect the MAs, the spatial precision of the results were evaluated. The MA detection method reached to sensitivity of 92% for MUMS-DB, 91% for ROC database, and 95% for 2 nd -DB, in lesion based analysis that showed the ability of our algorithm even in follow up and treatment planning of DR. Furthermore, we chose the use of FROC analysis for statistical analysis.. The FROC analysis also lacks an AUC summary variable in that ROC analysis does have.. Our purpose to choose FROC over other evaluation measures was that it is generally regarded as the evaluation measure most closely resembling clinical practice in diagnostic tasks that involve lesion localization [7] .. Meanwhile, our FN seems to be due to: (1) in some cases some MAs were located adjacent to vessels and were detected as vessels (2) some MAs that were near each other or some were too big were also detected as vessels.. Our designed algorithm was robust against lower image resolution. We intentionally used non selected images to check our method in real work atmosphere, including poor quality images and also post-treated retina with coagulated points some of FP MA detection in this study were due to these coagulated points on retinal images. In our study, there were two other sources of FP diagnosis: vascular cutoff and telangectasia.. Image capturing took around 2-3 minutes depending on the photographer's experience and also patient cooperation and expert ophthalmologist could read every image in less than 6 minutes. Total time consuming in our method (11 minutes for MUMS-DB) was a little more than the manual time but the automated system could work more, without tiredness and decreasing accuracy due to it.. Beside using RT as in feature extraction method in retinal FA, another important issue in this study was the use of multi-overlapping sub-images to prevent error caused by global techniques. In global techniques, because of more background variation in contrast of small sub image analysis, error occurs more.. It is important the computer-based system used in an automated program have high sensitivity and no images with DR are missed.. One advantage of the automated systems is that they are deterministic. In other words, they always classify funduses in a similar way. There will always exist differences in the backgrounds and education of human experts which causes dispersion in their diagnosis.. Moreover, a single human expert may make different diagnoses in different screening times due to human factors, such as tiredness or sickness. The performance of the human expert indicates the difficulty of the task. This also illustrates experts may have been less sensitive than some of the other experts in detecting lesions. It is better to use a computer-based system for classifying only clearly normal funduses as normal, whereas abnormal and obscure funduses are delivered to a human expert for further classification. However, the automated system reduces the workload of the human expert, since in reality most of the funduses are normal, and only a few funduses have retinopathy.. Therefore, if the first phase of the diagnosis is performed automatically by a computer, it is important to have as high sensitivity as possible so that no retinopathic funduses are missed. Also in the case of the combined computer and human maximum sensitivity and specificity values should be achieved.

O O O O O O O B O B I B I O O B I O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Peer-to-peer resource discovery in mobile Grids Grids are likely to be the mainstay of distributed computing. Grid was firstly applied as a concept for sharing computing resources among wired nodes, but there has been a growing interest in extending this concept to mobile environments. Although significant work has been done towards mobile grids, much of it has followed centralized approaches based on infrastructure wireless networks. We believe that a less restrictive, decentralized approach that supports mobile collaboration in ad-hoc wireless networks can cater for novel grid applications. To address this issue, we propose a middleware architecture called MoGrid. MoGrid orchestrates the distribution of grid tasks among mobile devices in a peer-to-peer (P2P) fashion. In this paper, we focus on the P2P Discovery Protocol (P2PDP), which is a central element of our architecture. P2PDP aids in distributing tasks among the most resourceful devices, while mitigating the overhead of control messages exchanged among them. We describe a prototype implementation of our architecture and discuss some issues related to the adoption of P2PDP as an ad-hoc resource discovery mechanism in mobile grids. Grids are likely to be the mainstay of distributed computing. Originally conceived of a s a concept for sharing computing resources among wired nodes, grids have been receiving growing attention as to their application to mobile environments [1, 11, 13] . There are two main approaches to integrating mobile environments into grids. In the first approach, mobile devices are used just as interfaces to access wired grids [9] . In the second (and more challenging) approach, mobile devices can take part in a grid as task processing nodes, shaping the so-called mobile grids. 1 Mobile grids demand new control patterns for distributed resource sharing since mobile devices allow the establishment of spontaneous, highly-dynamic ad-hoc communities, for example those motivated by common interests or geographical proximity. Crucially, no centralized resource-discovery mechanisms may be available for such a community. In this context, mobile grids can be regarded as being supported by (and, conversely, a support for) P2P technologies. Examples of novel P2P applications a mobile grid can support include disaster handling [1] , shared workspaces [7] , and distributed recording [13] .. Although significant work has already been done towards mobile grids, much of it has followed centralized approaches based on infrastructure wireless networks [12, 20] . 2 We claim there still remains the need for a less restrictive, decentralized approach that can support applications, like the aforementioned, in purely adhoc networks. To address this issue, we propose a middleware architecture called MoGrid. The MoGrid architecture arised out of two convergent projects. MoCA [17] is a middleware architecture that supports the development of context-sensitive applications for mobile collaboration. MoCA offers application-level mobility transparency, but was initially conceived for infrastructure wireless networks. InteGridade [10] is a grid infrastructure over the GIGA network [ 5] -a nationwide academic multigigabit network in Brazil. InteGridade offers transparency and efficiency in the usage of resources distributed over the GIGA network, but is based on a central point of resource coordination.. The MoGrid architecture aims at giving leverage to both aforementioned projects in ad-hoc networks by allowing the distribution of grid tasks in a P2P fashion among mobile collaborators. In our proposal, tasks involve not only computing resources, but also communication, peripheral, or storage resources. This is similar to the service-oriented view of grids presented in [3] . Mobile devices can split application requests (e.g. for file sharing or process execution) into tasks to be carried out by collaborators. Our architecture does not impose limitations on the ordering of tasks completion that a specific application may need, that is, tasks can be processed independently, sequentially, or in parallel.. In this paper, we focus on the P2P Discovery Protocol (P2PDP), which is a central element of the MoGrid architecture. P2PDP helps in coordinating the distribution of grid tasks among the most resourceful collaborators in the mobile grid. This is accomplished by a new mechanism in which replies from collaborators willing to deal with a request are delayed according to a timer. This timer is set to be inversely proportional to the availability of resources in the mobile device. It must be remarked that the determination of reply delays is flexible with regard to the resources to be taken into account and the relative importance among them. Replies are broadcast so that a collaborator having received a specific request can detect whether other, more resourceful collaborators have already answered this request. The first reply suppresses other replies, thus mitigating the amount of messages exchanged among collaborators.. We have developed a prototype implementation of the MoGrid architecture to obtain experimental results on P2PDP usage. In such a prototype, we define some general criteria for determining the availability of resources in mobile devices. We show in this paper the tests that we have conducted on the prototype implementation through a distributed file sharing application. This paper is organized as follows. Section 2 presents some related work on mobile grids, including a few preliminary attempts towards ad-hoc approaches. Section 3 introduces the MoGrid architecture, giving special attention to the P2PDP protocol. In Section 4, some details of our prototype implementation are presented. Section 5 discusses some relevant issues to our architecture. Section 6 concludes this paper. In this paper we have proposed a middleware architecture that allows the distribution of tasks among devices in a mobile grid. Central to the proposed architecture is a resource discovery protocol called P2PDP. Fundamentally, P2PDP helps in coordinating such a distribution among the most resourceful and available mobile devices, while mitigating the overhead of control messages exchanged among them. We have implemented a prototype of the architecture and also a simple test application to evaluate the correctness of the protocol and to trial some main features of the design, such as the criteria for collaboration suitability.. We are aware of the need for conducting more comprehensive experiments to evaluate the performance and scalability of our approach. This includes evaluating the behavior of the P2PDP protocol and the services provided by the transparency layer when they are faced with different mobility patterns, including periods of voluntary or involuntary disconnections. One specific problem that we plan to tackle in the context of the transparency layer is the migration of tasks among collaborators, for example when a device infers that it is losing connectivity with a mobile grid. This work corresponds to an initial stage in the effort to develop a fully-fledged mobile grid middleware architecture. A central point that we envision as needing further developments is the description of resources. Currently, there is no standardized support for such descriptions in our implementation, which are left completely to the application. To address this issue, we plan to use an (or define a new) XML-based resource description language similar to those applied at OGSA [3] and WSDA [8] . Such a description language would allow the use of XML-targeted technologies like XQuery and XPath as inputs to the operation discover() of our discovery API.. Other future work will involve the implementation of proxies that allow devices in the mobile grid to interoperate with devices in conventional grids. We are starting to investigate such integration through the use of Globus components, as part of the InteGridade project [10] .. A key aspect not covered in our implementation is privacy and trust establishment. Social relationships based on reputation mechanisms have c onstantly been pointed out [13, 16] as a possible solution to this problem. We are currently examining the use of ω in Equation (1) as a parameter that aids in describing the collaborators reputation in a mobile grid. So far, a great deal of work on grids has focused on applying the classic client-server model to distributed computing. For instance, the OGSA architecture [3] is based on a three-tier model, where the middle tier is built around Web services. Nevertheless, the growing interest in enabling grid-based applications for mobile devices has prompted alternative models for grid computing. Such interest relates to the development of P2P grids [ 2, 4, 15] , although most approaches to that still depend to some extent on core servers supporting a global grid system. The remainder of this section discusses some specific projects that mainly focus on mobile technologies.. The ISAM project [20] proposes the integration of three main concepts-context-awareness, mobility, and grid computing-in a pervasive computing environment. This environment supports the development of distributed mobile applications that have adaptive behavior. Nevertheless, ISAM assumes that mobile devices use some basic services deployed in a fixed network. Thus, its application is limited to infrastructure wireless networks.. Kurkovsky et al. [12] propose a grid-based problem-solving environment for mobile devices, which are viewed as collaborative agents in a multi-agent system. Such an environment addresses the issues of distribution, coordination, and assembly of complex grid tasks, as well as network instability, access transparency, and dependability. The overall approach depends on a central element running on (or close to) a base station. Such a central element is responsible for coordinating the resource sharing among the agents. Therefore, purely ad-hoc networks are again disregarded.. The K*Grid project [ 11] aims at providing a comprehensive research environment for both industry and academia through a nationwide grid in South Korea. K*Grid envisions the use of idle resources in a large number of mobile devices to form pervasive mobile grids. Nevertheless, such a project is in a very early stage of development, without any specific results so far.. The AKOGRIMO project [ 1] is an European-funded project aiming at architecting and prototyping a next generation grid based on OGSA. Currently, AKOGRIMO focuses on devising novel grid applications over evolving mobile IPv6-based infrastructures. The domain of such applications range from ehealth, through e -learning, to disaster handling and crisis management. Like K*Grid, the AKOGRIMO project does not have any specific results yet.. Overall, what still appears to be missing in the realm of mobile grids is an adequate collaboration support for applications running on purely ad-hoc networks. Crucially, such grid applications need a completely decentralized and collaborative approach to the resource discovery and coordination. Although K*Grid and AKOGRIMO seem to be promising approaches, there are currently no particular results on their effectiveness to support purely ad-hoc networks. To experiment with our approach, a middleware-architecture prototype was implemented in Java, using the Connected Device Configuration (CDC) of J2ME [ 19] as the reference implementation platform. The java.net.DatagramSocket and java.net.DatagramPacket classes are used to implement the P2PDP protocol over UDP. P2PDP messages exchanged between coordinators and collaborators are sent to the 'all 1s' IP broadcast address. To avoid the problem of reply implosion, we only consider single-hop ad-hoc networks in our implementation; multihop networks will be addressed in a next stage.. Collaborators and coordinators use the java.util.Timer and java.util.TimerTask classes to implement their timers. In the prototype implementation, each collaborator sets its reply delay timer to τ units of time, as given by N represents the number of the different resource types the collaborator should take into account. P i is the weight that describes the relative importance of each resource type i, 1 ≤ i ≤ N. Both N and P i are described as part of the contextual information sent by the initiator in the corresponding IReq message. D max is the maximum reply delay, which is also obtained from the IReq message. γ is a constant (arbitrarily set to 2 in our implementation) used for considering the transfer delays that. CRep and CRepList messages may experience. α i is the normalized level of availability of resource type i at the collaborator, as indicated by its monitor service. Finally, ω indicates the willingness of the collaborator to participate in the execution of distributed tasks. It is a subjective, user-defined factor that describes the user level of interest in allowing its device to collaborate with others on the mobile grid. ω = 0 means the collaborator is not willing to participate; thus no CRep messages are sent by it.. Equation (1) is quite general as it allows the definition of different criteria for determining the suitability of collaborators. For the selection of replies at coordinators, we preferred a rather straightforward criterion based on a 'first in, first selected' policy. Although simple, such a criterion allows a coordinator to build and send a CRepList message before the timer associated with a corresponding request expires, reducing the total time spent with the resource discovery procedure.. The implementation of the monitor service was borrowed from the MoCA architecture [17] . The MoCA monitor is deployed as a daemon running on each mobile device, being responsible for collecting state information such as RF signal strength, energy level, CPU usage, and free memory. Since MoCA monitor is implemented in C/C++, the use of the Java Native Interface (JNI) was needed to integrate the monitor into our implementation.. We have tested our prototype with a typical distributed file sharing application. For such an application, we defined the context information of interest as only comprising the battery power and the RF signal strength (i.e. N = 2), both with the same relative importance (i.e. P 1 = P 2 = 1).. The test application was implemented over an experimental adaptation sublayer. This sublayer offers three operations: registerFile(), deregisterFile(), and getFile(). The first two operations provide a simple interface to manage resource announcements in MoGrid. The third operation triggers a P2PDP. IReq message for discovering only one source of the desired file. 5 The callback operation that the adaptation sublayer provides for TRAS reacts to underservings by re-enquiring the discovery service offered by the P2PDP protocol.. The MoCA monitor provides an emulating mode that allowed us to use fixed nodes mimicking the behavior of mobile devices as regards RF signal strength and battery power readings. To test the P2PDP protocol, emulation scripts were used for describing the behavior of five devices with various levels of resource availability that randomly connect and disconnect from an ad-hoc mobile grid. As an outcome of our tests, we observed the effectiveness of P2PDP in selecting more resourceful collaborators while suppressing unnecessary response messages.

O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O