Вы находитесь на странице: 1из 52

Random Access Transport Capacity

Abstract
This project develop a new metric for quantifying end-to end throughput in Multi hop wireless networks, which we term random access transport capacity, since the interference model presumes uncoordinated transmissions. The metric quantifies the average maximum rate of successful end-to-end transmissions, multiplied by the communication distance, and normali ed by the network area. !e show that a simple upper bound on this quantity is computable in closed-form in terms of key network parameters when the number of retransmissions is not restricted and the hops are assumed to be equally spaced on a line between the source and destination. !e also derive the optimum number of hops and optimal per hop success probability and show that our result follows the well-known square root scaling law while providing exact expressions for the pre-constants, which contain most of the design-relevant network parameters. "umerical results demonstrate that the upper bound is accurate for the purpose of determining the optimal hop count and success #or outage$ probability.

Chapter 1 - Introduction

D%T%&M'"'"( the capacity of distributed wireless networks #i.e., ad hoc networks$ is one of the most general and challenging open problems in information theory. )traightforward applications of known information theoretic tools and inequalities become intractable almost immediately and have hence yielded little in the way of results. This motivates the exploration of approaches to describing ad hoc network throughput that, while falling short of strict information theory upper bound standards, do provide insight into the fundamental trends on achievable throughput.

Motivation
The main line of present inquiry is to consider the transport capacity of an ad hoc network, which quantifies the bits per second that can be reliably communicated over some distance in the network. * significant merit of this approach is that it describes important aspects of the capacity region of all possible rate pairs in the network + notably how the region scales with the number of nodes and has provided high-level insight on how different network scenarios and approaches may affect the scaling law. "otwithstanding special cases that suggest more optimistic scaling, it is generally agreed that the scaling law in ad hoc networks and can be achieved with nearest-neighbor routing through the network. ,espite this considerable progress, a common limitation of this line of research is that the main results are typically asymptotic scaling laws that do not easily allow capacity tradeoffs to be made based on the salient network parameters and design choices. *lthough many efforts have been made to better understand the transport capacity preconstants general tractability has suffered and-or several essential aspects of ad hoc networks have had to be abstracted out.

Chapter 2 Literature review

*n alternative approach pioneered by the current authors and others has focused on computing achievable rate regions and network densities for different architectures and technologies. * key to this approach is to assume that the interferer locations are random, in particular that they are .oisson distributed over the plane. *lthough this is an ideali ation, it accurately models the scenario where transmitters are randomly scattered and uncoordinated, which seems to be quite a bit more realistic than other popular alternatives, such as assuming they are placed deterministically on a regular grid. This approach has allowed closed-form derivation of outage probability as well as the maximum allowable transmission density at a specified outage probability and data rate, the latter of which we have termed the transmission capacity. The analytical tractability of this approach #using tools from stochastic geometry has to date allowed quantitative design tradeoffs for spread spectrum interference cancellation multiple-antenna architectures, cognitive radio and capacity overlays and power control. * common shortcoming of the transmission capacity approach is that it considers a typical network snapshot, and hence only simultaneous single hop transmissions. The primary goal of this paper is to address this limitation, and we develop a related metric which we term the random access transport capacity because it presumes packets are transported end-to-end over some distance but assume independent locations and transmissions for the interferers. 'n that sense, one contribution of the paper is to find a middle ground between the transport and transmission capacity approaches into the capacity of multi-hop wireless networks. *s one might expect, the results of this paper follow the but provide exact expressions for the /preconstants0, which is where nearly all the impact of any network design resides, since most reasonable protocols and physical layer techniques can achieve.

Chapter

!ystem Ana"ysis

#1 $%istence !ystem&
1omplementary to the transport capacity research, some recent work has formulated the multi hop capacity problem as a line network without additional network interference. 2oth of these papers agree that numerous hops are helpful only in the /power-limited3 regime, that is where the spectral efficiency is low and overcoming noise is the primary concern. 2oth also find that in the /bandwidth-limited regime3.

#2 'roposed !ystem&
The primary goal of this project is to address this limitation, and we develop a related metric which we term the random access transport capacity because it presumes packets are transported end-to-end over some distance, but assume independent locations and transmissions for the interferers. 'n that sense, one contribution of the paper is to find a middle ground between the transport and transmission capacity approaches into the capacity of multi hop wireless networks. *s one might expect, the results of this paper follow the scaling law, but provide exact expressions for the /preconstants0, which is where nearly all the impact of any network design resides The key distinction in this work is that we focus on achievable end-to end throughput and optimal transmission strategies and hop count rather than the stability of queues. !e also consider noise whereas they do not, which is important since we show that it is in the power-limited regime where multi hop is beneficial. The capacity of distributed wireless networks #i.e., ad hoc networks$ is one of the most general and challenging open problems in information theory. )traightforward applications of known information theoretic tools and inequalities become intractable almost immediately and have hence yielded little in the way of results. This motivates the

exploration of approaches to describing ad hoc network throughput that, while falling short of strict information theory upper bound standards, do provide insight into the fundamental trends on achievable throughput.

# !ystem !peci(ication
)ardware !peci(ication .rocessor )peed &*M 9ard ,isk ;loppy ,rive =ey 2oard Mouse Monitor 4 4 4 4 4 4 4 4 .entium +''' 5.5 (h 678 M2 #min$ 6: (2 5.<< M2 )tandard !indows =eyboard Two or Three 2utton Mouse )>(*

!o(tware Re*uirements& ?anguage Mobile toolkit ,evelopment Tool B-) 4 4 4 4 @ava &M', )!'"(, @6M% @6M% !ireless Toolkit 6.7.6 My %clipse A.: !'"6:::-C.

#+ !o(tware , Techno"o-y Description


.ava Techno"o-y @ava technology is both a programming language and a platform. The .ava 'ro-rammin- Lan-ua-e The @ava programming language is a high-level language that can be characteri ed by all of the following bu words4 )imple *rchitecture neutral Bbject oriented .ortable ,istributed 9igh performance 'nterpreted Multithreaded &obust ,ynamic )ecure

!ith most programming languages, you either compile or interpret a program so that you can run it on your computer. The @ava programming language is unusual in that a program is both compiled and interpreted. !ith the compiler, first you translate a program into an intermediate language called Java byte codes Dthe platformindependent codes interpreted by the interpreter on the @ava platform. The interpreter parses and runs each @ava byte code instruction on the computer. 1ompilation happens just onceE interpretation occurs each time the program is executed. The following figure illustrates how this works.

Fou can think of @ava byte codes as the machine code instructions for the Java Virtual Machine #@ava >M$. %very @ava interpreter, whether itGs a development tool or a !eb browser that can run applets, is an implementation of the @ava >M. @ava byte codes help make /write once, run anywhere0 possible. Fou can compile your program into byte codes on any platform that has a @ava compiler. The byte codes can then be run on any implementation of the @ava >M. That means that as long as a computer has a @ava >M, the same program written in the @ava programming language can run on !indows 6:::, a )olaris workstation, or on an iMac.

The .ava '"at(orm

* platform is the hardware or software environment in which a program runs. !eGve already mentioned some of the most popular platforms like !indows 6:::, ?inux, )olaris, and MacB). Most platforms can be described as a combination of the operating system and hardware. The @ava platform differs from most other platforms in that itGs a software-only platform that runs on top of other hardware-based platforms. The @ava platform has two components4

The Java Virtual Machine #@ava >M$ The Java Application Programming Interface #@ava *.'$

FouGve already been introduced to the @ava >M. 'tGs the base for the @ava platform and is ported onto various hardware-based platforms. The @ava *.' is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface #(H'$ widgets. The @ava *.' is grouped into libraries of related classes and interfacesE these libraries are known as packages. The next section, !hat 1an @ava Technology ,oI 9ighlights what functionality some of the packages in the @ava *.' provide. The following figure depicts a program thatGs running on the @ava platform. *s the figure shows, the @ava *.' and the virtual machine insulate the program from the hardware.

"ative code is code that after you compile it, the compiled code runs on a specific hardware platform. *s a platform-independent environment, the @ava platform can be a bit slower than native code. 9owever, smart compilers, well-tuned interpreters, and justin-time byte code compilers can bring performance close to that of native code without threatening portability.

What Can Java Technology Do? The most common types of programs written in the @ava programming language are applets and applications. 'f youGve surfed the !eb, youGre probably already familiar with applets. *n applet is a program that adheres to certain conventions that allow it to run within a @ava-enabled browser. 9owever, the @ava programming language is not just for writing cute, entertaining applets for the !eb. The general-purpose, high-level @ava programming language is also a powerful software platform. Hsing the generous *.', you can write many types of programs. *n application is a standalone program that runs directly on the @ava platform. * special kind of application known as a server serves and supports clients on a network. %xamples of servers are !eb servers, proxy servers, mail servers, and print servers. *nother speciali ed program is a servlet. * servlet can almost be thought of as an applet that runs on the server side. @ava )ervlets are a popular choice for building interactive web applications, replacing the use of 1(' scripts. )ervlets are similar to applets in that they are runtime extensions of applications. 'nstead of working in browsers, though, servlets run within @ava !eb servers, configuring or tailoring the server. 9ow does the *.' support all these kinds of programsI 't does so with packages of software components that provides a wide range of functionality. %very full implementation of the @ava platform gives you the following features4

The essentia"s4 Bbjects, strings, threads, numbers, input and output, data structures, system properties, date and time, and so on.

App"ets4 The set of conventions used by applets. /etwor0in-4 H&?s, T1. #Transmission 1ontrol .rotocol$, H,. #Hser ,ata gram .rotocol$ sockets, and '. #'nternet .rotocol$ addresses.

Internationa"i1ation4 9elp for writing programs that can be locali ed for users worldwide. .rograms can automatically adapt to specific locales and be displayed in the appropriate language.

!ecurity4 2oth low level and high level, including electronic signatures, public and private key management, access control, and certificates.

!o(tware components4 =nown as @ava2eansTM, can plug into existing component architectures.

2b3ect seria"i1ation4 *llows lightweight persistence and communication via &emote Method 'nvocation #&M'$.

.ava Database Connectivity 4.D5CTM64 .rovides uniform access to a wide range of relational databases.

The @ava platform also has *.'s for 6, and A, graphics, accessibility, servers, collaboration, telephony, speech, animation, and more. The following figure depicts what is included in the @ava 6 ),=.

How Will Java Technology Change My Life?

!e canGt promise you fame, fortune, or even a job if you learn the @ava programming language. )till, it is likely to make your programs better and requires less effort than other languages. !e believe that @ava technology will help you do the following4

7et started *uic0"y4 *lthough the @ava programming language is a powerful object-oriented language, itGs easy to learn, especially for programmers already familiar with 1 or 1JJ.

8rite "ess code4 1omparisons of program metrics #class counts, method counts, and so on$ suggest that a program written in the @ava programming language can be four times smaller than the same program in 1JJ.

8rite better code4 The @ava programming language encourages good coding practices, and its garbage collection helps you avoid memory leaks. 'ts object orientation, its @ava2eans component architecture, and its wide-ranging, easily extendible *.' let you reuse other peopleGs tested code and introduce fewer bugs.

Deve"op pro-rams more *uic0"y4 Four development time may be as much as twice as fast versus writing the same program in 1JJ. !hyI Fou write fewer lines of code and it is a simpler programming language than 1JJ.

Avoid p"at(orm dependencies with 199: 'ure .ava 4 Fou can keep your program portable by avoiding the use of libraries written in other languages. The 5::K .ure @avaTM .roduct 1ertification .rogram has a repository of historical process manuals, white papers, brochures, and similar materials online.

8rite once; run anywhere4 2ecause 5::K .ure @ava programs are compiled into machine-independent byte codes, they run consistently on any @ava platform.

Distribute so(tware more easi"y4 Fou can upgrade applets easily from a central server. *pplets take advantage of the feature of allowing new classes to be loaded /on the fly,0 without recompiling the entire program.

2D5C

Microsoft Bpen ,atabase 1onnectivity #B,21$ is a standard programming interface for application developers and database systems providers. 2efore B,21 became a de facto standard for !indows programs to interface with database systems, programmers had to use proprietary languages for each database they wanted to connect to. "ow, B,21 has made the choice of the database system almost irrelevant from a coding perspective, which is as it should be. *pplication developers have much more important things to worry about than the syntax that is needed to port their program from one database to another when business needs suddenly change. Through the B,21 *dministrator in 1ontrol .anel, you can specify the particular database that is associated with a data source that an B,21 application program is written to use. Think of an B,21 data source as a door with a name on it. %ach door will lead you to a particular database. ;or example, the data source named )ales ;igures might be a )L? )erver database, whereas the *ccounts .ayable data source could refer to an *ccess database. The physical database referred to by a data source can reside anywhere on the ?*". The B,21 system files are not installed on your system by !indows M7. &ather, they are installed when you setup a separate database application, such as )L? )erver 1lient or >isual 2asic <.:. !hen the B,21 icon is installed in 1ontrol .anel, it uses a file called B,21'")T.,??. 't is also possible to administer your B,21 data sources through a stand-alone program called B,21*,M.%C%. There is a 58-bit and a A6-bit version of this program and each maintains a separate list of B,21 data sources.

;rom a programming perspective, the beauty of B,21 is that the application can be written to use the same set of function calls to interface with any data source, regardless of the database vendor. The source code of the application doesnGt change whether it talks to Bracle or )L? )erver. !e only mention these two as an example. There are B,21 drivers available for several do en popular database systems. %ven %xcel spreadsheets and plain text files can be turned into data sources. The operating system uses the &egistry information written by B,21 *dministrator to determine which lowlevel B,21 drivers are needed to talk to the data source #such as the interface to Bracle

or )L? )erver$. The loading of the B,21 drivers is transparent to the B,21 application program. 'n a client-server environment, the B,21 *.' even handles many of the network issues for the application programmer. The advantages of this scheme are so numerous that you are probably thinking there must be some catch. The only disadvantage of B,21 is that it isnGt as efficient as talking directly to the native database interface. B,21 has had many detractors make the charge that it is too slow. Microsoft has always claimed that the critical factor in performance is the quality of the driver software that is used. 'n our humble opinion, this is true. The availability of good B,21 drivers has improved a great deal recently. *nd anyway, the criticism about performance is somewhat analogous to those who said that compilers would never match the speed of pure assembly language. Maybe not, but the compiler #or B,21$ gives you the opportunity to write cleaner programs, which means you finish sooner. Meanwhile, computers get faster every year.

.D5C 'n an effort to set an independent database standard *.' for @avaE )un Microsystems developed @ava ,atabase 1onnectivity, or @,21. @,21 offers a generic )L? database access mechanism that provides a consistent interface to a variety of &,2M)s. This consistent interface is achieved through the use of /plug-in0 database connectivity modules, or drivers. 'f a database vendor wishes to have @,21 support, he or she must provide the driver for each platform that the database and @ava run on. To gain a wider acceptance of @,21, )un based @,21Gs framework on B,21. *s you discovered earlier in this chapter, B,21 has widespread support on a variety of platforms. 2asing @,21 on B,21 will allow vendors to bring @,21 drivers to market much faster than developing a completely new connectivity solution. @,21 was announced in March of 5MM8. 't was released for a M: day public review that ended @une N, 5MM8. 2ecause of user input, the final @,21 v5.: specification was released soon after.

The remainder of this section will cover enough information about @,21 for you to know what it is about and how to use it effectively. This is by no means a complete overview of @,21. That would fill an entire book.

.D5C 7oa"s ;ew software packages are designed without goals in mind. @,21 is one that, because of its many goals, drove the development of the *.'. These goals, in conjunction with early reviewer feedback, have finali ed the @,21 class library into a solid framework for building database applications in @ava. The goals that were set for @,21 are important. They will give you some insight as to why certain classes and functionalities behave the way they do. The eight design goals for @,21 are as follows4

1. SQL Level API The designers felt that their main goal was to define a )L? interface for @ava. *lthough not the lowest database interface level possible, it is at a low enough level for higher-level tools and *.'s to be created. 1onversely, it is at a high enough level for application programmers to use it confidently. *ttaining this goal allows for future tool vendors to /generate0 @,21 code and to hide many of @,21Gs complexities from the end user. . SQL Confo!"ance )L? syntax varies as you move from database vendor to database vendor. 'n an effort to support a wide variety of vendors, @,21 will allow any query statement to be passed through it to the underlying database driver. This allows the connectivity module to handle non-standard functionality in a manner that is suitable for its users.

A. JD#C "$%t &e i"'le"ental on to' of co""on (ata&a%e inte!face% The @,21 )L? *.' must /sit0 on top of other common )L? level *.'s. This goal allows @,21 to use existing B,21 level drivers by the use of a software interface. This interface would translate @,21 calls to B,21 and vice versa. ). P!ovi(e a Java inte!face that i% con%i%tent with the !e%t of the Java %y%te" 2ecause of @avaGs acceptance in the user community thus far, the designers feel that they should not stray from the current design of the core @ava system. *. +ee' it %i"'le This goal probably appears in all software design goal listings. @,21 is no exception. )un felt that the design of @,21 should be very simple, allowing for only one method of completing a task per mechanism. *llowing duplicate functionality only serves to confuse the users of the *.'. ,. -%e %t!ong. %tatic ty'ing whe!eve! 'o%%i&le )trong typing allows for more error checking to be done at compile timeE also, less error appear at runtime. /. +ee' the co""on ca%e% %i"'le 2ecause more often than not, the usual )L? calls used by the programmer are simple )%?%1TGs, '")%&TGs, ,%?%T%Gs and H.,*T%Gs, these queries should be simple to perform with @,21. 9owever, more complex )L? statements should also be possible. ;inally we decided to precede the implementation using @ava "etworking. *nd for dynamically updating the cache table we go for M) *ccess database. @ava ha two things4 a programming language and a platform. @ava is a high-level programming language that is all of the following )imple Bbject-oriented ,istributed *rchitecture-neutral .ortable 9igh-performance

'nterpreted &obust )ecure

multithreaded ,ynamic

@ava is also unusual in that each @ava program is both compiled and interpreted. !ith a compile you translate a @ava program into an intermediate language called @ava byte codes the platform-independent code instruction is passed and run on the computer.

1ompilation happens just onceE interpretation occurs each time the program is executed. The figure illustrates how this works.

Java Program

Interpreter

Compilers

My Program

Fou can think of @ava byte codes as the machine code instructions for the @ava >irtual Machine #@ava >M$. %very @ava interpreter, whether itGs a @ava development tool or a !eb browser that can run @ava applets, is an implementation of the @ava >M. The @ava >M can also be implemented in hardware.

@ava byte codes help make /write once, run anywhere0 possible. Fou can compile your @ava program into byte codes on my platform that has a @ava compiler. The byte codes can then be run any implementation of the @ava >M. ;or example, the same @ava program can run !indows "T, )olaris, and Macintosh. 0etwo!1ing TC'<I' stac0 The T1.-'. stack is shorter than the B)' one4

T1. is a connection-oriented protocolE H,. #Hser ,atagram .rotocol$ is a connectionless protocol. I' data-ram=s The '. layer provides a connectionless and unreliable delivery system. 't considers each datagram independently of the others. *ny association between datagram must be supplied by the higher layers. The '. layer supplies a checksum that includes its own

header. The header includes the source and destination addresses. The '. layer handles routing through an 'nternet. 't is also responsible for breaking up large datagram into smaller ones for transmission and reassembling them at the other end. >D' H,. is also connectionless and unreliable. !hat it adds to '. is a checksum for the contents of the datagram and port numbers. These are used to give a client-server model see later. TC' T1. supplies logic to give a reliable connection-oriented protocol above '.. 't provides a virtual circuit that two processes can use to communicate. Internet addresses 'n order to use a service, you must be able to find it. The 'nternet uses an address scheme for machines so that they can be located. The address is a A6 bit integer which gives the '. address. This encodes a network ', and more addressing. The network ', falls into various classes according to the si e of the network address. /etwor0 address 1lass * uses N bits for the network address with 6< bits left over for other addressing. 1lass 2 uses 58 bit network addressing. 1lass 1 uses 6< bit network addressing and class , uses all A6. !ubnet address 'nternally, the H"'C network is divided into sub networks. 2uilding 55 is currently on one sub network and uses 5:-bit addressing, allowing 5:6< different hosts. )ost address N bits are finally used for host addresses within our subnet. This places a limit of 678 machines that can be on the subnet.

Tota" address

The A6 bit address is usually written as < integers separated by dots. 'ort addresses * service exists on a host, and is identified by its port. This is a 58 bit number. To send a message to a server, you send it to the port for that service of the host that it is running on. This is not location transparencyO 1ertain of these ports are 3well known3. !oc0ets * socket is a data structure maintained by the system to handle network connections. * socket is created using the call socket. 't returns an integer that is like a file descriptor. 'n fact, under !indows, this handle can be used with &ead ;ile and !rite ;ile functions. Pinclude Qsys-types.hR Pinclude Qsys-socket.hR int socket#int family, int type, int protocol$E 9ere 3family3 will be *;S'"%T for '. communications, protocol will be ero, and type will depend on whether T1. or H,. is used. Two processes wishing to communicate over a network create a socket each. These are similar to two ends of a pipe - but the actual pipe does not yet exist. .?ree Chart

@;ree1hart is a free 5::K @ava chart library that makes it easy for developers to display professional quality charts in their applications. @;ree1hartTs extensive feature set includes4 * consistent and well-documented *.', supporting a wide range of chart typesE * flexible design that is easy to extend, and targets both server-side and client-side applicationsE )upport for many output types, including )wing components, image files #including ."( and @.%($, and vector graphics file formats #including .,;, %.) and )>($E @;ree1hart is 3open source3 or, more specifically, free software. 't is distributed under the terms of the ("H ?esser (eneral .ublic ?icence #?(.?$, which permits use in proprietary applications. 1. Ma' 2i%$ali3ation% 1harts showing values that relate to geographical areas. )ome examples include4 #a$ population density in each state of the Hnited )tates, #b$ income per capita for each country in %urope, #c$ life expectancy in each country of the world. The tasks in this project include4 )ourcing freely redistributable vector outlines for the countries of the world, states-provinces in particular countries #H)* in particular, but also other areas$E 1reating an appropriate dataset interface #plus default implementation$, a rendered, and integrating this with the existing CF.lot class in @;ree1hartE Testing, documenting, testing some more, documenting some more. . Ti"e Se!ie% Cha!t Inte!activity

'mplement a new #to @;ree1hart$ feature for interactive time series charts --- to display a separate control that shows a small version of *?? the time series data, with a sliding

3view3 rectangle that allows you to select the subset of the time series data to display in the main chart.

4. Da%h&oa!(% There is currently a lot of interest in dashboard displays. 1reate a flexible dashboard mechanism that supports a subset of @;ree1hart chart types #dials, pies, thermometers, bars, and lines-time series$ that can be delivered easily via both @ava !eb )tart and an applet. ). P!o'e!ty 5(ito!% The property editor mechanism in @;ree1hart only handles a small subset of the properties that can be set for charts. %xtend #or reimplement$ this mechanism to provide greater end-user control over the appearance of the charts.

.2M$ 4.ava 2 Micro edition6&)un Microsystems defines @6M% as 3a highly optimi ed @ava run-time environment targeting a wide range of consumer products, including pagers, cellular phones, screenphones, digital set-top boxes and car navigation systems.3 *nnounced in @une 5MMM at the @avaBne ,eveloper 1onference, @6M% brings the cross-platform functionality of the @ava language to smaller devices, allowing mobile wireless devices to share applications. !ith @6M%, )un has adapted the @ava platform for consumer products that incorporate or are based on small computing devices. 1# 7enera" .2M$ architecture

@6M% uses configurations and profiles to customi e the @ava &untime %nvironment #@&%$. *s a complete @&%, @6M% is comprised of a configuration, which determines the @>M used, and a profile, which defines the application by adding domain-specific classes. The configuration defines the basic run-time environment as a set of core classes and a specific @>M that run on specific types of devices. !eTll discuss configurations in detail in the The profile defines the applicationE specifically, it adds domain-specific classes to the @6M% configuration to define certain uses for devices. !eTll cover profiles in depth in the The following graphic depicts the relationship between the different virtual machines, configurations, and profiles. 't also draws a parallel with the @6)% *.' and its @ava virtual machine. !hile the @6)% virtual machine is generally referred to as a @>M, the @6M% virtual machines, =>M and 1>M, are subsets of @>M. 2oth =>M and 1>M can be thought of as a kind of @ava virtual machine -- itTs just that they are shrunken versions of the @6)% @>M and are specific to @6M%. 2# Deve"opin- .2M$ app"ications 'ntroduction 'n this section, we will go over some considerations you need to keep in mind when developing applications for smaller devices. !eTll take a look at the way the compiler is invoked when using @6)% to compile @6M% applications. ;inally, weTll explore packaging and deployment and the role preverification plays in this process.

# Desi-n considerations (or sma"" devices ,eveloping applications for small devices requires you to keep certain strategies in mind during the design phase. 't is best to strategically design an application for a small device before you begin coding. 1orrecting the code because you failed to consider all of the 3gotchas3 before developing the application can be a painful process. 9ere are some design strategies to consider4 U =eep it simple. &emove unnecessary features, possibly making those features a separate, secondary application. U )maller is better. This consideration should be a 3no brainer3 for all developers. )maller applications use less memory on the device and require shorter installation times. 1onsider packaging your @ava applications as compressed @ava *rchive #jar$ files. U Minimi e run-time memory use. To minimi e the amount of memory used at run time, use scalar types in place of object types. *lso, do not depend on the garbage collector. Fou should manage the memory efficiently yourself by setting object references to null when you are finished with them. *nother way to reduce run-time memory is to use la y instantiation, only allocating objects on an as-needed basis. Bther ways of reducing overall and peak memory use on small devices are to release resources quickly, reuse objects, and avoid exceptions. +# Con(i-urations overview The configuration defines the basic run-time environment as a set of core classes and a specific @>M that run on specific types of devices. 1urrently, two configurations exist for @6M%, though others may be defined in the future4 U Connected Limited Device Con(i-uration 4CLDC6 is used specifically with the =>M for 58-bit or A6-bit devices with limited amounts of memory. This is the configuration #and the virtual machine$ used for developing small @6M% applications. 'ts si e limitations make 1?,1 more interesting and challenging #from a development point of view$ than 1,1. 1?,1 is also the configuration that we will use for developing our

drawing tool application. *n example of a small wireless device running small applications is a .alm hand-held computer. U Connected Device Con(i-uration 4CDC6 is used with the 1 virtual machine #1>M$ and is used for A6-bit architectures requiring more than 6 M2 of memory. *n example of such a device is a "et T> box. @# .2M$ pro(i"es 8hat is a .2M$ pro(i"eA *s we mentioned earlier in this tutorial, a profile defines the type of device supported. The Mobile 'nformation ,evice .rofile #M',.$, for example, defines classes for cellular phones. 't adds domain-specific classes to the @6M% configuration to define uses for similar devices. Two profiles have been defined for @6M% and are built upon 1?,14 =@ava and M',.. 2oth =@ava and M',. are associated with 1?,1 and smaller devices. .rofiles are built on top of configurations. 2ecause profiles are specific to the si e of the device #amount of memory$ on which an application runs, certain profiles are associated with certain configurations. * skeleton profile upon which you can create your own profile, the ;oundation .rofile, is available for 1,1. 'ro(i"e 1& B.ava =@ava is )unTs proprietary profile and contains the =@ava *.'. The =@ava profile is built on top of the 1?,1 configuration. The =@ava virtual machine, =>M, accepts the same byte codes and class file format as the classic @6)% virtual machine. =@ava contains a )un-specific *.' that runs on the .alm B). The =@ava *.' has a great deal in common with the @6)% *bstract !indowing Toolkit #*!T$. 9owever, because it is not a standard @6M% package, its main package is com.sun.kjava. !eTll learn more about the =@ava *.' later in this tutorial when we develop some sample applications. 'ro(i"e 2& MID'

M',. is geared toward mobile devices such as cellular phones and pagers. The M',., like =@ava, is built upon 1?,1 and provides a standard run-time environment that allows new applications and services to be deployed dynamically on end user devices. M',. is a common, industry-standard profile for mobile devices that is not dependent on a specific vendor. 't is a complete and supported foundation for mobile application development. M',. contains the following packages, the first three of which are core 1?,1 packages, plus three M',.-specific packages. U java.lang U java.io U java.util U javax.microedition.io U javax.microedition.lcdui U javax.microedition.midlet U javax.microedition.rms

Chapter + Modu"e Description

'mplementation is the stage of the project when the theoretical design is turned out into a working system. Thus it can be considered to be the most critical stage in achieving a successful new system and in giving the user, confidence that the new system will work and be effective. The implementation stage involves careful planning, investigation of the existing system and itGs constraints on implementation, designing of methods to achieve changeover and evaluation of changeover methods.

'ro3ect Imp"ementation Modu"e&-

1# !in-"e )op; !in-"e Transmission

'n this project we develop a new, quite general model for end-to-end throughput in a multi hop wireless network. !e term the resulting metric random access transport capacity since the analysis requires all transmissions to be independent, which precludes cooperative transmission scheduling among the nodes, since this would generally couple transmissions and the active transmitter locations would no longer be independent. 9owever, that the model does not preclude cooperative or multi packet reception, although we do not consider such approaches in this paper. The general model includes arbitrary paths of hops and an end-to-end delay-

2# Mu"tip"e )ops; Mu"tip"e Transmissions per )op Modu"e&


The random access transport capacity for a multi hop wireless network is the maximum average source to destination rate that can be sustained reliably over a distance with at most transmission attempts per packet, normali ed by the area of

the network. ;ormally, this paper is to move beyond the single-hop, single-transmission model to a network that allows multiple hops and multiple transmissions per hop, while retaining some of the tractability of the transmission capacity model.

# Random access transport capacity Modu"e&


That Module, only nodes that compose network detect other nodes of network and ;orm network without alternative system management. )uch as existing network, alternative base station, wire, cable, router and bridge are possible to compose network without infrastructure for composing network, see ;ig below.

"ode ) checks the table that there is any information of node ,, which canGt communicate with infrastructure. 'f it doesnGt have information about node ,, node ) sends &&%L messages, with sequence number to countermeasure loops, to the neighboring nodes via broadcast and starts path discovery process. &&%L messages are sent throughout the network within the predefined time period until it reaches to the destination node ,,

'n emergency situation, a node that canGt communicate with infrastructure turns on *d hoc mode and communicate with a node who can communicate with infrastructure. 9owever suppose one of the node in the path moves and path is broken. Then a surrounding node which is the nearest to the node ) broadcasts &&%LSrp message to recover path. Hsing reserve part in the message, it notices to receive nodes that it is for path. )ee fig given below... &ecovery

+# $nd-to-$nd 7uaranteed De"ivery Modu"e&

%ach transmission per hop to have independent success probability requires sufficient diversity in the interference and signal strength per transmission attempt, which could possibly be achieved through diversity techniques such as frequency hopping. 't follows the square-root scaling law for source-destination transmissions in large wireless networks. That is, unscheduled, channel-blind transmissions can achieve + given well-positioned relays + a transport capacity that scales the same as optimally scheduled nearest neighbor routing.

Chapter @ - !ystem Desi-n

Data ?"ow Dia-ram < >se Case Dia-ram < ?"ow Dia-ram

The ,;, is also called as bubble chart. 't is a simple graphical formalism that can be used to represent a system in terms of the input data to the system, various processing carried out on these data, and the output data is generated by the system.

Leve"1 /orma" Transport /etwor0 ?"ow

Leve" 2 !ome /etwor0 ?ai"ure its usin- A"ter path networ0

>ML D$!I7/ Data ?"ow Dia-ram&

Start

Mobile Server OFF NODE ON/OFF intermediate Nodes DEFAULT NODE ON

ON Multicast Path Created

Messa"e Send to Client

Chec Net!or Monitor !heather node connected or disconnected

Send si"nal to all Nodes

Messa"e #eceived to Mobile Client

Activity Dia-ram&

Mobile Server

$ntermediate Nodes

Node On/O%%

De%ault node On/O%%

Path Connected to net!or Monitor

Path Disconnected

Mobile Client

Mess"e #eceived

!e*uence Dia-ram&

transport capacity Intermideate Nodes Mobile Server Message Send

Network Monitor Mobile client

Create Node On/Off


Set De%ault node On/ o%%

Messa"e #eceived

Message send

Messa"e #eceived

Connect Sin Node &ath Created

messa"e #eceived Alter &ath

Mess"e not send

chec Node ca&acit' status

2.7.3.4 ACTIVITY DIAG AM

Chapter C !ystem Testin!ig"re #

The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable fault or weakness in a work product. 't provides a way to check the functionality of components, sub assemblies, assemblies and-or a finished product 't is the process of exercising software with the intent of ensuring that the )oftware system meets its requirements and user expectations and does not fail in an unacceptable manner. There are various types of test. %ach test type addresses a specific testing requirement.

TD'$! 2? T$!T!

>nit testinHnit testing involves the design of test cases that validate that the internal program logic is functioning properly, and that program inputs produce valid outputs. *ll decision branches and internal code flow should be validated. 't is the testing of individual software units of the application .it is done after the completion of an individual unit before integration. This is a structural testing, that relies on knowledge of its construction and is invasive. Hnit tests perform basic tests at component level and test a specific business process, application, and-or system configuration. Hnit tests ensure that each unique path of a business process performs accurately to the documented specifications and contains clearly defined inputs and expected results.

Inte-ration testin'ntegration tests are designed to test integrated software components to determine if they actually run as one program. Testing is event driven and is more concerned with the basic outcome of screens or fields. 'ntegration tests demonstrate that although the components were individually satisfaction, as shown by successfully unit testing, the combination of components is correct and consistent. 'ntegration testing is specifically aimed at exposing the problems that arise from the combination of components.

?unctiona" testin-

;unctional tests provide systematic demonstrations that functions tested are available as specified by the business and technical requirements, system documentation, and user manuals. ;unctional testing is centered on the following items4 >alid 'nput 'nvalid 'nput ;unctions Butput 4 identified classes of valid input must be accepted. 4 identified classes of invalid input must be rejected. 4 identified functions must be exercised. 4 identified classes of application outputs must be exercised.

)ystems-.rocedures4 interfacing systems or procedures must be invoked.

Brgani ation and preparation of functional tests is focused on requirements, key functions, or special test cases. 'n addition, systematic coverage pertaining to identify 2usiness process flowsE data fields, predefined processes, and successive processes must be considered for testing. 2efore functional testing is complete, additional tests are identified and the effective value of current tests is determined.

!ystem Test )ystem testing ensures that the entire integrated software system meets requirements. 't tests a configuration to ensure known and predictable results. *n example of system testing is the configuration oriented system integration test. )ystem testing is based on process descriptions and flows, emphasi ing pre-driven process links and integration points.

8hite 5o% Testin!hite 2ox Testing is a testing in which in which the software tester has knowledge of the inner workings, structure and language of the software, or at least its purpose. 't is purpose. 't is used to test areas that cannot be reached from a black box level.

5"ac0 5o% Testin2lack 2ox Testing is testing the software without any knowledge of the inner workings, structure or language of the module being tested. 2lack box tests, as most other kinds of tests, must be written from a definitive source document, such as specification or requirements document, such as specification or requirements document. 't is a testing in which the software under test is treated, as a black box .you cannot /see0 into it. The test provides inputs and responds to outputs without considering how the software works.

C#1 >nit Testin-&


Hnit testing is usually conducted as part of a combined code and unit test phase of the software lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct phases. Test strate-y and approach ;ield testing will be performed manually and functional tests will be written in detail.

Test ob3ectives *ll field entries must work properly.

.ages must be activated from the identified link. The entry screen, messages and responses must not be delayed.

?eatures to be tested >erify that the entries are of the correct format "o duplicate entries should be allowed *ll links should take the user to the correct page.

C#2 Inte-ration Testin)oftware integration testing is the incremental integration testing of two or more integrated software components on a single platform to produce failures caused by interface defects. The task of the integration test is to check that components or software applications, e.g. components in a software system or + one step up + software applications at the company level + interact without error. Test Resu"ts& *ll the test cases mentioned above passed successfully. "o defects encountered.

C# Acceptance Testin-

Hser *cceptance Testing is a critical phase of any project and requires significant participation by the end user. 't also ensures that the system meets the functional requirements.

Test Resu"ts& *ll the test cases mentioned above passed successfully. "o defects encountered.

Chapter E !ystem Imp"ementation

Chapter F - Conc"usion

This paper introduced a metric called the random access transport capacity, which is similar in spirit to the well known transport capacity metric but made more tractable #and admittedly, less general$ with three admittedly strong assumptions4 #i$ uncoordinated transmissions, allowing a .oisson interference model, #ii$ equally spaced relays on a line between the source and destination, which allows identical statistics for each hop, and #iii$ an iid interference and signal sample for each retransmission, which allows a geometric distribution to model the number of transmissions required per hop. The primary benefit of these assumptions is that they allow a closed-form and reasonably tight upper bound to be derived for the end-to-end throughput in terms of the key network parameters, which is notoriously difficult to accomplish in a general model. *lternatively, the approach in this paper can be viewed as a nontrivial extension of the more recent transmission capacity line of work + all of which is single hop, single transmission, and not end-to-end + to a multi hop, end-to-end setting where retransmissions are allowed.

!creenshots

Re(erences
5. .. (upta and .. =umar, /The capacity of wireless networks,3 '%%% Trans. 'nf. Theory, vol. <8, no. 6, pp. ANN-<:<, Mar. 6:::. 6. M. (rossglauser and ,. Tse, /Mobility increases the capacity of ad hoc wireless networks,3 '%%%-*1M Trans. "etworking, vol. 5:, no. <, pp. <VV-N8, *ug. 6::6. A. &. "egi and *. &ajeswaran, /1apacity of power constrained ad-hoc networks,3 in .roc. '%%% '";B1BM, vol. 5, Mar. 6::<, pp. <<A-7A. <. *. B gur, B. ?eveque, and ,. Tse, /9ierarchical cooperation achieves optimal capacity scaling in ad hoc networks,3 '%%% Trans. 'nf. Theory, vol. 7A, no. 5:, pp. A7<M-V6, Bct. 6::V. 7. ;. Cue and .. &. =umar, /)caling laws for ad hoc wireless networks4 an information theoretic approach,3 ;oundations Trends "etw., vol. 5, no. 6, pp. 5<7-6V:, 6::8. 8. ). Toumpis and *. @. (oldsmith, /?arge wireless networks under fading, mobility, and delay constraints,3 in .roc. '%%% '";B1BM, 9ong =ong, Mar. 6::<. V. B. ?eveque and '. %. Teletar, /'nformation-theoretic upper bounds on the capacity of large extended ad hoc wireless networks,3 '%%% Trans. 'nf. Theory, pp. N7N87, Mar. 6::7. N. M. ;ranceschetti, M. Migliore, and .. Minero, /The capacity of wireless networks4 information-theoretic and physical limits,3 '%%% Trans. 'nf. Theory, vol. 77, no. N, pp. A<5A-6<, *ug. 6::M. M. H. "iesen, .. (upta, and ,. )hah, /Bn capacity scaling of arbitrary wireless networks,3 '%%% Trans. 'nf. Theory, vol. 77, no. M, pp. AM7M AMN6, )ep. 6::M.

!ites Re(erred& http4--java.sun.com http4--www.sourcefordgde.com http4--www.networkcomputing.comhttp4--www.roseindia.comhttp4--www.java6s.com-

Вам также может понравиться