Remote Access to Large Spatial Databases Enterprises in the public and private sectors have been making their large spatial data archives available over the Internet . However , interactive work with such large volumes of online spatial data is a challenging task . We propose two efficient approaches to remote access to large spatial data . First , we introduce a client-server architecture where the work is distributed between the server and the individual clients for spatial query evaluation , data visualization , and data management . We enable the minimization of the requirements for system resources on the client side while maximizing system responsiveness as well as the number of connections one server can handle concurrently . Second , for prolonged periods of access to large online data , we introduce APPOINT -LRB- an Approach for Peer-to-Peer Offloading the INTernet -RRB- . This is a centralized peer-to-peer approach that helps Internet users transfer large volumes of online data efficiently . In APPOINT , active clients of the client-server architecture act on the server 's behalf and communicate with each other to decrease network latency , improve service bandwidth , and resolve server congestions . C. 2.4 -LSB- Computer-Communication Networks -RSB- : Distributed Systems -- Client/server , Distributed applications , Distributed databases ; H. 2.8 -LSB- Database Management -RSB- : Database Applications -- Spatial databases and GIS This work was supported in part by the National Science Foundation under Grants EIA-99-00268 , EIA-99-01636 , EAR-99-05844 , IIS-00-86162 , and EIA-00-91474 . 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 , to republish , to post on servers or to redistribute to lists , requires prior specific permission and/or a fee . GIS ' 02 , November 8 9 , 2002 , McLean , Virginia , USA . Copyright 2002 ACM 1-58113-591 -2 / 02/0011 ... $ 5 . 00 . Performance , Management In recent years , enterprises in the public and private sectors have provided access to large volumes of spatial data over the Internet . Interactive work with such large volumes of online spatial data is a challenging task . We have been developing an interactive browser for accessing spatial online databases : the SAND -LRB- Spatial and Non-spatial Data -RRB- Internet Browser . Users of this browser can interactively and visually manipulate spatial data remotely . Unfortunately , interactive remote access to spatial data slows to a crawl without proper data access mechanisms . We developed two separate methods for improving the system performance , together , form a dynamic network infrastructure that is highly scalable and provides a satisfactory user experience for interactions with large volumes of online spatial data . The core functionality responsible for the actual database operations is performed by the server-based SAND system . SAND is a spatial database system developed at the University of Maryland -LSB- 12 -RSB- . The client-side SAND Internet Browser provides a graphical user interface to the facilities of SAND over the Internet . Users specify queries by choosing the desired selection conditions from a variety of menus and dialog boxes . SAND Internet Browser is Java-based , which makes it deployable across many platforms . In addition , since Java has often been installed on target computers beforehand , our clients can be deployed on these systems with little or no need for any additional software installation or customiza-tion . The system can start being utilized immediately without any prior setup which can be extremely beneficial in time-sensitive usage scenarios such as emergencies . There are two ways to deploy SAND . First , any standard Web browser can be used to retrieve and run the client piece -LRB- SAND Internet Browser -RRB- as a Java application or an applet . This way , users across various platforms can continuously access large spatial data on a remote location with little or 1 5 no need for any preceding software installation . The second option is to use a stand-alone SAND Internet Browser along with a locally-installed Internet-enabled database management system -LRB- server piece -RRB- . In this case , the SAND Internet Browser can still be utilized to view data from remote locations . However , frequently accessed data can be downloaded to the local database on demand , and subsequently accessed locally . Power users can also upload large volumes of spatial data back to the remote server using this enhanced client . We focused our efforts in two directions . We first aimed at developing a client-server architecture with efficient caching methods to balance local resources on one side and the significant latency of the network connection on the other . The low bandwidth of this connection is the primary concern in both cases . The outcome of this research primarily addresses the issues of our first type of usage -LRB- i.e. , as a remote browser application or an applet -RRB- for our browser and other similar applications . The second direction aims at helping users that wish to manipulate large volumes of online data for prolonged periods . We have developed a centralized peer-to - peer approach to provide the users with the ability to transfer large volumes of data -LRB- i.e. , whole data sets to the local database -RRB- more efficiently by better utilizing the distributed network resources among active clients of a client-server architecture . We call this architecture APPOINT - Approach for Peer-to-Peer Offloading the INTernet . The results of this research addresses primarily the issues of the second type of usage for our SAND Internet Browser -LRB- i.e. , as a stand-alone application -RRB- . The rest of this paper is organized as follows . Section 2 describes our client-server approach in more detail . Section 3 focuses on APPOINT , our peer-to-peer approach . Section 4 discusses our work in relation to existing work . Section 5 outlines a sample SAND Internet Browser scenario for both of our remote access approaches . Section 6 contains concluding remarks as well as future research directions . Traditionally , Geographic Information Systems -LRB- GIS -RRB- such as ArcInfo from ESRI -LSB- 2 -RSB- and many spatial databases are designed to be stand-alone products . The spatial database is kept on the same computer or local area network from where it is visualized and queried . This architecture allows for instantaneous transfer of large amounts of data between the spatial database and the visualization module so that it is perfectly reasonable to use large-bandwidth protocols for communication between them . There are however many applications where a more distributed approach is desirable . In these cases , the database is maintained in one location while users need to work with it from possibly distant sites over the network -LRB- e.g. , the Internet -RRB- . These connections can be far slower and less reliable than local area networks and thus it is desirable to limit the data flow between the database -LRB- server -RRB- and the visualization unit -LRB- client -RRB- in order to get a timely response from the system . Our client-server approach -LRB- Figure 1 -RRB- allows the actual database engine to be run in a central location maintained by spatial database experts , while end users acquire a Java-based client component that provides them with a gateway into the SAND spatial database engine . Our client is more than a simple image viewer . Instead , it operates on vector data allowing the client to execute many operations such as zooming or locational queries locally . In Figure 1 : SAND Internet Browser -- Client-Server architecture . essence , a simple spatial database engine is run on the client . This database keeps a copy of a subset of the whole database whose full version is maintained on the server . This is a concept similar to ` caching ' . In our case , the client acts as a lightweight server in that given data , it evaluates queries and provides the visualization module with objects to be displayed . It initiates communication with the server only in cases where it does not have enough data stored locally . Since the locally run database is only updated when additional or newer data is needed , our architecture allows the system to minimize the network traffic between the client and the server when executing the most common user-side operations such as zooming and panning . In fact , as long as the user explores one region at a time -LRB- i.e. , he or she is not panning all over the database -RRB- , no additional data needs to be retrieved after the initial population of the client-side database . This makes the system much more responsive than the Web mapping services . Due to the complexity of evaluating arbitrary queries -LRB- i.e. , more complex queries than window queries that are needed for database visualization -RRB- , we do not perform user-specified queries on the client . All user queries are still evaluated on the server side and the results are downloaded onto the client for display . However , assuming that the queries are selective enough -LRB- i.e. , there are far fewer elements returned from the query than the number of elements in the database -RRB- , the response delay is usually within reasonable limits . 2.1 Client-Server Communication As mentioned above , the SAND Internet Browser is a client piece of the remotely accessible spatial database server built around the SAND kernel . In order to communicate with the server , whose application programming interface -LRB- API -RRB- is a Tcl-based scripting language , a servlet specifically designed to interface the SAND Internet Browser with the SAND kernel is required on the server side . This servlet listens on a given port of the server for incoming requests from the client . It translates these requests into the SAND-Tcl language . Next , it transmits these SAND-Tcl commands or scripts to the SAND kernel . After results are provided by the kernel , the servlet fetches and processes them , and then sends those results back to the originating client . Once the Java servlet is launched , it waits for a client to initiate a connection . It handles both requests for the actual client Java code -LRB- needed when the client is run as an applet -RRB- and the SAND traffic . When the client piece is launched , it connects back to the SAND servlet , the communication is driven by the client piece ; the server only responds to the client 's queries . The client initiates a transaction by 6 sending a query . The Java servlet parses the query and creates a corresponding SAND-Tcl expression or script in the SAND kernel 's native format . It is then sent to the kernel for evaluation or execution . The kernel 's response naturally depends on the query and can be a boolean value , a number or a string representing a value -LRB- e.g. , a default color -RRB- or , a whole tuple -LRB- e.g. , in response to a nearest tuple query -RRB- . If a script was sent to the kernel -LRB- e.g. , requesting all the tuples matching some criteria -RRB- , then an arbitrary amount of data can be returned by the SAND server . In this case , the data is first compressed before it is sent over the network to the client . The data stream gets decompressed at the client before the results are parsed . Notice , that if another spatial database was to be used instead of the SAND kernel , then only a simple modification to the servlet would need to be made in order for the SAND Internet Browser to function properly . In particular , the queries sent by the client would need to be recoded into another query language which is native to this different spatial database . The format of the protocol used for communication between the servlet and the client is unaffected . Many users may want to work on a complete spatial data set for a prolonged period of time . In this case , making an initial investment of downloading the whole data set may be needed to guarantee a satisfactory session . Unfortunately , spatial data tends to be large . A few download requests to a large data set from a set of idle clients waiting to be served can slow the server to a crawl . This is due to the fact that the common client-server approach to transferring data between the two ends of a connection assumes a designated role for each one of the ends -LRB- i.e , some clients and a server -RRB- . We built APPOINT as a centralized peer-to-peer system to demonstrate our approach for improving the common client-server systems . A server still exists . There is a central source for the data and a decision mechanism for the service . The environment still functions as a client-server environment under many circumstances . Yet , unlike many common client-server environments , APPOINT maintains more information about the clients . This includes , inventories of what each client downloads , their availabilities , etc. . When the client-server service starts to perform poorly or a request for a data item comes from a client with a poor connection to the server , APPOINT can start appointing appropriate active clients of the system to serve on behalf of the server , i.e. , clients who have already volunteered their services and can take on the role of peers -LRB- hence , moving from a client-server scheme to a peer-to-peer scheme -RRB- . The directory service for the active clients is still performed by the server but the server no longer serves all of the requests . In this scheme , clients are used mainly for the purpose of sharing their networking resources rather than introducing new content and hence they help offload the server and scale up the service . The existence of a server is simpler in terms of management of dynamic peers in comparison to pure peer-to - peer approaches where a flood of messages to discover who is still active in the system should be used by each peer that needs to make a decision . The server is also the main source of data and under regular circumstances it may not forward the service . Data is assumed to be formed of files . A single file forms the atomic means of communication . APPOINT optimizes requests with respect to these atomic requests . Frequently accessed data sets are replicated as a byproduct of having been requested by a large number of users . This opens up the potential for bypassing the server in future downloads for the data by other users as there are now many new points of access to it . Bypassing the server is useful when the server 's bandwidth is limited . Existence of a server assures that unpopular data is also available at all times . The service depends on the availability of the server . The server is now more resilient to congestion as the service is more scalable . Backups and other maintenance activities are already being performed on the server and hence no extra administrative effort is needed for the dynamic peers . If a peer goes down , no extra precautions are taken . In fact , APPOINT does not require any additional resources from an already existing client-server environment but , instead , expands its capability . The peers simply get on to or get off from a table on the server . Uploading data is achieved in a similar manner as downloading data . For uploads , the active clients can again be utilized . Users can upload their data to a set of peers other than the server if the server is busy or resides in a distant location . Eventually the data is propagated to the server . All of the operations are performed in a transparent fashion to the clients . Upon initial connection to the server , they can be queried as to whether or not they want to share their idle networking time and disk space . The rest of the operations follow transparently after the initial contact . APPOINT works on the application layer but not on lower layers . This achieves platform independence and easy deploy-ment of the system . APPOINT is not a replacement but an addition to the current client-server architectures . We developed a library of function calls that when placed in a client-server architecture starts the service . We are developing advanced peer selection schemes that incorporate the location of active clients , bandwidth among active clients , data-size to be transferred , load on active clients , and availability of active clients to form a complete means of selecting the best clients that can become efficient alternatives to the server . With APPOINT we are defining a very simple API that could be used within an existing client-server system easily . Instead of denial of service or a slow connection , this API can be utilized to forward the service appropriately . The API for the server side is : start -LRB- serverPortNo -RRB- makeFileAvailable -LRB- file , location , boolean -RRB- callback receivedFile -LRB- file , location -RRB- callback errorReceivingFile -LRB- file , location , error -RRB- stop -LRB- -RRB- Similarly the API for the client side is : start -LRB- clientPortNo , serverPortNo , serverAddress -RRB- makeFileAvailable -LRB- file , location , boolean -RRB- receiveFile -LRB- file , location -RRB- sendFile -LRB- file , location -RRB- stop -LRB- -RRB- The server , after starting the APPOINT service , can make all of the data files available to the clients by using the makeFileAvailable method . This will enable APPOINT to treat the server as one of the peers . The two callback methods of the server are invoked when a file is received from a client , or when an error is encountered while receiving a file from a client . APPOINT guar-7 Figure 2 : The localization operation in APPOINT . antees that at least one of the callbacks will be called so that the user -LRB- who may not be online anymore -RRB- can always be notified -LRB- i.e. , via email -RRB- . Clients localizing large data files can make these files available to the public by using the makeFileAvailable method on the client side . For example , in our SAND Internet Browser , we have the localization of spatial data as a function that can be chosen from our menus . This functionality enables users to download data sets completely to their local disks before starting their queries or analysis . In our implementation , we have calls to the APPOINT service both on the client and the server sides as mentioned above . Hence , when a localization request comes to the SAND Internet Browser , the browser leaves the decisions to optimally find and localize a data set to the APPOINT service . Our server also makes its data files available over APPOINT . The mechanism for the localization operation is shown with more details from the APPOINT protocols in Figure 2 . The upload operation is performed in a similar fashion . There has been a substantial amount of research on remote access to spatial data . One specific approach has been adopted by numerous Web-based mapping services -LRB- MapQuest -LSB- 5 -RSB- , MapsOnUs -LSB- 6 -RSB- , etc. -RRB- . The goal in this approach is to enable remote users , typically only equipped with standard Web browsers , to access the company 's spatial database server and retrieve information in the form of pictorial maps from them . The solution presented by most of these vendors is based on performing all the calculations on the server side and transferring only bitmaps that represent results of user queries and commands . Although the advantage of this solution is the minimization of both hardware and software resources on the client site , the resulting product has severe limitations in terms of available functionality and response time -LRB- each user action results in a new bitmap being transferred to the client -RRB- . Work described in -LSB- 9 -RSB- examines a client-server architecture for viewing large images that operates over a low-bandwidth network connection . It presents a technique based on wavelet transformations that allows the minimization of the amount of data needed to be transferred over the network between the server and the client . In this case , while the server holds the full representation of the large image , only a limited amount of data needs to be transferred to the client to enable it to display a currently requested view into the image . On the client side , the image is reconstructed into a pyramid representation to speed up zooming and panning operations . Both the client and the server keep a common mask that indicates what parts of the image are available on the client and what needs to be requested . This also allows dropping unnecessary parts of the image from the main memory on the server . Other related work has been reported in -LSB- 16 -RSB- where a client-server architecture is described that is designed to provide end users with access to a server . It is assumed that this data server manages vast databases that are impractical to be stored on individual clients . This work blends raster data management -LRB- stored in pyramids -LSB- 22 -RSB- -RRB- with vector data stored in quadtrees -LSB- 19 , 20 -RSB- . For our peer-to-peer transfer approach -LRB- APPOINT -RRB- , Nap-ster is the forefather where a directory service is centralized on a server and users exchange music files that they have stored on their local disks . Our application domain , where the data is already freely available to the public , forms a prime candidate for such a peer-to-peer approach . Gnutella is a pure -LRB- decentralized -RRB- peer-to-peer file exchange system . Unfortunately , it suffers from scalability issues , i.e. , floods of messages between peers in order to map connectivity in the system are required . Other systems followed these popular systems , each addressing a different flavor of sharing over the Internet . Many peer-to-peer storage systems have also recently emerged . PAST -LSB- 18 -RSB- , Eternity Service -LSB- 7 -RSB- , CFS -LSB- 10 -RSB- , and OceanStore -LSB- 15 -RSB- are some peer-to-peer storage systems . Some of these systems have focused on anonymity while others have focused on persistence of storage . Also , other approaches , like SETI@Home -LSB- 21 -RSB- , made other resources , such as idle CPUs , work together over the Internet to solve large scale computational problems . Our goal is different than these approaches . With APPOINT , we want to improve existing client-server systems in terms of performance by using idle networking resources among active clients . Hence , other issues like anonymity , decentralization , and persistence of storage were less important in our decisions . Confirming the authenticity of the indirectly delivered data sets is not yet addressed with APPOINT . We want to expand our research , in the future , to address this issue . From our perspective , although APPOINT employs some of the techniques used in peer-to-peer systems , it is also closely related to current Web caching architectures . Squirrel -LSB- 13 -RSB- forms the middle ground . It creates a pure peer-to-peer collaborative Web cache among the Web browser caches of the machines in a local-area network . Except for this recent peer-to-peer approach , Web caching is mostly a well-studied topic in the realm of server/proxy level caching -LSB- 8 , 11 , 14 , 17 -RSB- . Collaborative Web caching systems , the most relevant of these for our research , focus on creating either a hierarchical , hash-based , central directory-based , or multicast-based caching schemes . We do not compete with these approaches . In fact , APPOINT can work in tandem with collaborative Web caching if they are deployed together . We try to address the situation where a request arrives at a server , meaning all the caches report a miss . Hence , the point where the server is reached can be used to take a central decision but then the actual service request can be forwarded to a set of active clients , i.e. , the down-8 load and upload operations . Cache misses are especially common in the type of large data-based services on which we are working . Most of the Web caching schemes that are in use today employ a replacement policy that gives a priority to replacing the largest sized items over smaller-sized ones . Hence , these policies would lead to the immediate replacement of our relatively large data files even though they may be used frequently . In addition , in our case , the user community that accesses a certain data file may also be very dispersed from a network point of view and thus can not take advantage of any of the caching schemes . Finally , none of the Web caching methods address the symmetric issue of large data uploads . FedStats -LSB- 1 -RSB- is an online source that enables ordinary citizens access to official statistics of numerous federal agencies without knowing in advance which agency produced them . We are using a FedStats data set as a testbed for our work . Our goal is to provide more power to the users of FedStats by utilizing the SAND Internet Browser . As an example , we looked at two data files corresponding to Environmen-tal Protection Agency -LRB- EPA -RRB- - regulated facilities that have chlorine and arsenic , respectively . For each file , we had the following information available : EPA-ID , name , street , city , state , zip code , latitude , longitude , followed by flags to indicate if that facility is in the following EPA programs : Hazardous Waste , Wastewater Discharge , Air Emissions , Abandoned Toxic Waste Dump , and Active Toxic Release . We put this data into a SAND relation where the spatial attribute ` location ' corresponds to the latitude and longitude . Some queries that can be handled with our system on this data include : 1 . Find all EPA-regulated facilities that have arsenic and participate in the Air Emissions program , and : -LRB- a -RRB- Lie in Georgia to Illinois , alphabetically . -LRB- b -RRB- Lie within Arkansas or 30 miles within its border . -LRB- c -RRB- Lie within 30 miles of the border of Arkansas -LRB- i.e. , both sides of the border -RRB- . 2 . For each EPA-regulated facility that has arsenic , find all EPA-regulated facilities that have chlorine and : -LRB- a -RRB- That are closer to it than to any other EPA-regulated facility that has arsenic . -LRB- b -RRB- That participate in the Air Emissions program and are closer to it than to any other EPA-regulated facility which has arsenic . In order to avoid reporting a particular facility more than once , we use our ` group by EPA-ID ' mechanism . Figure 3 illustrates the output of an example query that finds all arsenic sites within a given distance of the border of Arkansas . The sites are obtained in an incremental manner with respect to a given point . This ordering is shown by using different color shades . With this example data , it is possible to work with the SAND Internet Browser online as an applet -LRB- connecting to a remote server -RRB- or after localizing the data and then opening it locally . In the first case , for each action taken , the client-server architecture will decide what to ask for from the server . In the latter case , the browser will use the peer-to - peer APPOINT architecture for first localizing the data . An overview of our efforts in providing remote access to large spatial data has been given . We have outlined our approaches and introduced their individual elements . Our client-server approach improves the system performance by using efficient caching methods when a remote server is accessed from thin-clients . APPOINT forms an alternative approach that improves performance under an existing client-server system by using idle client resources when individual users want work on a data set for longer periods of time using their client computers . For the future , we envision development of new efficient algorithms that will support large online data transfers within our peer-to-peer approach using multiple peers simultane-ously . We assume that a peer -LRB- client -RRB- can become unavail-able at any anytime and hence provisions need to be in place to handle such a situation . To address this , we will augment our methods to include efficient dynamic updates . Upon completion of this step of our work , we also plan to run comprehensive performance studies on our methods . Another issue is how to access data from different sources in different formats . In order to access multiple data sources in real time , it is desirable to look for a mechanism that would support data exchange by design . The XML protocol -LSB- 3 -RSB- has emerged to become virtually a standard for describing and communicating arbitrary data . GML -LSB- 4 -RSB- is an XML variant that is becoming increasingly popular for exchange of geographical data . We are currently working on making SAND XML-compatible so that the user can instantly retrieve spatial data provided by various agencies in the GML format via their Web services and then explore , query , or process this data further within the SAND framework . This will turn the SAND system into a universal tool for accessing any spatial data set as it will be deployable on most platforms , work efficiently given large amounts of data , be able to tap any GML-enabled data source , and provide an easy to use graphical user interface . This will also convert the SAND system from a research-oriented prototype into a product that could be used by end users for accessing , viewing , and analyzing their data efficiently and with minimum effort . -LSB- 1 -RSB- Fedstats : The gateway to statistics from over 100 U.S. federal agencies . http://www.fedstats.gov/ , 2001 . -LSB- 2 -RSB- Arcinfo : Scalable system of software for geographic data creation , management , integration , analysis , and dissemination . http://www.esri.com/software/ arcgis/arcinfo/index.html , 2002 . -LSB- 3 -RSB- Extensible markup language -LRB- xml -RRB- . http://www.w3.org/XML/ , 2002 . -LSB- 4 -RSB- Geography markup language -LRB- gml -RRB- 2.0 . http://opengis.net/gml/01-029/GML2.html , 2002 . -LSB- 5 -RSB- Mapquest : Consumer-focused interactive mapping site on the web . http://www.mapquest.com , 2002 . -LSB- 6 -RSB- Mapsonus : Suite of online geographic services . http://www.mapsonus.com , 2002 . -LSB- 7 -RSB- R. Anderson . The Eternity Service . In Proceedings of the PRAGOCRYPT ' 96 , pages 242 252 , Prague , Czech Republic , September 1996 . -LSB- 8 -RSB- L. Breslau , P. Cao , L. Fan , G. Phillips , and S. Shenker . Web caching and Zipf-like distributions : 9 Figure 3 : Sample output from the SAND Internet Browser -- Large dark dots indicate the result of a query that looks for all arsenic sites within a given distance from Arkansas . Different color shades are used to indicate ranking order by the distance from a given point . Evidence and implications . In Proceedings of the IEEE Infocom ' 99 , pages 126 134 , New York , NY , March 1999 . -LSB- 9 -RSB- E. Chang , C. Yap , and T. Yen . Realtime visualization of large images over a thinwire . In R. Yagel and H. Hagen , editors , Proceedings IEEE Visualization '97 -LRB- Late Breaking Hot Topics -RRB- , pages 45 48 , Phoenix , AZ , October 1997 . -LSB- 10 -RSB- F. Dabek , M. F. Kaashoek , D. Karger , R. Morris , and I. Stoica . Wide-area cooperative storage with CFS . In Proceedings of the ACM SOSP ' 01 , pages 202 215 , Banff , AL , October 2001 . -LSB- 11 -RSB- A. Dingle and T. Partl . Web cache coherence . Computer Networks and ISDN Systems , 28 -LRB- 7-11 -RRB- : 907 920 , May 1996 . -LSB- 12 -RSB- C. Esperan ca and H. Samet . Experience with SAND/Tcl : a scripting tool for spatial databases . Journal of Visual Languages and Computing , 13 -LRB- 2 -RRB- : 229 255 , April 2002 . -LSB- 13 -RSB- S. Iyer , A. Rowstron , and P. Druschel . Squirrel : A decentralized peer-to-peer Web cache . Rice University/Microsoft Research , submitted for publication , 2002 . -LSB- 14 -RSB- D. Karger , A. Sherman , A. Berkheimer , B. Bogstad , R. Dhanidina , K. Iwamoto , B. Kim , L. Matkins , and Y. Yerushalmi . Web caching with consistent hashing . Computer Networks , 31 -LRB- 11-16 -RRB- : 1203 1213 , May 1999 . -LSB- 15 -RSB- J. Kubiatowicz , D. Bindel , Y. Chen , S. Czerwinski , P. Eaton , D. Geels , R. Gummadi , S. Rhea , H. Weatherspoon , W. Weimer , C. Wells , and B. Zhao . OceanStore : An architecture for global-scale persistent store . In Proceedings of the ACM ASPLOS ' 00 , pages 190 201 , Cambridge , MA , November 2000 . -LSB- 16 -RSB- M. Potmesil . Maps alive : viewing geospatial information on the WWW . Computer Networks and ISDN Systems , 29 -LRB- 8 13 -RRB- : 1327 1342 , September 1997 . Also Hyper Proceedings of the 6th International World Wide Web Conference , Santa Clara , CA , April 1997 . -LSB- 17 -RSB- M. Rabinovich , J. Chase , and S. Gadde . Not all hits are created equal : Cooperative proxy caching over a wide-area network . Computer Networks and ISDN Systems , 30 -LRB- 22-23 -RRB- : 2253 2259 , November 1998 . -LSB- 18 -RSB- A. Rowstron and P. Druschel . Storage management and caching in PAST , a large-scale , persistent peer-to-peer storage utility . In Proceedings of the ACM SOSP ' 01 , pages 160 173 , Banff , AL , October 2001 . -LSB- 19 -RSB- H. Samet . Applications of Spatial Data Structures : Computer Graphics , Image Processing , and GIS . Addison-Wesley , Reading , MA , 1990 . -LSB- 20 -RSB- H. Samet . The Design and Analysis of Spatial Data Structures . Addison-Wesley , Reading , MA , 1990 . -LSB- 21 -RSB- SETI@Home . http://setiathome.ssl.berkeley.edu/ , 2001 . -LSB- 22 -RSB- L. J. Williams . Pyramidal parametrics . Computer Graphics , 17 -LRB- 3 -RRB- : 1 11 , July 1983 . Also Proceedings of the SIGGRAPH '83 Conference , Detroit , July 1983 . 10

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


Simulating Option Prices And Sensitivities By Higher Rank Lattice Rules In this paper we introduce the intermediate rank or higher rank lattice rule for the general case when the number of quadrature points is n t m , where m is a composite integer , t is the rank of the rule , n is an integer such that -LRB- n , m -RRB- = 1 . Our emphasis is the applications of higher rank lattice rules to a class of option pricing problems . The higher rank lattice rules are good candidates for applications to finance based on the following reasons : the higher rank lattice rule has better asymptotic convergence rate than the conventional good lattice rule does and searching higher rank lattice points is much faster than that of good lattice points for the same number of quadrature points ; furthermore , numerical tests for application to option pricing problems showed that the higher rank lattice rules are not worse than the conventional good lattice rule on average . It is well known in scientific computation that Monte Carlo -LRB- MC -RRB- simulation method is the main method to deal with high dimensional -LRB- 4 -RRB- problems . The main drawback for this method is that it converges slowly with convergence rate O -LRB- 1 N -RRB- , where N is the number of points -LRB- or samples or simulations -RRB- , even after using various variance reduction methods . To speed it up , researchers use quasi-random or low-discrepancy point sets , instead of using pseudo-random point sets . This is the so called quasi-Monte Carlo -LRB- QMC -RRB- method . There are two classes of low-discrepancy sequences -LRB- LDS -RRB- . The first one is constructive LDS , such as Halton 's sequence , Sobol 's sequence , Faure 's sequence , and Nieder-reiter 's -LRB- t , m , s -RRB- - nets and -LRB- t , s -RRB- - sequence . This kind of LDS has convergence rate O -LRB- -LRB- log N -RRB- s N -RRB- , where s is the dimension of the problem , N is , again , the number of points . The second class is the integration lattice points , for example , good lattice points -LRB- GLP -RRB- . This type of LDS has convergence rate O -LRB- -LRB- log N -RRB- s N -RRB- , where > 1 is a parameter related to the smoothness of the integrand , s and N are the same as above . The monograph by Niederreiter -LSB- 1 -RSB- gives very detailed information on constructive LDS and good lattice points , while the monograph by Hua and Wang -LSB- 2 -RSB- and Sloan and Joe -LSB- 3 -RSB- describe good lattice rules in detail . Unlike the constructive sequences , the construction of good lattice points is not constructive in the sense that they could be found only by computer searches -LRB- except in the 2 - dimensional case , where good lattice points can be constructed by using the Fibonacci numbers -RRB- . Such searches are usually very time consuming , especially when the number of points is large or the dimension is high , or both . Therefore , to develop algorithms which can be used in finding good lattice points fast is of practical importance . This paper discusses the applications of the intermediate rank or higher rank lattice rules -LRB- HRLR -RRB- to option pricing problems . The motivations of using higher rank lattice points are as follows . For a class of finance problems , we found that using the randomized good lattice points -LRB- GLP -RRB- can reach much better convergence than the randomized constructive quasi-random sequences -LRB- such as , Sobol sequence -RRB- , let alone the pseudo-random point sets , see -LSB- 4 -RSB- about this -LRB- in that paper , the lattice points were taken from -LSB- 2 -RSB- -RRB- . The theory given in Section 2 shows that the error bound of a higher rank lattice rule is smaller than that of a good lattice rule , at least asymptotically . And searching higher rank lattice points is much faster than searching good lattice points . Our extensive numerical results confirmed this fact . Some results are listed in Section 2 . Furthermore , the results in Section 3 showed that the standard errors of the randomized higher rank lattice points are smaller than those of the randomized good lattice points -LRB- most of the times -RRB- , which are much smaller than the standard errors of the randomized Sobol sequence , when these quasi-random point sets are applied to some financial derivative pricing problems in simulating option values and sensitivities . Detailed information about lattice rules can be found in the literature , such as -LSB- 1 -RSB- , -LSB- 2 -RSB- and -LSB- 3 -RSB- . We start to introduce lattice rules briefly by considering an integral 530-113 258 If = C s f -LRB- x -RRB- dx , -LRB- 1 -RRB- where C s = -LSB- 0 , 1 -RSB- s is the s-dimensional unit hyper-cube , f -LRB- x -RRB- is one-periodic in each component of x , i.e. f -LRB- x -RRB- = f -LRB- x + z -RRB- , z Z s -LRB- the set of s - dimensional integer points -RRB- , x R s -LRB- the s-dimensional real space -RRB- . An s-dimensional integration lattice L is a discrete subset of R s that is closed under addition and subtraction and contains Z s as a subset . A lattice rule for -LRB- 1 -RRB- is a rule of the form Qf = 1 N N -1 j = 0 f -LRB- x j -RRB- , -LRB- 2 -RRB- where -LCB- x 0 , , x N -1 -RCB- L U s with U s = -LSB- 0 , 1 -RRB- s , N is called the order of the rule . Now we consider the intermediate rank or higher rank lattice rules , i.e. rules of the form Q t f = 1 n t m n-1 k t = 0 n-1 k 1 = 0 m-1 j = 0 f -LRB- -LCB- j m g + k 1 n y 1 + + k t n y t -RCB- -RRB- -LRB- 3 -RRB- for 1 t s , where -LRB- m , n -RRB- = 1 and g , y 1 , , y t Z s . Notice that t = 0 or t = 1 and n = 1 in -LRB- 3 -RRB- is just the conventional good lattice points rule -LRB- we refer it to the rank-1 rule in this paper -RRB- . Under some conditions -LRB- see , for example , Theorem 7.1 , -LSB- 3 -RSB- -RRB- on g , y 1 , , y t , the points in -LRB- 3 -RRB- are distinct , so that Q t is a lattice rule of order N = n t m , and it has rank t. Korobov -LRB- 1959 -RRB- gave the first existence of good lattice points in the case where N is a prime number . Niederreiter -LRB- 1978 -RRB- extended the existence to general number N . Disney and Sloan proved the existence and obtained the best asymptotic convergence rate for general N in good lattice points case . The existence of good rank t rules can be established , but much more complicated . We introduce Definition 1 . For any integer N 2 , let G = G -LRB- N -RRB- = -LCB- g = -LRB- g 1 , , g s -RRB- Z s , -LRB- g j , N -RRB- = 1 and - N/2 < g j N/2 , 1 j s -RCB- . Let y 1 , , y t Z s be fixed . The mean of P -LRB- Q t -RRB- over G is M -LRB- n -RRB- , t -LRB- m -RRB- = 1 Card -LRB- G -RRB- gG P -LRB- Q t -RRB- , > 1 -LRB- 4 -RRB- For the sake of simplicity , Sloan et al chose the special form of y j with all the components 0 except the jth which is 1 - the so-called copying rule . Thus -LRB- 3 -RRB- becomes Q t f = 1 n t m n-1 k t = 0 n-1 k 1 = 0 m-1 j = 0 f -LRB- -LCB- j m g + -LRB- k 1 , , k t , 0 , , 0 -RRB- n -RCB- -RRB- . -LRB- 5 -RRB- With this choice , P -LRB- Q t -RRB- is easily calculated as follows . For > 1 , 1 t s and n 2 , define f -LRB- n -RRB- , t -LRB- x -RRB- = -LRB- t j = 1 F -LRB- n -RRB- -LRB- x j -RRB- -RRB- s k = t +1 F -LRB- x k -RRB- , -LRB- 6 -RRB- where F -LRB- n -RRB- -LRB- x -RRB- = 1 + 1 n hZ | h | e -LRB- hx -RRB- , and F -LRB- x -RRB- = 1 + hZ | h | e -LRB- hx -RRB- . If Q -LRB- n -RRB- t f is the m-point lattice rule defined by Q -LRB- n -RRB- t f = 1 m m-1 j = 0 f -LRB- -LCB- jn m g 1 , , jn m g t , j m g t +1 , , j m g s -RCB- -RRB- , -LRB- 7 -RRB- then P -LRB- Q t -RRB- = Q -LRB- n -RRB- t f -LRB- n -RRB- , t - 1 . -LRB- 8 -RRB- For 1 t s and g = -LRB- g 1 , , g s -RRB- G , denote w = -LRB- ng 1 , , ng t , g t +1 , , g s -RRB- , and r t -LRB- h -RRB- =-LRB- t j = 1 r -LRB- nh j -RRB- -RRB- s k = t +1 r -LRB- h k -RRB- , h = -LRB- h 1 , , h s -RRB- . Then applying the rank-1 lattice rule with generating vector w , we have P -LRB- Q t -RRB- = h w0 -LRB- mod m -RRB- r t -LRB- h -RRB- -1 . -LRB- 9 -RRB- The existence of good rank-t rules and the error bounds for prime m was established by Joe and Sloan -LRB- Theorem 7.4 , -LSB- 3 -RSB- -RRB- . The corresponding results for general m were discovered and proved in -LSB- 5 -RSB- , and is stated below . Theorem 1 . For > 1 , 1 t s , n 1 integer , m > 0 any integer with -LRB- n , m -RRB- = 1 , then M -LRB- n -RRB- , t -LRB- m -RRB- = 1 m t k = 0 s-t l = 0 -LRB- t k -RRB- -LRB- s-t l -RRB- -LRB- 2 -LRB- -RRB- -RRB- n k k + l p | m F , k + l -LRB- p -RRB- - 1 , -LRB- 10 -RRB- where the product is over all prime factors p of m , p is the highest power of p dividing m , p | m F ,0 -LRB- p -RRB- = m , and for k 1 , F , k -LRB- p -RRB- is given by F , k -LRB- p -RRB- = 1 + -LRB- -1 -RRB- k -LRB- 1 - 1/p -1 -RRB- k -LRB- 1 - 1/p -LRB- k-1 -RRB- -RRB- -LRB- p - 1 -RRB- k-1 -LRB- 1 - 1/p k-1 -RRB- . -LRB- 11 -RRB- Remark : Using the Binomial Theorem , we can obtain the result of Theorem 7.4 in -LSB- 3 -RSB- -LRB- the case when m is prime -RRB- from Theorem 1 , since the assumption that m is prime and n is not a multiple of m implies that -LRB- n , m -RRB- = 1 . Moreover , the result of Theorem 1 also holds for n = 1 or t = 0 . In either case , the right hand side of -LRB- 10 -RRB- is just 259 the case of rank-1 in -LSB- 3 -RSB- , and if n 2 and t = s , then we obtain the result of maximal rank case in -LSB- 3 -RSB- . Now as in the case of rank-1 , we give an upper bound for M -LRB- n -RRB- , t -LRB- m -RRB- and hence P -LRB- Q t -RRB- . Corollary 1 . Under the conditions of Theorem 1 , we have M -LRB- n -RRB- , t -LRB- m -RRB- 4 -LRB- -RRB- 2 -LRB- m -RRB- -LSB- -LRB- s-t 2 -RRB- + 1 n 2 -LRB- t 2 -RRB- + -LRB- s - t -RRB- t n -RSB- + 1 m -LCB- -LSB- a -LRB- 1 + 2 -LRB- -RRB- -RRB- s-t + b -LRB- 1 - 2 -LRB- -RRB- -RRB- s-t -RSB- + -LSB- a -LRB- 1 + 2 -LRB- -RRB- n -RRB- t + b -LRB- 1 - 2 -LRB- -RRB- n -RRB- t -RSB- + 1 n -LSB- a -LRB- 1 + 2 -LRB- -RRB- -RRB- s + b -LRB- 1 - 2 -LRB- -RRB- -RRB- s -RSB- -RCB- , -LRB- 12 -RRB- where -LRB- s-t 2 -RRB- = 1 for s - t < 2 , -LRB- t 2 -RRB- = 1 , for t < 2 ; a = -LRB- 3 -RRB- -LRB- 6 -RRB- + 1 2 1.68 , and b = a - 1 . Hence M -LRB- n -RRB- , t -LRB- m -RRB- = O -LRB- log log m m -RRB- , asm . -LRB- 13 -RRB- Theorem 2 . Let -LRB- m -RRB- = -LRB- 1 - s / log m -RRB- -1 . If m > e s / -LRB- -1 -RRB- then there is a g G such that P -LRB- Q t -RRB- M -LRB- n -RRB- -LRB- m -RRB- , t -LRB- m -RRB- / -LRB- m -RRB- . -LRB- 14 -RRB- If s 3 , then M -LRB- n -RRB- -LRB- m -RRB- , t -LRB- N -RRB- / -LRB- m -RRB- 1 n t -LRB- 2e s -RRB- s -LRB- log m -RRB- s m -LRB- 15 -RRB- as m , where f -LRB- x -RRB- h -LRB- x -RRB- as x means lim x f -LRB- x -RRB- h -LRB- x -RRB- = 1 . It is hard to obtain a precise comparison result between the mean for the case of t = 0 , i.e. , M -LRB- n -RRB- , t -LRB- m -RRB- , and the corresponding mean for the case of t = 0 rule , i.e. , M -LRB- n t m -RRB- , even when m is prime , as pointed out in -LSB- 3 -RSB- . Notice that the number of points for rank t rule is n t m , and we should use the same number of points when comparing efficiency or convergence rate among different methods . We give an approximate result on this direction based on -LRB- 15 -RRB- and a result in -LSB- 3 -RSB- similar to -LRB- 15 -RRB- . Corollary 2 . For > 1 , 1 t s , n 1 integer , m > 0 any integer with -LRB- n , m -RRB- = 1 , let 1 -LRB- m -RRB- = -LRB- 1 - s / log m -RRB- -1 , 2 -LRB- n t m -RRB- = -LRB- 1 - s / log -LRB- n t m -RRB- -RRB- -1 . If m > e s / -LRB- -1 -RRB- then M -LRB- n -RRB- 1 -LRB- m -RRB- , t -LRB- m -RRB- / 1 -LRB- m -RRB- M 2 -LRB- n t m -RRB- -LRB- n t m -RRB- / 2 -LRB- n t m -RRB- log m log m + t log n s < 1 . -LRB- 16 -RRB- From Corollary 2 , we can roughly see that P -LRB- Q t -RRB- < P -LRB- Q 1 -RRB- for t > 1 with the same order -LRB- number of points -RRB- for both rules , at least asymptotically . Our numerical tests showed that it is true even for small number of points . Furthermore , higher rank good lattice points can also be found by computer search via minimizing P -LRB- Q t -RRB- based on -LRB- 8 -RRB- , but using m instead of using n t m -LRB- as in the case of good lattice points -RRB- . Therefore , searching higher rank lattice points is much faster than searching rank-1 lattice points . Usually , the good lattice points were found by searching Korobov type g = -LRB- 1 , b , b 2 , ... , b s-1 -RRB- mod m -LRB- compo-nentwise -RRB- with -LRB- b , m -RRB- = 1 . Sloan and Reztsov proposed a new searching algorithm - the component-by-component method . We searched extensively for both types of points . Based on the search results we found that these two types of lattice points are comparable in both errors and searching times for the same rank and the same number of points . We only report the Korobov type lattice points here limited to space . So far as we know , the theory of copying higher rank lattice rule is valid under the assumption that -LRB- n , m -RRB- = 1 . We conjecture that this restriction can be relaxed . We are unable to prove this yet so far . But our numerical results strongly support our conjecture , see Table 1 -LRB- only partial results are listed -RRB- . In this table , the comparison is based on the same number of points , where Kor t0 stands for the Korobov type lattice points with t = 0 -LRB- i.e. , rank-1 case -RRB- , sim-ilarly for Kor t4 . Time is measured in seconds . Whenever time is zero , it just means that the time used in searching is less than 0.5 seconds . The CPU times used in searching may be machine dependent . Dev-C + + was used as our programming language -LRB- run on a laptop under Windows system -RRB- . In order to measure CPU time as precise as possible , all the programs were run on the same machine and only one program , no any other programs , was run one at a time on the machine . Our searching results showed that within the same type of lattice points , the higher the rank , the smaller the P 2 , and the faster the search . The search time for rank = 4 in the case of number of point = 32768 is about 1 second , those for all the other cases are less than 0.5 seconds . Table 1 : Computer search results of t = 0 and t = 4 , with -LRB- n , m -RRB- = 1 , n = 2 , m = a power of 2 , dimension = 5 . Kor t0 Kor t4 2 t m b P 2 Time b P 2 1024 189 0.735 0 5 0.373 2048 453 0.264 1 27 0.164 4096 1595 0.121 3 21 0.067 8192 2099 0.048 10 61 0.026 16384 2959 0.018 43 35 0.010 32768 1975 0.007 169 131 0.004 Under the Black-Scholes framework , many European options can be expressed in terms of multivariate normal distributions . Examples are options on maximum and minimum of n assets , discrete lookback options , discrete shout options , discrete partial barrier options , reset options , etc. , see -LSB- 6 -RSB- and the references therein . In this section , we apply both the Monte Carlo and the quasi-Monte Carlo methods to applied finance area-260 option pricing , and compare the efficiencies among different methods . For the quasi-Monte Carlo methods , we use Sobol sequence and both rank-1 and higher rank lattice points . The Sobol sequence is usually the best among the constructive LDS based on our tests . To compare the efficiencies of different methods , we need a benchmark for fair comparisons . If the exact value of the quantity to be estimated can be found , then we use the absolute error or relative error for comparison . Otherwise , we use the standard error -LRB- stderr -RRB- for comparison . Here stderr = N , where 2 is the unbiased sample variance , N is the sample size . For LDS sequences , we define the standard error by introducing random shift as follows . Assume that we estimate = E -LSB- f -LRB- x -RRB- -RSB- , where x is an s-dimensional random vector . Let -LCB- x i -RCB- m i = 1 C s be a finite LDS sequence , -LCB- r j -RCB- n j = 1 C s be a finite sequence of random vectors . For each fixed j , we have a sequence -LCB- y -LRB- j -RRB- i -RCB- m i = 1 with y -LRB- j -RRB- i = x i + r j . It can be shown that such a sequence still has the same convergence rate as the original one . Denote j = 1 m m i = 1 f -LRB- y -LRB- j -RRB- i -RRB- and = 1 n n j = 1 j . The unbiased sample variance is 2 = n j = 1 -LRB- j - -RRB- 2 n-1 = n n j = 1 2 j n j = 1 j 2 -LRB- n-1 -RRB- n . Then the standard error is defined by stderr = n . The efficiency of a QMC method -LRB- after randomization -RRB- over the MC method is defined as the ratio of the standard error of the MC method to the standard error of a QMC method -LRB- both methods have the same number of points , otherwise the comparison is not fair -RRB- . As an example , let us consider the computation of call options on maximum of s assets . Using martingale method , Dufresne et al derived in -LSB- 7 -RSB- that the value of a call option can be expressed in terms of multivariate normal distributions : V = V s max -LRB- -LCB- S i -RCB- , -LCB- i -RCB- , 0 , r , q , -RRB- = s i = 1 S i e - q i T N s -LRB- e i1 , ... , e i,i-1 , d -LRB- i -RRB- i -LRB- K , T -RRB- , e i , i +1 , e is ; i -RRB- Ke - rT 1 - N s -LRB- - d Q 1 -LRB- K , T -RRB- , ... , - d Q s -LRB- K , T -RRB- ; 0 -RRB- -LRB- 17 -RRB- where e ik = log -LRB- S i / S k -RRB- + T 2 ik / 2 ik T , ik = 2 i - 2 i k + 2 k , d -LRB- i -RRB- i -LRB- K , T -RRB- = log -LRB- S i / K -RRB- + -LRB- r + 2 i / 2 -RRB- T i T , d Q i -LRB- K , T -RRB- = log -LRB- S i / K -RRB- + -LRB- r 2 i / 2 -RRB- T i T , 0 = -LRB- jk -RRB- s s and for i = 1 , ... , s , i = -LRB- -LRB- i -RRB- jk -RRB- s s with -LRB- i -RRB- jk = 2 i + jk j k ij i j ik i k ij ik , j , k = i ; -LRB- i -RRB- ik = i ik k ik , i = k ; ii = 1 . Thus , in order to estimate the option values , we need to estimate the following s-variate normal distribution H -LRB- a , -RRB- = 1 det -LRB- -RRB- -LRB- 2 -RRB- s a 1 a s exp -LRB- 1 2 x t -1 x -RRB- dx , where a = -LRB- a 1 , a 2 , ... , a s -RRB- , - a i + -LRB- i = 1 , 2 , ... , s -RRB- , x R s , dx = dx 1 ... dx s , = -LRB- ij -RRB- s s is a positive definite correlation matrix . Details about the computation of multivariate normal distributions can be found in -LSB- 8 -RSB- . Notice that after the transformation , the s-dimensional integral for H -LRB- a , -RRB- is transformed into an s - 1 dimensional integral . For the numerical demonstration , we consider a call option on maximum of 6 stocks . In our simulations , each method was randomly shifted , including the MC method , so that each method has the same number of points . We took the number of random shifts to be 10 , other parameters are s = 6 , K -LCB- $ 90 , $ 100 , $ 110 -RCB- , r = 10 % , S i = $ 100 , i = 0.2 , ij = 0.5 , i = j , i , j = 1 , ... , 6 . Besides the option values , the option sensitivities or Greek letters i = V S i , ij = 2 V S i S j , V i = V i , = V T and = V r are very important quantities in financial risk management and trading . They are usually harder to obtain than the option values themselves . The results where K = $ 100 are listed in the following Tables 2 , 3 and 4 , and the results where K = $ 90 and K = $ 110 are similar and are omitted here . In these tables , column 1 contains the numbers of points , numbers in the MC column are the standard errors , those in the columns of quasi-Monte Carlo methods are efficiencies of the corresponding methods over the Monte Carlo method . Here we do not include the CPU times for different methods since these programs were run on a main-frame using UNIX system , and there were many other programs were also running at the time I ran these programs . And I think that the CPU times measured in this way are not precise . Table 2 : Comparison of estimated call option values and efficiencies , the option value is $ 28.81 with standard error 1.5099e-06 obtained by higher rank lattice rule -LRB- rank = 4 -RRB- using 2 14 = 16384 points with 10 random shifts . The standard error is zero in my simulation by the same rule using 2 15 = 32768 points with 10 random shifts . N MC Sobol Kor t0 Kor t4 2 10 0.6832 10.8 219.9 200.5 2 11 0.4834 27.8 666.8 1194.9 2 12 0.3413 39.6 2104.7 371.8 2 13 0.2409 41.2 18129.2 22758.4 2 14 0.1703 110.2 30156.0 112804.8 2 15 0.1206 101.3 253540.7 * From Table 2 , we observed that the randomized lattice rules achieve much better results than the randomized Sobol 's sequence does , the latter is about 10 to 110 time more efficient than the MC method . The randomized Korobov type higher rank lattice points beat the randomized 261 rank-1 lattice points , except when N = 2 10 = 1024 and 2 12 = 4096 . Table 3 : Comparison of estimated option sensitivity -LRB- Greek letter , 1 in this table -RRB- values and efficiencies , the value of 1 is 0.1898 with standard error 4.4427E-09 obtained by higher rank lattice rule -LRB- rank = 4 -RRB- using 2 15 = 32768 points with 10 random shifts . N MC Sobol Kor t0 Kor t4 2 10 0.0151 7.3 135.5 98.1 2 11 0.0107 10.7 330.8 1226.6 2 12 0.0077 9.9 900.7 110.7 2 13 0.0054 19.7 8861.8 9833.5 2 14 0.0038 30.7 24742.9 70692.9 2 15 0.0027 42.8 137025.0 605473.8 Again , the randomized lattice rules are much more efficient than the randomized Sobol 's sequence , the latter is about 8 to 43 time more efficient than the MC method . Kor t4 is more efficient than Kor t0 except when N = 2 10 = 1024 and 2 12 = 4096 . Table 4 : Comparison of estimated gamma -LRB- 11 = 2 V S 2 1 -RRB- values and efficiencies , the value of 11 is 0.01631 with standard error 1.2418e-09 obtained by higher rank lattice rule -LRB- rank = 4 -RRB- using 2 15 = 32768 points with 10 random shifts . N MC Sobol Kor t0 Kor t4 2 10 4.6E-4 8.0 107.6 12.8 2 11 3.3E-4 14.0 118.6 223.7 2 12 2.3E-4 19.6 484.3 30.3 2 13 1.7E-4 22.6 4217.8 4457.5 2 14 1.2E-4 24.1 3108.7 28713.5 2 15 8.2E-5 40.0 108047.3 66385.4 The conclusion is similar to that of Table 3 . The randomized Kor t4 is more efficient than the randomized Kor t0 except when N = 2 10 = 1024 , 2 12 = 4096 and 2 15 = 32768 . In our simulations , the pseudo random number generator we used is ran2 -LRB- -RRB- in -LSB- 9 -RSB- . The periodizing function used is -LRB- x -RRB- = 1 2 -LRB- 2x - sin -LRB- 2x -RRB- -RRB- . In this paper , We introduced the higher rank lattice rules and gave a general expression for the average of P -LRB- Q t -RRB- for higher rank lattice rule over a subset of Z s , an upper bound and an asymptotic rate for higher rank lattice rule . The results recovered the cases of good lattice rule and maximal rank rule . Computer search results showed that P 2 s by the higher rank lattice rule were smaller than those by good lattice rule , while searching higher rank lattice points was much faster than that of good lattice points for the same number of quadrature points . Numerical tests for applications to an option pricing problem showed that the higher rank lattice rules -LRB- t > 0 -RRB- usually beat the conventional good lattice rule -LRB- t = 0 case -RRB- . Both of these rules showed significant superiority over the Sobol sequence . Our tests -LRB- not listed here -RRB- on other types of options showed similar efficiency gains of higher rank lattice rules over good lattice rules , though the gains may vary . Since searching higher rank lattice points is much faster than that of rank - 1 lattice points -LRB- say the rank is larger than 2 -RRB- ; the search algorithm is simple ; and the values of P 2 for higher rank lattice points are smaller than that for the rank - 1 points ; furthermore , -LRB- standard -RRB- errors obtained by higher rank lattice rules to practical problems are not worse than those by the rank - 1 rules on average , the higher rank lattice rules are good candidates for applications . One unsolved problem in lattice rules -LRB- whether high rank or not -RRB- is the periodizing seems not work well in high dimensions . It needs futher exploration . This research was partially supported by an Natural Sciences and Engineering Research Council of Canada -LRB- NSERC -RRB- grant . -LSB- 1 -RSB- H. Niederreiter , Random Number Generation and Quasi-Monte Carlo Methods , SIAM , Philadelphia , 1992 . -LSB- 2 -RSB- L. Hua and Y. Wang , Applications of Number Theory in Numerical Analysis , Springer-Verlag , 1980 . -LSB- 3 -RSB- I. H. Sloan and S. Joe , Lattice Methods for Multiple Integration , Oxford University Press , New York , 1994 . -LSB- 4 -RSB- P. Boyle , Y. Lai and K. S. Tan , Pricing Options Using lattice rules , North American Actuarial Journal , 9 -LRB- 3 -RRB- , 2005 , 50-76 . -LSB- 5 -RSB- Y. Lai , Monte Carlo and Quasi-Monte Carlo Methods and Their Applications , Ph. D Dissertation , Department of Mathematics , Claremont Graduate University , California , USA , 2000 . -LSB- 6 -RSB- P. Zhang , Exotic Options , 2nd edition , World Scientific , 1998 . -LSB- 7 -RSB- P.C. Dufresne , W. Keirstead and M. P. Ross , Pricing Derivatives the Martingale Way , working paper , 1996 . -LSB- 8 -RSB- Y. Lai , Effcient Computations of Multivariate Normal Distributions with Applications to Finance , working paper , Departmetn of Mathematics , Wilfrid Laurier University , Waterloo , Ontario , Canada , 2005 . -LSB- 9 -RSB- W. H. Press , S. A. Teukolsky , W. T. Vetterling and B. P. Flannery , Numerical recipes in C : The Art of Scientific Computing , Cambridge University Press , 1992 . 262

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

monte carlo and quasi-monte carlo methods