Minimum-Delay Service Provisioning in Opportunistic Networks Abstract-Opportunistic networks are created dynamically by exploiting contacts between pairs of mobile devices that come within communication range. While forwarding in opportunistic networking has been explored, investigations into asynchronous service provisioning on top of opportunistic networks are unique contributions of this paper. Mobile devices are typically heterogeneous, possess disparate physical resources, and can provide a variety of services. During opportunistic contacts, the pairing peers can cooperatively provide (avail of) their (other peer's) services. This service provisioning paradigm is a key feature of the emerging opportunistic computing paradigm. We develop an analytical model to study the behaviors of service seeking nodes (seekers) and service providing nodes (providers) that spawn and execute service requests, respectively. The model considers the case in which seekers can spawn parallel executions on multiple providers for any given request, and determines: 1) the delays at different stages of service provisioning; and 2) the optimal number of parallel executions that minimizes the expected execution time. The analytical model is validated through simulations, and exploited to investigate the performance of service provisioning over a wide range of parameters. I N a network with mobile devices, a contact occurs when pairs of mobile devices are within range. An opportunistic network is created when several such opportunistic contacts occur between pairs of devices, distributed in time and space [1] . As opposed to traditional MANETs, opportunistic networks are better equipped to deal with prolonged and frequent disconnections and partitions, as they exploit mobility as an opportunity rather than a challenge.. Opportunistic networks enable the emerging concept of opportunistic computing [2] . The key observation of opportunistic computing is that the environment around (mobile) users, features a steadily increasing set of heterogeneous resources available on fixed and mobile devices with wireless networking capabilities. Resources include heterogeneous hardware components, software processes, multimedia content, sensors, and sensory data. While not all resources can be available on any single device, they can be collectively available to anyone through the deployment of effective middleware in such a pervasive networking environment. Essentially, we envision opportunistic computing as an evolution of distributed computing, in which resources are accessed through opportunistic contacts, thus complementing solutions based on well-connected networks only. Resources can be abstracted as services that can be shared and executed (perhaps remotely). A key research challenge for realizing the vision of opportunistic computing is, therefore, a comprehensive investigation of opportunistic service provisioning. We investigate this novel research area, as researchers in the past have explored 1) opportunistic networking, mainly as a means for forwarding message packets, and 2) service provisioning in well-connected networks. Service provisioning in the framework of opportunistic computing enables interesting applications, such as pervasive healthcare, intelligent transportation systems, crisis management, and participatory sensing, as discussed in [2] .. We consider a very simple architecture in which nodes can opportunistically request service executions to directly encountered peers, and collect results the next time they encounter those peers after they have completed the execution. Hereafter, we denote by request a request for the execution of a given service, and by results the output results of the service execution. The main focus of this paper is on optimizing the way in which a seeker (a node requiring a service) should spawn executions onto encountered providers. Main contributions of this paper include: 1) development of a model to depict the behavior of the service provisioning system; 2) analysis to determine the optimal number of parallel executions to be spawned; and 3) exhaustive simulation studies to validate the model. In this paper, we investigate service provisioning in an opportunistic networking environment, where multihop communication is accomplished through a series of opportunistic contacts, rather than through continuous multihop paths. The main contributions of this paper include: a scheme for supporting service provisioning in opportunistic networks; an analytical model to determine the optimal number of parallel executions required to minimize the service time without saturating the computational resources of the providers; and results assessing the performance of a system that replicates executions according to the model, in comparison with other reference policies. The developed analytical model is validated through simulations, and used to characterize the system performance with respect to a number of parametersnumber of nodes, number of seekers, number of providers, and request load. In all investigated cases, the expected service time, when executions are replicated according to the model, is significantly lower than the service time achieved by using naive policies-working without any background information-that either replicate requests just once, or greedily replicate requests on all encountered providers. To the best of our knowledge, this is the first study on service provisioning in opportunistic networks. We are extending this work to address composability and security issues. -2000) , the Indian Institute of Science, (1986) (1987) (1988) (1989) (1990) (1991) (1992) , and Bangalore University, (1985) (1986) . His current research interests are in pervasive and mobile computing, and opportunistic networking and computing, sensor networks, and distributed computing. He has published more than 150 articles in refereed journals and conference proceedings, and has supervised several doctoral dissertations and master's theses in the above areas. He is one of the founding editors of the Pervasive and Mobile Computing Journal, and is one of the area editors of Computer Communications. He has guest coedited special issues of several leading international journals. He is a senior member of the IEEE and the IEEE Computer Society. He is a cofounder of the IEEE International Conference on Pervasive Computing and Communications (PerCom), where he served as program chair (2003), and general chair (2005) . He has also served on the technical program committees of numerous international conferences/workshops. Recently, he has developed or codeveloped algorithms/methods for service composition in pervasive environments, information acquisition, dissemination and fusion in pervasive and sensor systems, and caching and prefetching in mobile, distributed, pervasive, and P2P systems. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib. Before presenting the detailed analytical results, here are the assumptions under which they are derived.. A1. The tagged seeker (provider) encounters any specific provider (seeker) at the same rate at which it encounters any given node in the network. Furthermore, the encounter process between the seeker (provider) and any specific provider (seeker) is memoryless with respect to the sequence of previously encountered nodes, contact and intercontact times. A2. A contact time is always sufficient to upload the input parameters (and to download output parameters) for all the pending requests between the seeker and the provider. A3. Executions on providers start after the end of the contact time used to upload the input parameters. A4. Intercontact (contact) times are independent and identically distributed (iid). Intercontact and contact times are mutually independent. A5. Both intercontact and contact times between pairs of nodes are exponentially distributed. Assumptions A1, A2, and A3 can actually be relaxed at the cost of a drastic increase of the model's complexity (see [12] ). Assumption A5 is reported here for avoiding even simple inaccuracies in the mathematical derivations. If this assumption is dropped, the resulting inaccuracy is very limited, as discussed in [13] . 2 The rest of the analysis proceeds as follows: In general, RðmÞ should be derived as the minimum over m generic random variables (r.v.) R i . However, to have tractable analytical expressions, we compute RðmÞ as the minimum over a set of exponentially distributed, independent r.v., with average ER i . We assess the approximation level of this choice through validation with simulation results in Section 6.1. Detailed discussion and derivations of the following results are available in [13] .. As a prerequisite for the expressions of the average delays, it is necessary to derive the average time required by a tagged seeker to encounter a provider in a generic set A out of all providers, either starting from a random point in 1 . As each pipe corresponds to a particular provider, we use these terms interchangeably.. 2. Reference [13] is also provided as supplemental material. time or from the end of a contact time between the seeker and any node. These figures are denoted by ET ðAÞ and ELðAÞ, respectively, and their expressions are provided in [13] . Exploiting assumption A1, it is easy to show that they just depend on the cardinality of A, and, therefore, are represented by ET ðjAjÞ and ELðjAjÞ.. The closed form expression of the delay of the first stage of pipe i (B i ) can be derived as follows: Any new request is generated at a random point of time with respect to the underlying mobility process. The first execution is thus spawned, on average, after ET ðMÞ seconds, as M is the total number of providers. After spawning each replica, the seeker has to meet a new provider on which a replica has not already been spawned. This occurs, on average, after ELðM À kÞ seconds, where k is the number of replicas already spawned. The execution on the i-th provider starts after a time interval with average ET ðMÞ þ iEc þ P iÀ1 k¼1 ELðM À kÞ. The closed form expression follows after routine manipulations:. where is the Euler constant, Ec and Et are the average contact and intercontact times.. As shown in Fig. 2 , we model the second stage of the pipes with a queue. The service time of the queue represents the computation time at the provider's CPU. To simplify the analysis, and without loss of generality, we assume that the computation time at any provider is exponentially distributed with average value 1=. Therefore, it is possible to model the second stage of the pipes as an M ½X =M=1 batch arrivals system, whose average delay is as follows:. Furthermore, the utilization of the providers is ¼ Ã is greater than m c . The average delay of the third stage can be derived as follows: Under assumptions A2 and A3, the time required to download a request is the time required to meet the provider, plus a contact time. As 1) a tagged seeker meets any provider with the same probability (according to assumption A1), and 2) the delay of the third stage starts when the execution of the request has been finished by the provider, the time to meet the sought provider is ET ð1Þ, and the average delay of the third stage is. The . For any value of m, m Ã can be found by solving the fixed point equation. From a practical standpoint, the only complexity of the model is solving a fixed point equation, which turns out much more efficient than using alternative evaluation tools (such as simulations), for a large range of relevant system's parameters. Service-oriented architectures have been investigated in the area of ubiquitous and pervasive computing [3] , e.g., in [4] Ravi et al. develop a mechanism for accessing pervasive services across the network of devices using cell phones.. Much effort has been devoted by the research community to service composition that entails stitching together two or more basic services to create composite application level services. Essentially, there are two types of service composition mechanisms-static and dynamic. In static mechanisms [5] , a template with place holders represents the user request/task as the input to service composition, while the output is a plan containing services identified to populate the place holders within the request template. For dynamic service composition (e.g., [6] ), the description of the service and the mechanisms employed to identify matches between a requested service and available ones is critical to the successful operation.. Our current work differs from this body of research as the focus here is on opportunistic networking environments. The network environment being so different and so much more challenging, we limit ourselves, for now, to a very simple service provisioning scheme, in which seekers can just avail of services directly provided by encountered providers.. Service provisioning in opportunistic networks is a challenging problem that, to the best of our knowledge, has not been addressed yet. In a broad sense, opportunism is the key design feature in this kind of networks, as contacts should be opportunistically exploited according to the individual users' goals (be it sending messages across the network, or avail of a service not available locally). Research on opportunistic networks has focused mainly on routing issues (e.g., [7] , [8] ), mobility analysis (e.g., [9] ) and, more recently, on data-centric architectures for content delivery (e.g., [10] ).. The work presented in this paper can be seen as one of the building blocks of the recently proposed concepts of opportunistic computing [2] and people-centric sensing [11] . The latter work already produced significant results, but does not exploit opportunistic contacts for service provisioning.

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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I


Fractal boundaries of basin of attraction of Newton-Raphson method in helicopter trim A key problem in helicopter aeroelastic analysis is the enormous computational time required for a numerical solution of the nonlinear system of algebraic equations required for trim, particularly when free wake models are used. Trim requires calculation of the main rotor and tail rotor controls and the vehicle attitude which leads to the six steady forces and moments about the helicopter center of gravity to be zero. An appropriate initial estimate of the trim state is needed for successful helicopter trim. This study aims to determine the control inputs that can have considerable effect on the convergence of trim solution in the aeroelastic analysis of helicopter rotors by investigating the basin of attraction of the nonlinear equations (set of initial guess points from which the nonlinear equations converge). It is illustrated that the three main rotor pitch controls of collective pitch, longitudinal cyclic pitch and lateral cyclic pitch have a significant contribution to the convergence of the trim solution. Trajectories of the Newton iterates are shown and some ideas for accelerating the convergence of a trim solution in the aeroelastic analysis of helicopters are proposed. It is found that the basins of attraction can have fractal boundaries. Comprehensive helicopter rotor aeroelastic analysis typically involves three nested iterative numerical schemes to solve for blade response, vehicle trim and free wake inflow distribution on the rotor disk. In general, the word 'trim' is used to imply the correct adjustment of aircraft controls, attitude and cargo in order to obtain a desired steady flight condition [1] . For rotorcraft analysis, the concept of trimmed flight implies the periodic dynamic solution to a system of nonlinear equations with unknown parameters (like controls and airframe attitudes), which act as constants and forcing functions in these nonlinear equations. The parameters must be adjusted such that this periodic solution satisfies the constraints that enable a desired flight condition. Thus the solution is obtained in controls, attitudes and power required for that flight condition. The accurate calculation of trim is crucial to the determination of flight mechanics and handling qualities. Furthermore, the aeroelastic stability of rotorcraft is strongly influenced by trim settings and a periodic trimmed solution. Since the blade equations are highly nonlinear, an accurate trimmed solution is important to predict the response, vibratory loads and airframe vibrations.. Selected researchers have looked at the trim solution methodologies, the oldest one being the harmonic balance method, which is extended as a general numerical technique and whose use is quite widespread. The harmonic balance method is used in an iterative fashion for the calculation of coupled rotor/body vibrations [2] . Another popular method is the periodic shooting method, used to determine the solution to differential equations with periodic coefficients [3] . It is based upon The basin of attraction for the Newton-Raphson Method used for helicopter trim is investigated. A systematic study is performed by varying any two of the control angles between −20 and 20 degrees in intervals of one degree and observing the convergence or divergence of the Newton iterates. The following conclusions are drawn from this study.. (1) It is observed that the collective, lateral and longitudinal cyclic pitch of the main rotor are dominant variables for helicopter coupled trim with restrictive basins of attraction. Trim shows much less sensitivity to the initial choice of the vehicle attitude angles and tail rotor collective. Initial guess predictor algorithms could be developed which are better estimates of only the main rotor controls. For instance, a random or design of experiment based search about the initial guess for these three controls may yield a much better guess. (2) The Newton iterates follow complicated trajectories when converging from the basin of attraction to the solution. A large number of iterations occur near the solution as the trim angles become almost constant but the blade response needs to converge. (3) In some applications such as helicopter performance predictions, a high degree of response convergence is not required.. Therefore, the response convergence criteria can be relaxed with substantial savings in iterations needed to converge and in computational time. (4) A relaxed response convergence criteria can also be used to get a good initial guess. Since such a guess will be much nearer the solution, the assumption of constant Jacobian about this point will be much more valid. (5) Some points which are outside the basin of attraction generate iterates which go through the basin but finally diverge.. Thus, it is not sufficient to deflect the iterates to inside the basin to converge the solution. (6) The number of trim and wake iterations increases as the initial estimate is chosen away from the solution. We can also see that in few cases the effect of control inputs is uniform along one of the axes and is not so in the other. (7) The basin of attraction figures which are bounded show irregular boundaries which cannot be represented by Euclidean geometrical objects. The jagged and irregular nature of the boundary resembles natural formations such as coastlines and can be indicative of fractal geometry. Similar irregular boundaries and intricate structures were revealed by zooming on to the boundary of one of the basins of attraction. This self-similarity is typical of fractal geometry. (8) For the SH-60 rotor considered, the two dimensional snapshots of the basin of attraction showed that the trim solution is unique. However, the current study did not consider all possible sets of points in the six dimensional set of trim angles. (9) The study of the basin of attraction and the effect of variations in trim and wake can help us in selecting the bounds of different control inputs for different forward speeds and helps us in estimating the optimal trim condition. For example, the solution for the baseline case can be used as a starting guess in aeroelastic optimization and Monte Carlo simulation studies.. The basin of attraction can also be used to develop heuristic approaches to robust helicopter trim and also helps in giving a fundamental understanding of the helicopter trim problem.

O O O O O O O B I O B 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 O O O O O O 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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 B I 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 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 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 B O O O O O O O O O O O B O O


A Thyristor-Only Input ESD Protection Scheme for CMOS RF ICs We propose an input protection scheme composed of thyristor devices only without using a clamp NMOS device in order to minimize the area consumed by a pad structure in CMOS RF ICs. For this purpose, we suggest low-voltage triggering thyristor protection device structures assuming usage of standard CMOS processes, and attempt an in-depth comparison study with a conventional thyristor protection scheme incorporating a clamp NMOS device. The comparison study mainly focuses on robustness against the HBM ESD in terms of peak voltages applied to gate oxides in an input buffer and lattice heating inside protection devices based on DC and mixed-mode transient analyses utilizing a 2-dimensional device simulator. We constructed an equivalent circuit for the input HBM test environment of the CMOS chip equipped with the input ESD protection devices. And by executing mixed-mode simulations including up to four protection devices and analyzing the results for five different test modes, we attempt a detailed analysis on the problems which can occur in real HBM tests. We figure out strength of the proposed thyristor-only protection scheme, and suggest guidelines relating the design of the protection devices and circuits. CMOS chips are vulnerable to electrostatic discharge (ESD) due to thin gate oxides used, and therefore protection devices such as NMOS transistors are required at input pads. A large size for the protection devices is needed to reduce discharge current density and thereby to protect them against thermal-related problems. However, using a large size tends to increase parasitic capacitances added to input nodes generating problems such as gain reduction and poor noise characteristics in RF ICs [1] .. To reduce the added parasitics, the protection schemes utilizing thyristor or diode protection devices were suggested [2, 3] and have been used as fundamental protection schemes in RF ICs. In the protection scheme utilizing thyristor or diode protection devices, it is conventional to include a V DD -V SS clamp NMOS device in the input pad structure to provide discharge paths for all possible human-body model (HBM) test modes [4] . A large size for the clamp NMOS device is essential to prevent thermal device failure. Even though the clamp NMOS device does not add parasitics to the input node since it is not connected to it, adopting a large size makes the design to consume an excessive area for the pad structure. This requirement can be a serious limitation in a chip where a pad size is a critical issue in chip design.. In this paper, we suggest an input protection scheme utilizing low-voltage triggering thyristor devices only without using a clamp NMOS device in input pad structure. This scheme can be implemented into input pad structures of CMOS RF ICs to provide protection against HBM and MM (Machine mode) discharge events. We present a comparative analysis result of the proposed scheme and the conventional thyristor protection scheme incorporating a clamp NMOS device. The characteristics of the latter scheme are already presented in [4] .. A 2-dimensional device simulator, together with a circuit simulator, is utilized as a tool for the comparative analysis. The analysis methodology utilizing a device simulator has been widely adopted with credibility [4] [5] [6] since it provides valuable information relating the mechanisms leading to device failure, which cannot be obtained by measurements only. In Section 2, we suggest low-voltage triggering thyristor protection device structures assuming usage of standard CMOS processes, and introduce device characteristics based on DC device simulations. In Section 3, we briefly explain discharge modes in HBM tests and introduce two input protection scheme utilizing the suggested protection devices. In Section 4, we construct an equivalent circuit model for CMOS chips equipped with the input protection devices to simulate various input HBM test situations, and execute mixed-mode transient simulations. Based on the simulation results, we figure out weak modes in real discharge tests, and present indepth analysis results relating critical characteristics such as peak voltages developed across gate oxides in input buffers, locations of peak temperature inside protection devices, and so on. In Section 5, based on the simulation results, considerations relating device and circuit design are discussed. Figure 1 shows the NMOS protection device structure assumed in this work, which is utilized as a V DD -V SS clamp device. The structure is same with the one suggested in [4] . The p + junctions located at the upper left/ right corners represent diffusions for substrate ground contacts. A series resistor of 1 M·μm, which is not shown in Figure 1 , is connected at the bottom substrate node considering distributed resistances leading to substrate contacts located far away. We proposed an input protection scheme composed of thyristor devices only to minimize the size of an input pad structure. For this purpose, we suggested the lowvoltage triggering thyristor protection device structures assuming usage of standard CMOS processes, and attempted an in-depth comparison study with a conventional thyristor protection scheme incorporating a clamp NMOS device based on DC and mixed-mode transient analyses utilizing a 2-dimensional device simulator.. We analyzed in detail the problems which can occur in real HBM tests to provide useful findings regarding the proposed protection scheme as follows.. 1) We figured out weak modes in terms of peak voltages developed across gate oxides in input buffers.. 2) We figured out weak modes in terms of temperature increase inside the protection devices, and also figured out locations of peak temperature inside the protection devices.. 3) We suggested design guidelines for each protection device to minimize temperature increase inside it and to minimize voltages developed across gate oxides in input buffers. 4) We showed how we can incorporate the gate coupling technique into the suggested protection devices.. 5) We showed that the suggested thyristor-only protection scheme can be made free from CMOS latch-up.

O O O B I O O O B I 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 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 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 O O O O O O O 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 O O O O O O 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 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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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


Register-machine based processes Abstract. We study extensions of the process algebra axiom system ACP with two recursive operations: the binary Kleene star * , which is defined by x * y = x(x * y) + y, and the push-down operation $, defined byIn this setting it is easy to represent register machine computation, and an equational theory results that is not decidable. In order to increase the expressive power, abstraction is then added: with rooted branching bisimulation equivalence each computable process can be expressed, and with rooted τ -bisimilarity each semi-computable process that initially is finitely branching can be expressed. Moreover, with abstraction and a finite number of auxiliary actions these results can be obtained without binary Kleene star. Finally, we consider two alternatives for the push-down operation. Each of these gives rise to similar results. In this paper we take as a point of departure the process algebra axiom system ACP, that is, the Algebra of Communicating Processes defined by Bergstra and Klop [1984] and overviewed in Baeten and Weijland [1990] , Baeten and Verhoef [1995] , and Fokkink [2000] . ACP is an algebraic approach to concurrency theory Authors' address: Programming Research Group, University of Amsterdam, Kruislaan 403, NL-1098 SJ Amsterdam, The Netherlands, e-mail: alban@science.uva.nl, Web: http://www. science.uva.nl/ research/prog/. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this worked owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 1515 Broadway, New York, NY 10036 USA, fax +1 (212) 869-0481, or permissions@acm.org. C 2001 C ACM 0004-5411/01/1100 C -1207 that supports the interleaving hypothesis: concurrency can be modeled and analyzed in terms of the interleaving and synchronization of actions (elementary, indivisable processes) by a small number of primitive operations. (This is further explained in Section 2.) Although the syntax of ACP is suitable for the specification of finite processes, it is common practice to consider (potentially) infinite behavior, specified by means of recursive equations, and analyzed with help of the axioms of ACP and specific proof rules. Here we follow a different approach to the specification of infinite behavior and use recursive (or "iterative") operations instead (cf. Bergstra et al. [1993 Bergstra et al. [ , 1994 and ; for an overview see ). This approach has lately attracted significant attention, 1 and provides a way to handle infinite processes as terms, hence supporting the equational founding of process algebra.. The purpose of this paper is to establish elementary computability and expressivity results of some particular extensions of ACP with recursive operations. We consider the binary Kleene star as the most basic recursive operation. This operation, notation * , stems from Kleene [1956] and is in process algebra defined by x * y = x · (x * y) + y (cf. Bergstra et al. [1993 Bergstra et al. [ , 1994 ). Here, + is the process algebra operation that models choice, and · (product) models sequential composition. (As usual, · binds stronger than + and the symbol · is often omitted.) With the binary Kleene star one specifies regular processes, that is, finite state processes. As an example, for actions a and b, the process term a * b characterizes the following behavior:. where the labeled arrows represent the execution of actions and √ expresses termination. The present paper can be seen as a follow-up of Bergstra et al. [1994] , where we showed that ACP extended with abstraction and binary Kleene star is suitable to express each regular process if one adopts common behavioral semantics.. In this paper we first consider an extension of ACP with two recursive operations:. -the binary Kleene star * as introduced above; -the push-down operation $, defined by x $ y = x((x $ y)(x $ y)) + y (in ).. In Section 3 we describe a setting in which (unary) recursive functions are computed by "register-machine based processes." Register machine programs and registers, that is, the essential ingredients of register machine computation, are modeled by sequential, deterministic processes. A register machine computation is then 1 The quest for axiomatizations of various behavioral equivalences for various forms of iteration turned out to be attractive: see, for example, Fokkink and Zantema [1994] , Fokkink [1994 Fokkink [ , 1996 Fokkink [ , 1997 , Aceto et al. [ , 1998b Aceto et al. [ , 1998c , , Aceto and Fokkink [1997] , van Glabbeek [1997] , and Aceto and Groote [1999] . specified as the parallel composition of these processes, and results in a sequence of synchronization actions that stem from communications between the "program" and the "registers." There is one distinct register that initially contains the input value, and upon termination of the program the (computed) output value. In the case of nondefinedness, the register machine computation diverges by performing an infinite sequence of synchronization actions. It easily follows that the resulting theory (the set of consequences provable from our extension of ACP) is undecidable.. In spite of having established a set-up in which all recursive functions can be "implemented," the resulting setting is not yet sufficiently expressive: even some very simple processes cannot be defined in ACP extended with * and $ (its standard semantics-strong bisimilarity, see Park [1981] -being taken for granted). This is for instance the case for the process p recursively defined below with actions a and b: p = aq + b, q = ap + a, or in a picture: We have shown that ACP * $ ( A, γ) (i.e., ACP( A, γ) with binary Kleene star and push-down) allows for a straightforward modeling of register machine computation. Adding abstraction to this setting (either axiomatizing rooted branching bisimilarity or rooted τ -bisimilarity) yields a substantial increase in expressivity: (at least) each computable process can be specified with help of auxiliary actions. Furthermore, with abstraction the use of the binary Kleene star can be avoided. In our presentation the use of push-down has paved the way to corresponding results using (the nesting operation) or (the back and forth operation) instead. It should be noticed that the systems ACP * ( A, γ) and ACP * ( A, γ) (and their versions with abstraction) have their own strong points. In particular, a cycle cannot be defined in ACP * ( A, γ) or ACP * ( A, γ) without use of * , so both and are not "iterative" in the most strict sense, and thus may be judged "more primitive." These results establish various equational foundings of process algebra: each computable process can simply be represented by a term in each of ACP τ $ ( A, γ), ACP τ (A, γ) and ACP τ ( A, γ) or the associated rooted τ version. Adding binary Kleene star as well yields a more flexible and natural format for the specification of concurrent processes. Straightforward definitions of typical processes such as stacks, bags (multi-sets) and queues with these recursive operations are given in our companion paper .. In the modeling of computability provided here, both register machine programs and registers are captured by process terms, and their sequential interaction is specified in a concurrent fashion. Of course, many alternatives are conceivable. We mention the approach of Bergstra and Loots [1999] , where typically a register is viewed as a coprogram, i.e., a data type that provides a service to a program. This view emphasizes that programs in RMI can be defined as finite state objects, whereas registers (coprograms) necessarily have unbounded capacity. A process algebraic approach that explicitly incorporates data is µCRL (micro Common Representation Language) defined by Groote and Ponse [1995] ), an ACP-based language in which processes can be parameterized with data via data-parametric actions and recursive specifications. Furthermore, µCRL contains conditional composition and data-parametric forms of communication and summation. Ponse [1996] proved that each computable process can be specified in a BPA-oriented fragment of µCRL.. In this paper we showed undecidability of ACP with one of $, , and at least one of abstraction or binary Kleene star. We did not further address the issue of proof theory. Some interesting conditional proof rules are the following variants of RSP, the Recursive Specification Principle (cf. e.g., Baeten and Weijland [1990] and Fokkink [2000] ):. Here the condition ∂ A (y) = δ (the formulation of which stems from Kamsteeg [1999] ) is only relevant for settings with abstraction and rules out processes with an initial τ -step, in order to exclude undesirable identities like τ a = τ * δ.. It is an open question whether the various ACP extensions when equipped with the appropriate RSP variant(s) characterize the associated type of bisimulation equivalence (strong, rooted branching or rooted τ ). This is a topic of ongoing research. A positive result in this vein is the completeness of BPA( A) + (BKS1) + (RSP * ) for strong bisimulation equivalence (which follows from the equational axiomatization of Fokkink and Zantema [1994] : (BKS2) and (BKS3) are derivable). Furthermore, Aceto et al. [1998b] proved that a whole range of process semantics coarser than strong bisimulation do not allow a finite equational characterization of the binary Kleene star (see also Aceto et al. [1998a] ). Moreover, Sewell [1997] showed that there does not exist a finite equational characterization of the binary Kleene star modulo strong bisimulation in the presence of δ, due to the fact that (a k ) * δ is strongly bisimilar to a * δ for positive integers k. Fokkink [1997] defined the perpetual loop, a restricted form of the binary Kleene star: x ω = x(x ω ) (in a setting with δ and * this yields x ω = x * δ), and provided an RSP-based complete axiomatization of bisimulation equivalence for BPA δ with perpetual loop. Finally, equational axiomatizations of bisimilarity for other BPA-oriented systems with some form of iteration were given in Fokkink [1994] ; ; ; Fokkink [1996] ; Aceto and Fokkink [1997] ; van Glabbeek [1997] ; Aceto et al. [1998c] ; and Aceto and Groote [1999] (for an overview, see ).

O O O O O O O O O B 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 O B I 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 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 B I 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 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 B 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 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 O O O O O O O O B O B 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 I 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


Bounds on the Performance of Belief Propagation Decoding We consider Gallager's soft decoding (belief propagation) algorithm for decoding low density parity check (LDPC) codes, when applied to an arbitrary binary-input symmetric-output channel. By considering the expected values of the messages, we derive both lower and upper bounds on the performance of the algorithm. We also derive various properties of the decoding algorithm, such as a certain robustness to the details of the channel noise. Our results apply both to regular and irregular LDPC codes.Index Terms -Belief propagation, Iterative decoding, Low density parity check (LDPC) codes, Sum product algorithm.Low density parity check (LDPC) codes were introduced by Gallager [5] in 1963, but were relatively ignored for more than thirty years. Recently, following the introduction of turbo codes by Berrou et al. [2], LDPC codes have attracted a great deal of interest. For various channels, it was demonstrated [12] that when properly designed, these codes can be used to transmit information reliably at rates which may be higher than those achievable with turbo codes. In fact, for a considerable number of examples, the maximal transmission rate at which it is possible to transmit information reliably, using these codes, is very close to channel capacity. * IEEE Transactions on Information Theory, volume 48, no. 1, pp. 112-122, January 2002 1 By considering the performance of these codes under optimal (Maximum Likelihood, ML) decoding, LDPC codes have been shown to possess some very desirable properties [5] , [8] , [9] .In fact, it was shown [9] that for properly chosen ensembles of LDPC codes, which are based on regular bipartite graphs, these codes have an error exponent arbitrarily close to the random coding error exponent.Maximum Likelihood decoding of LDPC codes is in general not feasible. Instead, Gallager proposed an iterative soft decoding algorithm, which is also called belief propagation [10] . Unfortunately, the performance of this algorithm is difficult to analyze. As an alternative, Gallager proposed analyzing a hard decision decoding algorithm, using that as a lower bound on the performance of belief propagation. In his proof Gallager assumed a tree-like graph structure and showed how to construct such graphs. Luby et al. [7] generalized this argument to random graphs. Gallager also noted that for any given channel conditions, it is possible to evaluate the performance of belief propagation by evolving the distribution of the messages. Richardson and Urbanke [11] extended this idea, and showed how to apply density evolution efficiently.One practical obstacle encountered when using density evolution is the continuous nature of the messages. This problem may be partially overcome by quantizing the messages using a sufficiently large number of levels. A shortcoming of density evolution is that it is hard to analyze.As an alternative, for the additive white Gaussian noise channel, Chung et al. [4] proposed using a Gaussian approximation for the message distribution. The evolution of the infinite dimensional density space is then reduced to the evolution of a single parameter.In this paper we consider Gallager's soft decoding algorithm, when applied to an arbitrary binary-input symmetric-output channel. Similar to [4], we reduce the evolution of the infinite dimensional space to one dimension. To this end we use a rigorous functional evolution approach.By considering the conditional expectation of the messages given some known (e.g., the all zero) codeword, we derive both lower and upper bounds on the performance of the algorithm. We also derive various properties of the decoding algorithm. These properties include the fact that the algorithm possesses a certain robustness to the details of the channel noise. Another result applies to LDPC codes, which are based on regular graphs with large enough connectivity. In that case, we show that the decoding error probability after a finite number of iterations is bounded away from zero for a sufficiently large block size. This result is interesting since in that case the error probability of a typical code in the ensemble, when using optimal decoding, can be shown to approach the random coding error exponent [9] . Hence, as the connectivity of the graph increases, the gap in performance between belief propagation and optimal decoding increases. In this paper 2 we analyze both regular and irregular LDPC codes. For the case of irregular LDPC codes, our results may be used for deriving simple methods to design the distribution of edge-degrees in the graph.The paper is organized as follows. In Section II we provide some background information on regular and irregular LDPC codes. We also briefly describe Gallager's soft decoding algorithm.In Sections III and IV we analyze the soft decoding algorithm for regular and irregular LDPC codes, respectively. Section V concludes the paper.Throughout the paper we assume a binary-input ( {0, 1} ), symmetric-output, memoryless channel. We first describe the ensemble of irregular LDPC codes that we consider in this paper. The regular code ensemble is a special case of the irregular one. The irregular code ensemble is based on an ensemble of irregular bipartite graphs [6] . We first specify two probability vectors The E edges originating from left nodes are labeled from 1 to E. The same procedure is applied to the E edges originating from right nodes. The ensemble of bipartite graphs is obtained by choosing a permutation π with uniform probability from the space of all permutations of {1, 2, . . . , E}. For each i, the edge labeled i on the left side is associated with the edge labeled π i on the right side.Note that in this way multiple edges may link a pair of nodes.The nodes on the left side are associated with the codeword bits (variable nodes) and the nodes on the right are associated with the parity-check equations (constraints or check nodes).The mapping from the bipartite graph space to the parity-check matrix space is such that an element A i,j in the matrix, corresponding to the i-th node on the right and j-th node on the left, is set to '1' if there is an odd number of edges between the two nodes, and to '0' otherwise.The rate R of each code in the ensemble satisfies R ≥ R, where3 (the inequality is due to a possible degeneracy in the M parity check equations).A special case of the irregular code ensemble that was described above is obtained when all edges have left-degree c and right-degree d. In that case the ensemble is c -d regular and This property also holds for other ensembles of bipartite graphs that define LDPC codes such asGallager's original ensemble [5] and the ensemble described in [8] . Consequently, our results in this paper hold for these ensembles as well.Gallager's soft decoding (belief propagation) algorithm utilizes leftbound and rightbound messages. A leftbound message is a message transmitted from a check node to a variable node. A rightbound message is a messages transmitted from a variable node to a check node.Let s v v = 1, . . . , N be the channel output for the v-th input bit. η v = P (1 | s v ) denotes the conditional probability that the v-th transmitted bit is one given s v . The algorithm is initialized by assigning rightbound message values to each edge in the graph, such that for an edge e with left vertex v this value is η v . The algorithm then proceeds as described in [5] .Belief propagation is a "message passing algorithm" in the sense that information is transmitted back and forth between variable and check nodes along the edges. The transmitted message along an edge is a function of all received messages at the node except for the said edge. This property of the algorithm ensures that the incoming messages are independent when the subgraph spanned from e is tree like.Consider the subgraph of depth two spanned from an edge e, with left vertex v, shown in Figure 1 . We assume that this subgraph is tree like. Denote the edges of this tree by e = (v, w),for levels 0, 1 and 2 of the tree respectively. Denote by X t+1 the random variable (r.v.) corresponding to the rightbound value passed in the decoding algorithm along e at time t + 1. Similarly, denote by Y t i the leftbound message along the edge e i at time t, and by X t i,j the rightbound message along the edge e i,j at time t. Let η = η v denote the conditional probability that the transmitted bit corresponding to v was 1, given the v-th channel output. Then the following relations hold:where(1 − a i ) The reasoning behind belief propagation is as follows. Suppose that the tree assumption holds.X t is the probability that v = 1 given the channel outputs corresponding to the leaves of the tree spanned by e to depth 2t. Given this data, ML decoding may be realized by decoding v as zero if X t < 1/2, and as one if X t > 1/2. If X t = 1/2 we choose between zero and one with equal probabilities.It is easy to verify the following properties of G.where (π 1 , . . . , π n ) is some permutation of (1, . . . , n).G(a 1 , a 2 , . . . , a n ) = G(a 1 , G(a 2 , . . . , a n ))We now discuss the symmetry property of the messages.Suppose that the all-zero codeword has been transmitted. It was shown in [12] that the η v -s are symmetric and that the messages (both rightbound and leftbound) remain symmetric throughout the evolution of the decoding algorithm (as long as the tree assumption holds). Thus, we may assume that the X t i,j -s are symmetric, and hence also the Y t i -s. . Thus the symmetry definition for log-likelihood ratios,Definition 1 utilizes conditional expectations in order to generalize the notion of symmetry to an arbitrary r.v. For convenience we also define the following:Definition 2 We say that a r.v. U has a binary symmetric distribution with parameter 0 ≤ x ≤ 1, x = 1/2, and denote this as U ∼ BS(x), if U equals x with probability 1 − x, and equals 1 − x with probability x. U ∼ BS(1/2) denotes U ≡ 1/2 (i.e. U = 1/2 with probability 1).By this definitionŨIn order to analyze the algorithm we assume throughout the paper that the all-zero codeword was transmitted. We then obtain bounds on the conditional expectation of the messages given this assumption.Recall that T l denotes the event that the subgraph spanned from some edge e to depth l is tree like. Let l = 2t + 2 and suppose that T l is satisfied. The X t i,j -s are then independent identically distributed (i.i.d) and are also independent of η. Let X t have the same (conditional) distribution as each of theIn fact the expectation is also conditional on an all-zero transmitted codeword. However, in order to avoid complicated notation, we do not explicitly indicate this conditioning throughout the paper. Similarly, have:We make use of the following lemma, proved in Appendix A.Lemma 1 Let Y i , 1 ≤ i ≤ n be n symmetric statistically independent r.v.-s, and letỸ i be the bi-The lemma asserts that of all symmetric Y i -s with given expectations, the maximum of EZ is obtained when the Y i -s are binary symmetric.Lemma 1 implies the following.gation algorithm when applied to decode an LDPC code chosen from the regular bipartite graph ensemble with parameters c and d. For any > 0, any integer t and N sufficiently large:whereandNote: Recall that η is the conditional probability that the transmitted bit is 1 given the channel output. Our assumption that the all-zero codeword was transmitted determines the distribution of η.Proof: Recall that T l is the event that the subgraph spanned from some edge to depth l is a tree (with l = 2t + 2). Note thatc denotes complementary event). Recalling (2) and using the fact that 0 ≤ X t ≤ 1 we thus have for any fixed tTo conclude the proof we show that Thus by Lemma 1, E X t+1 | T l = EZ ≤ EZ 1 . Now,Finally (10) follows from (8) and (12). 2Under the all-zero codeword assumption, E 0 = Eη. Theorem 1 is now written as:Thus E t approaches 0 exponentially with t. By Markov's inequality, P (X t ≥ 1/2) ≤ 2E t . But P (X t ≥ 1/2) is just the decoding error probability of the message at the t-th iteration. Thus, if γ < 1 then for t and N large enough (first N → ∞ then t → ∞) the bit error probability can be made arbitrarily small. To show that the block error probability also approaches zero, expander graph arguments [13] may be used. In particular it was shown in [3] that for c > 5 a vanishing bit error probability is a sufficient condition to ensure that for N (code block length) large enough, the algorithm (slightly modified to include appropriate clipping) successfully decodes all N bits with probability arbitrarily close to one.Let us define where y = o(x) denotes y/x → 0 as x → 0 + (a similar expression can be obtained when c is even).To derive (14), we consider the sum in (9). By examining the ratio of consecutive terms, we show 8 that the middle term is the dominant term in the sum. Hence for c > 3,Thus if is sufficiently small then for c > 3,Hence in this case we require Eη < 1/(d − 1)).In addition to that, in Appendix B we show that f (x, c, d) is monotonically increasing in x. A channel W is physically degraded with respect to some other channel, W , if it can be represented as a concatenation of W and some auxiliary channel Q. For example, a binary symmetric channel (BSC) with some crossover parameter is degraded with respect to a BSC with a smaller crossover. Consider two binary-input symmetric-output channels W and W , such that W is degraded with respect to W . Suppose that belief propagation is applied to decode both channels.Also suppose that the tree assumption holds. Consider the decoding error probability after some number of iterations in both cases. Then by [11] [Theorem 1], the decoding error probability of W cannot be larger than the error probability of W . Essentially this is due to the fact that under the tree assumption, belief propagation is the ML decoder given the channel outputs corresponding to the leaves of the tree. Hence if using our method above we can show that belief propagation when applied to W satisfies, P (X t ≥ 1/2) → 0 as t, N → ∞ (first N → ∞, then t → ∞), then the same applies to W .The bound in Theorem 1 may be simplified to obtain the following weaker bound: Low density parity check (LDPC) codes were introduced by Gallager [5] in 1963, but were relatively ignored for more than thirty years. Recently, following the introduction of turbo codes by Berrou et al. [2] , LDPC codes have attracted a great deal of interest. For various channels, it was demonstrated [12] that when properly designed, these codes can be used to transmit information reliably at rates which may be higher than those achievable with turbo codes. In fact, for a considerable number of examples, the maximal transmission rate at which it is possible to transmit information reliably, using these codes, is very close to channel capacity.. By considering the performance of these codes under optimal (Maximum Likelihood, ML) decoding, LDPC codes have been shown to possess some very desirable properties [5] , [8] , [9] .. In fact, it was shown [9] that for properly chosen ensembles of LDPC codes, which are based on regular bipartite graphs, these codes have an error exponent arbitrarily close to the random coding error exponent.. Maximum Likelihood decoding of LDPC codes is in general not feasible. Instead, Gallager proposed an iterative soft decoding algorithm, which is also called belief propagation [10] . Unfortunately, the performance of this algorithm is difficult to analyze. As an alternative, Gallager proposed analyzing a hard decision decoding algorithm, using that as a lower bound on the performance of belief propagation. In his proof Gallager assumed a tree-like graph structure and showed how to construct such graphs. Luby et al. [7] generalized this argument to random graphs. Gallager also noted that for any given channel conditions, it is possible to evaluate the performance of belief propagation by evolving the distribution of the messages. Richardson and Urbanke [11] extended this idea, and showed how to apply density evolution efficiently.. One practical obstacle encountered when using density evolution is the continuous nature of the messages. This problem may be partially overcome by quantizing the messages using a sufficiently large number of levels. A shortcoming of density evolution is that it is hard to analyze.. As an alternative, for the additive white Gaussian noise channel, Chung et al. [4] proposed using a Gaussian approximation for the message distribution. The evolution of the infinite dimensional density space is then reduced to the evolution of a single parameter.. In this paper we consider Gallager's soft decoding algorithm, when applied to an arbitrary binary-input symmetric-output channel. Similar to [4] , we reduce the evolution of the infinite dimensional space to one dimension. To this end we use a rigorous functional evolution approach.. By considering the conditional expectation of the messages given some known (e.g., the all zero) codeword, we derive both lower and upper bounds on the performance of the algorithm. We also derive various properties of the decoding algorithm. These properties include the fact that the algorithm possesses a certain robustness to the details of the channel noise. Another result applies to LDPC codes, which are based on regular graphs with large enough connectivity. In that case, we show that the decoding error probability after a finite number of iterations is bounded away from zero for a sufficiently large block size. This result is interesting since in that case the error probability of a typical code in the ensemble, when using optimal decoding, can be shown to approach the random coding error exponent [9] . Hence, as the connectivity of the graph increases, the gap in performance between belief propagation and optimal decoding increases. In this paper we analyze both regular and irregular LDPC codes. For the case of irregular LDPC codes, our results may be used for deriving simple methods to design the distribution of edge-degrees in the graph.. The paper is organized as follows. In Section II we provide some background information on regular and irregular LDPC codes. We also briefly describe Gallager's soft decoding algorithm.. In Sections III and IV we analyze the soft decoding algorithm for regular and irregular LDPC codes, respectively. Section V concludes the paper. We obtained bounds on the performance of Gallager's soft decoding algorithm, and derived various properties of the algorithm. In particular, our bounds indicate that the algorithm possesses a certain robustness to the details of the channel noise. For the case of LDPC codes based on regular bipartite graphs with graph connectivity and block length sufficiently large, we showed that the decoding algorithm cannot be very effective after any fixed number of iterations (it is completely useless in the BSC case).. In order to obtain a lower bound on the performance of belief propagation, Gallager [5] proposed analyzing a hard decoding algorithm. Our approach for lower bounding the performance is different. It utilizes properties of the iterative procedure and results in improved bounds.. In order to derive our results we used the expected value of the messages conditioned on an all zero transmitted codeword assumption. It is possible that our results may be improved by using the same technique with other functionals other than simple expectation.

O O O O O B I 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 B I 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O 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 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 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 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 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 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 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 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


Engineering crowd interaction within smart environments Smart environments (e.g., airports, hospitals, stadiums, and other physical spaces using ubiquitous computing to empower many mobile people) provide novel challenges for usability engineers. Firstly, interaction can be implicit and therefore unintentional on the part of its users. Secondly, the impact of a smart environment can influence the collective or crowd behavior of those immersed within it. These challenges lead to requirements for complementary analyses which must be combined with the more typical focus on the interaction between user and device. The paper explores a family of stochastic models aimed at analyzing these features with a particular focus on crowd interaction. Smart environments, that is ubiquitous computing systems designed to support users, travelers, patients, shoppers in physical environments, are an important area for future growth of computer based systems. These systems, embedded within physical spatial settings, combine the use of sensors, public displays and hand held mobile devices to create an experience of place and to provide information and services relevant to the environment. Envisaged environments include airports, shopping complexes, hospitals, stadiums, civic buildings. While these systems pose many familiar usability challenges relating to interaction with the displays and the mobile devices, for example how to organize the displays and make actions available to resource users [13] , there are additional challenges.. These environments may be designed to provide a number of solutions for their stakeholders, for example dealing with regulation of waiting times and supporting the user "journey". A well designed environment can improve experience by providing the right information when it is needed. It can be used to improve crowd-system interaction -how long people have to wait for their information, how people are affected by others. Formal models of the whole system, including the users within the system, can be used to "calculate" some of the effects of a proposed design before deployment. Novel usability aspects in relation to these systems include: (1) the effect of implicit or incidental user interaction; (2) the mutual influences of collective user interaction.. These properties of the whole system are complex to analyze. How to perform this analysis has so far been neglected. Because these systems involve many elements, including many users, and some of the crowd effects are stochastic in nature, new modeling techniques are required. The aim of the paper is to use a stochastic modeling technique to indicate how the effect of a particular smart environment design can impact the collective behavior of users of the environment. PEPA [8] and the analysis techniques associated with PEPA provide a scalable approach. The paper explores analysis techniques based on PEPA [8] including the use of stochastic model checking and flow analyses to explore both these aspects of the system, but with a particular emphasis on crowd effects. This is the first time a fluid flow analysis based on stochastic process algebras has been used for the analysis of large populations in smart environments. This approach can handle models incorporating large populations of users, and environments involving a realistic number of spaces in a time efficient manner. This makes the technique described superior to traditional simulation and model checking techniques. It can be used in the early design stages of a smart environment where the developers can make assumptions about predicted volumes of people within the environment.. The paper uses an example, inspired by a guidance system, to explore the feasibility of the approach. The system is designed to help people locate a space within a building. In the example, considered in detail here, a small number of spaces is considered for reasons of presentation. A larger example is considered in the technical report [7] . In this example the searched for location could be a person's office, or a seat in a building or the exit in a stadium or theatre, or it might be used to evacuate these buildings. The system assumes that each "visitor" (the term visitor will be used even though this may not be appropriate for the application) Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. has some form of electronic tag, for example an RFID on a visitor pass. Alternatively the visitor could use their Bluetooth enabled mobile phone. It is assumed that sensors within the environment will recognize the location and identify the user.. This example system forms the basis of the analysis. It is realistic and representative of a large class of systems. Similar analysis could be done for a broader range of applications by adapting the generic models to specific applications. The physical space contains public displays that provide directional information. Each display contains a relatively small number of "slots" (depending on the real estate of the display and other usability considerations) each indicating the direction for a particular destination. Hence if the ticket, held by the user, is for block D and row 13 then this destination would be indicated along with the direction indicating the next space they should go to get to the seat. A number of factors influence the analysis of the properties, P1-P4. For example, information about how quickly a visitor will get to their destination will depend on typical volumes of people and this depends on the system's purpose. For example, providing guidance to people finding their seat in an auditorium will involve a relatively short period over which people arrive (perhaps an hour) and a hard deadline for reaching seats. In such a system people will arrive through a few entry points and will need to reach a large number of destinations. The usability concerns here will relate to how clear the displays are (whether they can be interpreted correctly), the routes, the flows and the waiting times.. PRISM [10] (a stochastic model checker) was used to verify properties expressed in the Continuous Stochastic Logic (CSL) based on P1 and P2 for a much reduced system with 4 visitors. Questions addressed by this analysis included properties that have as a main purpose to verify several correctness issues rather than issues regarding the quantitative effect of the presence of many visitors. Some examples are: Systematic techniques for the analysis of usability tend to focus mainly on the interaction between the individual user and the device: classical techniques such as cognitive walkthrough [12] focus on goals and actions; heuristic evaluation focuses on how well the device supports given design heuristics [11] . Analogous techniques have been formalized with the aim of making them systematic, tool supported and applicable by people who are not expert in human computer interaction, see for example [2, 5] . In smart environments, users are immersed within the system and therefore some properties of the user must be captured in the model. The experience that is created by these systems becomes more important as a result. How experience is captured and analyzed in these formal models is an important issue. Some properties can be captured as properties of the systems that are derived from specific user evaluations [6] . For instance, allaying the anxiety of users within the environment, achieved by ensuring that users have the information they need when and where they want it. When they sit in a seat in the main airport hall, for example, they are able to see the display of up-to-date flight information that is relevant to them. These are properties that can potentially be checked of the system. Other relevant properties concern timeliness of visitors arriving at destination, congestion and reduced capacity. Moreover, the models can in principle accommodate certain kinds of user behavior such as users with reduced capabilities of movement or user making errors in following guidance instructions.

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


Distributed algorithmic mechanism design for scheduling on unrelated machines In classical mechanism design setting the outcome of the mechanism is computed by a trusted central party. The Internet has emerged as the global platform for computation and communication. It offers nearly unlimited resources that could be utilized to solve a vast array of problems. The Internet resources are controlled and operated by a multitude of self-interested, independent parties. These agents may manipulate the protocols in their own benefit and their selfish behavior may lead to degraded performance and reduced efficiency. Solving such problems involving selfish agents is the object of mechanism design theory (also called implementation theory) [13] . This theory helps design protocols in which the agents are given incentives to tell the truth and follow the rules. Such mechanisms or protocols are called truthful or strategyproof. Each participating agent has a £ This research was supported in part by Wayne State University Faculty Research Grant privately known function called valuation which quantifies the agent benefit or loss. The valuation depends on the outcome and is reported to a centralized mechanism. The mechanism chooses an outcome that maximizes a given objective function and makes payments to the agents. The valuations and payments are expressed in some common unit of currency. The payments are designed and used to motivate the agents to report their true valuations. Reporting the true valuations leads to an optimal value for the objective function. The goal of each agent is to maximize the sum of her valuation and payment.. Traditionally, we were mostly concerned with the computational tractability, but now we must jointly address incentive compatibility. This led to the development of algorithmic mechanism design (AMD) [12] . The AMD model assumes a centralized trusted party which computes the outcomes of the mechanism. This model cannot be always used to solve problems that are inherently distributed, thus creating the necessity of distributed implementations. Distributed Algorithmic Mechanism Design (DAMD) [6] has the same objectives as AMD, but in addition the model is characterized by the distribution of the agents, information, and computation. In DAMD agents themselves determine the outcome of the mechanism. This solution creates new opportunities for the agents to manipulate the protocols. Any distributed implementation must address this problem in addition to the other issues form the standard AMD.. In their seminal paper, Nisan and Ronen proposed the strongly truthful MinWork [12] mechanism. The objective of MinWork is to allocate a batch of tasks to a set of agents such that the completion time of the last assignment is minimized. It assumes a trusted central administrator with which the agents freely communicate. The administrator accepts the agents' bids and computes the schedule as a function of the bids. The problem associ-ated with this approach is that the administrator must be trusted by all parties and has limited scalability and reliability.. We propose a distributed variant of MinWork called Distributed MinWork (DMW). DMW does not use a central administrator, but instead, the agents themselves compute the schedule. Our solution is based on the idea presented in [2, 8] . A set of simultaneous distributed auctions determine the allocation and the payment function, while protecting the anonymity of the losing agents and the privacy of their bids. The mechanism is resilient to deviation in the sense that cheaters are detected and eliminated from participating. DMW has low communication and computation complexity.. Related Work. Nisan and Ronen [12] introduced algorithmic mechanism design (AMD), which bridged computational tractability with incentive compatibility. In their work, they used the celebrated Vickrey-ClarkeGroves (VCG) [3, 7, 18] mechanism in designing mechanisms for several standard problems in computer science. They proposed a polynomial-time mechanism called MinWork, which is a Ò-approximation (where Ò is the number of agents) to the scheduling problem.. Feigenbaum et al. [4, 5] initiated the study of DAMD for cost sharing in multicast trees and lowest-cost unicast routing. Mitchell and Teague [9] extended the multicast mechanism by devising a new model where the nodes are controlled by the strategic agents and are permitted to deviate from the protocol. Cheating is detected through the use of digital signatures and when detected, results in heavy fines. Monderer and Tennenholtz [10] studied a single-item auction problem considering a model in which agents communicate with the trusted central party by forwarding messages through other agents.. Ng et al. [11] broadens DAMD to envision competing distributed mechanisms in an open marketplace. Shneidman and Parkes [17] studied the problem of creating distributed system specifications that will be faithfully implemented in systems composed of rational nodes. A faithful implementation guarantees that no node will deviate from the specifications. Parkes and Shneidman [14] considered distributed mechanism implementations. They proposed a set of principles that can be used to develop faithful implementations. Brandt and Sandholm [1] investigated how existing cryptographic building blocks can be used to ensure the correctness and the privacy in distributed mechanisms. We proposed a distributed scheduling mechanism for solving the problem of scheduling on unrelated machines. The agents collaboratively execute a Vickrey auction for each of the tasks to determine the allocation and the payment. The anonymity of the losing agents and the privacy of their bids is protected by using a secret-sharing scheme. We show that our proposed mechanism exhibits the strategic properties inherent to MinWork and thus is truthful. Furthermore, we show that the mechanism preserves the privacy of the losing agents by not revealing their identities or their bids. Lastly, we show that it is polynomial in terms of communication and complexity costs. In future work we are planning to apply similar cryptographic protocol-design techniques to devise secure distributed versions of other centralized mechanisms.

O B I I O B I 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 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 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 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 B I 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


Hardware support for interprocess communication In recent years there has been increasing interest in message-based operating systems, particularly in distributed environments. Such systems consist of a small message-passing kernel supporting a collection of system server processes that provide such services as resource management, file service, and global communications. For such an architecture to be practical, it is essential that basic messages be fast, since they often replace what would be a simple procedure call or "kernel call" in a more traditional system. Careful study of several operating systems shows that the limiting factor, especially for small messages, is typically not network bandwidth but processing overhead. Therefore, we propose using a special-purpose coprocessor to support message passing. Our research has two parts: First, we partitioned an actual message-based operating system into communication and computation parts interacting through shared queues and measured its performance on a multiprocessor. Second, we designed hardware support in the form of a special-purpose smart bus and smart shared memory and demonstrated the benefits of these components through analytical modeling using Generalized Timed Petri Nets. Our analysis shows good agreement with the experimental results and indicates that substantial benefits may be obtained from both the partitioning of the software and the addition of a small amount of special-purpose hardware.We are interested in providing hardware support to improve the performance of distributed systems. For the purposes of this paper, a distributed system is defined as a collection of computing nodes interconnected by a local area network (LAN). There are one or more processors and a certain amount of memory in each node. The nodes do not share memory; message exchange across the network is the only mechanism for communication between them. Local area networking has enhanced the interest of researchers in experimenting with distributed message-based operating systems. Current research [Artsy84, Cheri83, Gagli 85] and our own measurements of several operating systems show that interprocess communication (message passing) is roughly two orders of magnitude slower than a simple procedure call. Since system services are requested via message passing, the performance of message-based operating systems depends crucially on the rate of message passing. Our goal in this research was to study the problem of interprocess communication in a distributed system, and suggest a system architecture that improves the performance in this environment. In this paper, we suggested a system architecture that was composed of a software aspect and a hardware organization. Using GTPN as a modeling tool, we showed that software partitioning and high-level bus transactions (mirroring operating system functions) are a promising approach to solving the messagepassing problem in distributed systems. In this section, we present and compare the results of solving the models for the three architectures for the workload we described earlier.

B B O O B O O O O O O O O O O O B O O B B O B O O O O B O O O O O O O O O O O O O B I O B O B 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 O O B O O O O B O O O O O O O B B O O O O O O O O O O O B B O O B O O O O O O O O O B I O B O O O O O O O O O O B O O B O O O B 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 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 B B O O O B O B B O O O O O O O B 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 B O O O O O B O O O O O O O O O O O O O O B O O B O B O O O O O O O O O O O B O O O B B 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 B O O O O O O B O O O O O B O O O O O O O B O O B O O O O O B O O O B 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 B O O O O O O B I O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O