Categories and Subject Descriptors J.4 [Computer Applications] SOCIAL AND BEHAVIORAL SCIENC
Mesh 医学主题词表
Mesh 医学主题词表The following is a table of the categories and subcategories of the tree structure chart:A。
AnatomyA1.Body ns___A3.Digestive SystemA4.Respiratory SystemA5.Urogenital SystemA6.Endocrine SystemA7.vascular SystemA8.Nervous SystemA9.Sense OrgansA10.TissuesA11.CellsA12.Fluids and nsA13.Animal Structures___A15.___A16.Embryonic StructuresB。
OrganismsB1.InvertebratesB2.___B3.BacteriaB4.VirusesB5.Algae and FungiB6.PlantsB7.ArchaeaC。
Diseases___C2.Virus DiseasesC3.Parasitic DiseasesC4.NeoplasmsC5.Musculoskeletal Diseases C6.Digestive System Diseases ___C8.Respiratory Tract Diseases___C10.Nervous System DiseasesC11.Eye Diseases______ of the tree structure chart。
The categories are Anatomy。
Organisms。
and Diseases。
with ___ each。
The Anatomy category includes Body ns。
Musculoskeletal System。
Digestive System。
Respiratory System。
Association_for_Computing_Machinery__ACM__SIG_Proceedings
A Sample ACM SIG Proceedings Paper in LaTeX[Extended Abstract]Author One∗Institute OneAddress One author.one@Author TwoInstitute T woAddress T wo author.two@Author ThreeInstitute ThreeAddress Three author.three@Author FourInstitute FourAddress Four author.four@ABSTRACTAbstract text.Abstract text.Abstract text.Abstract text. Abstract text.Abstract text.Abstract text. Categories and Subject DescriptorsH.4[Information Systems Applications]:Miscellaneous;D.2.8[Software Engineering]:Metrics—complexity mea-sures,performance measuresGeneral TermsTheoryKeywordsACM proceedings,L A T E X,text tagging1.INTRODUCTIONSample text.Sample text.Sample text.Sample text.Sam-ple text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text. Sample text.Sample text.Sample text.Sample text.Sam-ple text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text. Sample text.Sample text.Sample text.Sample text.Sam-ple text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text.Sample text. Sample text.Sample text.Sample text.Citation of Einstein paper[1].2.RESULTS AND DISCUSSIONSLorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna ali-qua.Ut enim ad minim veniam,quis nostrud exercitation ∗Now on postdoctoral fellow at ABC University ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occae-cat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna ali-qua.Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occae-cat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna ali-qua.Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occae-cat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna ali-qua.Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occae-cat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.3.REFERENCES[1]A.Einstein.Zur Elektrodynamik bewegter K¨o rper.(German)[On the electrodynamics of moving bodies].Annalen der Physik,322(10):891–921,1905.。
General Terms
The University of Amsterdam at WebCLEF2006Krisztian Balog Maarten de RijkeISLA,University of Amsterdamkbalog,mdr@science.uva.nlAbstractOur aim for our participation in WebCLEF2006was to investigate the robustness ofinformation retrieval techniques to crosslingual retrieval,such as compact documentrepresentations,and query reformulation techniques.Our focus was on the mixedmonolingual task.Apart from the proper preprocessing and transformation of variousencodings,we did not apply any language-specific techniques.Instead,the targetdomain metafield was used in some of our runs.A standard combSUM combinationusing Min-Max normalization was used to combine runs,based on a separate contentand title indexes of documents.We found that the combination is effective only forthe human generated topics.Query reformulation techniques can be used to improveretrieval performance,as witnessed by our best scoring configuration,however thesetechniques are not yet beneficial to all different kinds of topics.Categories and Subject DescriptorsH.3[Information Storage and Retrieval]:H.3.1Content Analysis and Indexing;H.3.3Infor-mation Search and Retrieval;H.3.4Systems and Software;H.3.7Digital Libraries;H.2.3[Database Managment]:Languages—Query LanguagesGeneral TermsMeasurement,Performance,ExperimentationKeywordsWeb retrieval,Multilingual retrieval1IntroductionThe world wide web is a natural setting for cross-lingual information retrieval,since the web content is essentially multilingual.On the other hand,web data is much noisier than traditional collections, eg.newswire or newspaper data,which originated from a single source.Also,the linguistic variety in the collection makes it harder to apply language-dependent processing methods,eg.stemming algorithms.Moreover,the size of the web only allows for methods that scale well.We investigate a range of approaches to crosslingual web retrieval using the test suite of the CLEF2006WebCLEF track,featuring a stream of known-item topics in various languages.The topics are a mixture of human generated(manually)and automatically generated topics.Our focus is on the mixed monolingual task.Our aim for our participation in WebCLEF2006was to investigate the robustness of information retrieval techniques,such as compact document repre-sentations(titles or incoming anchor-texts),and query reformulation techniques.The remainder of the paper is organized as follows.In Section2we describe our retrieval system as well as the specific approaches we applied.In Section3we describe the runs that we submitted,while the results of those runs are detailed in Section4.We conclude in Section5.2System DescriptionOur retrieval system is based on the Lucene engine[4].For our ranking,we used the default similarity measure of Lucene,i.e.,for a collection D, document d and query q containing terms t i:sim(q,d)=t∈q tf t,q·idf tnorm q·tf t,d·idf tnorm d·coord q,d·weight t,wheretf t,X=freq(t,X),idf t=1+log|D| freq(t,D),norm d= |d|,coord q,d=|q∩d||q|,andnorm q=t∈qtf t,q·idf t2.We did not apply any stemming nor did we use a stopword list.We applied case-folding and normalized marked characters to their unmarked counterparts,i.e.,mapping´a to a,¨o to o,æto ae,ˆıto i,etc.The only language specific processing we did was a transformation of the multiple Russian and Greek encodings into an ASCII transliteration.We extracted the full text from the documents,together with the title and anchorfields,and created three separate indexes:•Content:Index of the full document text.•Title:Index of all<title>fields.•Anchors:Index of all incoming anchor-texts.We performed three base runs using the separate indexes.We evaluated the base runs using the WebCLEF2005topics,and decided to use only the content and title indexes.2.1Run combinationsWe experimented with the combination of content and title runs,using standard combination methods as introduced by Fox and Shaw[1]:combMAX(take the maximal similarity score of the individual runs);combMIN(take the minimal similarity score of the individual runs);combSUM(take the sum of the similarity scores of the individual runs);combANZ(take the sum of the similarity scores of the individual runs,and divide by the number of non-zero entries);combMNZ(take the sum of the similarity scores of the individual runs,and multiply by the number of non-zero entries); and combMED(take the median similarity score of the individual runs).Fox and Shaw[1]found combSUM to be the best performing combination method.Kamps and de Rijke[2]conducted extensive experiments with the Fox and Shaw combination rules for nine european languages,and demonstrated that combination can lead into significant improvements.Moreover,they proved that the effectiveness of combining retrieval strategies differs between En-glish and other European languages.In Kamps and de Rijke[2],combSUM emerges as the best combination rule,confirming Fox and Shaw’sfindings.Similarity score distributions may differ radically across runs.We apply the combination methods to normalized similarity scores.That is,we follow Lee[3]and normalize retrieval scores into a[0,1]range,using the minimal and maximal similarity scores(min-max normalization):s =s−minmax−min,(1)where s denotes the original retrieval score,and min(max)is the minimal(maximal)score over all topics in the run.For the WebCLEF2005topics the best performance was achieved using the combSUM combi-nation rule,which is in conjunction with thefindings in[1,2],therefore we used that method for our WebCLEF2006submissions.2.2Query reformulationIn addition to our run combination experiments,we conducted experiments to measure the effect of phrase and query operations.We tested query-rewrite heuristics using phrases and word n-grams.Phrases In this straightforward mechanism we simply add the topic terms as a phrase to the topic.For example,for the topic WC0601907,with title“diana memorial fountain”,the query becomes:diana memorial fountain“diana memorial fountain”.Our intuition is that rewarding documents that contain the whole topic as a phrase,not only the individual terms,would be beneficial to retrieval performance.N-grams In our approach every word n-gram from the query is added to the query as a phrase with weight n.This means that longer phrases get bigger ing the previous topic as an example,the query becomes:diana memorial fountain“diana memorial”2“memorial fountain”2“diana memorial fountain”3,where the number in the upper index denotes the weight attached to the phrase(the weight of the individual terms is1).3RunsWe submittedfive runs to the mixed monolingual task:Baseline Base run using the content only index.Comb Combination of the content and title runs,using the CombSUM method.CombMeta The Comb run,using the target domain metafield.We restrict our search to the corresponding domain.CombPhrase The CombMeta run,using the Phrase query reformulation technique. CombNboost The CombMeta run,using the N-grams query reformulation technique.4ResultsTable1lists our results in terms of mean reciprocal rank.Runs are listed along the left-hand side,while the labels indicate either all topics(all)or various subsets:automatically generated (auto)—further subdivided into automatically generated using the unigram generator(auto-u) and automatically generated using the bigram generator(auto-b)—and manual(manual),which is further subdivided into new manual topics and old manual topics.Significance testing was done using the two-tailed Wilcoxon Matched-pair Signed-Ranks Test, where we look for improvements at a significance level of0.05(1),0.001(2),and0.0001(3). Signficant differences noted in Table1are with respect to the Baseline run.Table1:Submission results(Mean Reciprocal Rank)runID all auto auto-u auto-b manual man-n man-oBaseline0.16940.12530.13970.11100.39340.47870.3391Comb0.168510.120830.139430.10210.41120.49520.3578CombMeta0.194730.150530.167030.134130.418830.510810.36031 CombPhrase0.200130.157030.163930.150030.41900.51380.3587CombNboost0.195430.158630.159530.157630.38260.48910.3148Combination of the content and title runs(Comb)increased performance only for the manual topics.The use of the title tag does not help when the topics are automatically generated. Instead of employing a language detection method,we simply used the target domain metafield. The CombMeta run improved the retrieval performance significantly for all subsets of topics.Our query reformulation techniques show mixed,but promising results.The best overall score was achieved when the topic,as a phrase,was added to the query(CombPhrase).The comparison of CombPhrase vs CombMeta reveals that they achieved similar scores for all subsets of topics,except for the automatic topics using the bigram generator,where the query reformulation technique was clearly beneficial.The n-gram query reformulation technique(CombNboost)further improved the results of the auto-b topics,but hurt accuracy on all other subsets,especially on the manual topics. The CombPhrase run demonstrates that even a very simple query reformulation technique can be used to improve retrieval scores.However,we need to further investigate how to automatically detect whether it is beneficial to use such techniques(and if yes,which technique to apply)for a given a topic.Comparing the various subsets of topics,we see that the automatic topics have proven to be more difficult than the manual ones.Also,the new manual topics seem to be more appropriate for known-item search than the old manual topics.There is a clear ranking among the various subsets of topics,and this ranking is independent from the applied methods:man−n man−o auto−u auto−b.5ConclusionsOur aim for our participation in WebCLEF2006was to investigate the robustness of information retrieval techniques to crosslingual web retrieval.The only language-specific processing we applied was the transformation of various encodings into an ASCII transliteration.We did not apply any stemming nor did we use a stopword list.We indexed the collection by extracting the full text and the titlefields from the documents.A standard combSUM combination using Min-Max normalization was used to combine the runs based on the content and title indexes.We found that the combination is effective only for the human generated topics,using the titlefield did not improve performance when the topics are automatically generated.Significant improvements (+15%MRR)were achieved by using the target domain metafield.We also investigated the effect of query reformulation techniques.We found,that even very simple methods can improve retrieval performance,however these techniques are not yet beneficial to retrieval for all subsets of topics.Although it may be too early to talk about a solved problem,effective and robust web retrieval techniques seem to carry over to the mixed monolingual setting.6AcknowledgmentsKrisztian Balog was supported by the Netherlands Organisation for Scientific Research(NWO)un-der project numbers220-80-001,600.-065.-120and612.000.106.Maarten de Rijke was supported by NWO under project numbers017.001.190,220-80-001,264-70-050,354-20-005,600.-065.-120, 612-13-001,612.000.106,612.066.302,612.069.006,640.001.501,and640.002.501. References[1]E.Fox and bination of multiple searches.In The Second Text REtrieval Con-ference(TREC-2),pages243–252.National Institute for Standards and Technology.NIST Special Publication500-215,1994.[2]J.Kamps and M.de Rijke.The effectiveness of combining information retrieval strategiesfor European languages.In Proceedings of the2004ACM Symposium on Applied Computing, pages1073–1077,2004.[3]bining multiple evidence from different properties of weighting schemes.InSIGIR’95:Proceedings of the18th annual international ACM SIGIR conference on Research and development in information retrieval,pages180–188,New York,NY,USA,1995.ACM Press.ISBN0-89791-714-6.doi:/10.1145/215206.215358.[4]Lucene.The Lucene search engine,2005./.。
科技外文文献原文
AMBULANT:A Fast,Multi-Platform Open Source SML Player Dick C.A. Bulterman, Jack Jansen, Kleanthis Kleanthous, Kees Blom and Daniel Benden CWI: Centrum voor Wiskunde en InformaticaKruislaan 4131098 SJ Amsterdam, The Netherlands +31 20 592 43 00 Dick.Bulterman@cwi.nl ABSTRACTThis paper provides an overview of the Ambulant Open SMIL player. Unlike other SMIL implementations, the Ambulant Player is a reconfigureable SMIL engine that can be customized for use as an experimental media player core.The Ambulant Player is a reference SMIL engine that can be integrated in a wide variety of media player projects. This paper starts with an overview of our motivations for creating a new SMIL engine then discusses the architecture of the Ambulant Core (including the scalability and custom integration features of the player).We close with a discussion of our implementation experiences with Ambulant instances for Windows,Mac and Linux versions for desktop and PDA devices.Categories and Subject Descriptors H.5.1 Multimedia Information Systems [Evaluation]H.5.4 Hypertext/Hypermedia [Navigation]. General TermsExperimentation, Performance, V erification KeywordsSMIL, Player, Open-Source, Demos1.MOTIV ATIONThe Ambulant Open SMIL Player is an open-source, full featured SMIL 2.0 player. It is intended to be used within the researcher community (in and outside our institute) in projects that need source code access to a production-quality SMIL player environment. It may also be used as a stand-alone SMIL player for applications that do not need proprietary mediaformats.The player supports a range of SMIL 2.0 profiles ( including desktop and mobile configurations) and is available in distributions for Linux, Macintosh, and Windows systems ranging from desktop devices to PDA and handheld computers. While several SMIL player implementationsexist,including the RealPlayer [4], InternetExplorer [5], PocketSMIL [7],GRiNS [6],X-SMILES [8] and various proprietary implementations for mobile devices, we developed Ambulant for three reasons:Permission to make digital or hard copiesof all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish,to post on servers or to redistribute tolists,requires prior specific permissionand/or a fee.'MM' 04, October 10-16, 2004, New Y ork, New Y ork, USA.Copyright 2004 ACM 1-58113-893-8/04/0010...$5.00.•N one of the existi ng SMIL players provides a complete and correct SMIL 2.0 implementation. The Ambulant player implements all of SMIL, based on the SMIL 2.0 Language profile plus extensions to support advanced animation and the needs of the mobile variant used by the 3GPP/PSS-6 SMIL specification [9]. •A ll commercial SMIL players are geared to the presentation of proprietary media. The Ambulant player uses open-source media codecs and open-source network transfer protocols, so that the player can be easily customized foruse in a wide range of researchprojects.• Our goal is to build a platform that will encourage the development of comparable multimedia research output.By providing what we expect will be a standard baseline player, other researchers and developmentorganizations can concentrate on integratingextensions to the basic player (either in terms of new media codecs or new network control algorithms). These extensions can then be shared by others.In contrast to the Helix client architecture [10], which also moved to a GPL core in mid-2004, the Ambulant player supports a wider range of SMIL target application architectures,it provides a more complete and correct implementation of the SMIL language,it provides much better performance on low-resource devices and it provides a more extensible media player architecture. It also provides an implementation that includes all of the media codecs as part of the open client infrastructure.The Ambulant target community is not viewers of media content, but developers of multimedia infrastructures, protocols and networks. Our goal has been to augument the existing partial SMIL implementations produced by many groups with a complete implementation that supports even the exotic features of the SMIL language. The following sections provide an introduction to the architecture of the player and describe the state of the various Ambulant implementations. We then discuss how the Ambulant Core can be re-purposed in other projects. We start with a discussion of Ambulant 's functional support for SMIL.2.FUNCTIONAL SUPPORT FOR SMIL 2.0The SMIL 2.0 recommendation [1] defines 10 functional groups that are used to structure the standard '5s0+ modules. These modules define the approximately 30 XML elements and 150 attributes that make up the SMIL 2.0 language. In addition to defining modules, the SMIL 2.0 specification also defines a number of SMIL profiles: collection of elements, attributes and attribute values that are targeted to meet the needs of a particular implementation community. Common profiles include the full SMIL 2.0 Language, SMIL Basic, 3GPP SMIL,XHTML+SMIL and SMIL 1.0 profiles.A review of these profiles is beyond the scope of this paper(see [2]), but a key concern of Ambulant ' sdevelopment has been to provide a player core that can be used to support a wide range of SMIL target profiles with custom player components.This has resulted in an architecture that allows nearly all aspects of the player to be plug-replaceable via open interfaces. In this way, tailored layout, scheduling, media processing and interaction modules can be configured to meet the needs of individual profile requirements. The Ambulant player is the only player that supports this architecture.The Ambulant player provides a direct implementation of the SMIL 2.0 Language profile, plus extensions that provide enhanced support for animation and timing control. Compared with other commercial and non-commercial players, the Ambulant player implements not only a core scheduling engine, it also provides complete support for SMIL layout,interaction, content control and networking facilities.Ambulant provides the most complete implementation of the SMIL language available to date.3.AMBULANT ARCHITECTUREThis section provides an overview of the architecture of the Ambulant core. While this discussion is high-level, it will provide sufficient detail to demonstrate the applicability of Ambulant to a wide range of projects. The sections below consider thehigh-level interface structure, the common services layer and the player com mon core architecture.3.1The High-Level Interface StructureFigure 1 shows the highest level player abstract ion. The player core support top-level con trol exter nal entry points (in clud ing play/stop/pause) and in turn man ages a collection of external factories that provide in terfaces to data sources (both for sta ndard and pseudo-media), GUI and window system interfaces and in terfaces to ren derers. Unlike other players that treat SMIL as a datatype [4],[10], the Ambula nt en gi ne has acen tral role in in teractio n with the input/output/scree n/devices in terfaces.This architecture allows the types of entry points (and the moment of evaluation) to be customized and separated from the various data-sources and renderers. This is important forintegration with environments that may use non-SMIL layout or special device in terface process ing.Figuit 1 k Ambulaittliigk-ljtwLstruchm.3.2The Common Services LayerFigure 2 shows a set of com mon services that are supplied for the player to operate. These in clude operati ng systems in terfaces, draw ing systems in terfaces and support for baseli ne XML fun ctio ns.All of these services are provided by Ambulant; they may also be integrated into other player-related projects or they may be replaced by new service components that are optimized for particular devices or algorithms. Hsurt 2. Amldant Common [Services Liwr/3.3The Player Common CoreFigure 3 shows a slightly abstracted view ofthe Ambula nt com mon core architecture. The view is essentially that of a single instanceof the Ambula nt player. Although only oneclass object is shown for eachservice,multiple interchangeable implementations have been developed for all objects (except the DOM tree) during theplayer 'development. As an example,multiple schedulers have bee n developed to match the fun cti onalcapabilities of various SMIL profiles.Arrows in the figure denote that one abstract class depends on the services offered by the other abstract class. Stacked boxes denote that a si ngle in sta nce of the player will con tain in sta nces of multiple con crete classes impleme nting that abstract class: one for audio, one for images, etc. All of the stacked-box abstract classes come with a factory function to create the in sta nces of the required con crete class.The bulk of the player implementation is architected to be platform in depe ndent. As we will discuss, this platform in depe ndent component has already been reused for five separate player impleme ntati ons. The platform dependent portions of the player include support for actual ren deri ng, UI in teract ion and datasource processing and control. When the player is active, there is asingle instanee of the scheduler and layout manager, both of which depend on the DOM tree object. Multiple instances of data source and playable objects are created. These in teract with multiple abstract rendering surfaces. The playable abstract class is the scheduler in terface (play, stop) for a media no de, while the renderer abstract class is the drawing in terface (redraw). Note that not all playables are ren derers (audio, SMIL ani mati on). The architecture has bee n desig ned to have all comp onents be replaceable, both in terms of an alter native impleme ntati on of a give n set of functionality and in terms of a complete re-purposing of the player components. In this way, the Ambulant core can be migrated to being a special purpose SMIL engine or a non-SMIL engine (such as support for MPEG-4 or other sta ndards).The abstract in terfaces provided by the player do not require a “ SMIL on Top” model of docume nt process ing. The abstract in terface can be used with other high-level control 4.1 Implementation PlatformsSMIL profiles have been defined for a widerange of platforms and devices, ranging fromdesktop implementations to mobile devices. Inorder to support our research on distributedmodels (such as in an XHTML+SMIL implementation), or to control non-SMILlower-level rendering (such as timed text).Note that in order to improve readability of theillustrati on, all auxiliary classes (threadi ng, geometry and color han dli ng, etc.) and several classes that were not important for general un dersta nding (player driver engine, transitions, etc.) have been left out of the diagram.4. IMPLEMENTATION EXPERIENCESThis sectio nwill briefly review ourimpleme ntatio n experie nces with theAmbula nt player. We discuss the implementation platforms used during SMIL ' s development and describe a set of test documents that were created to test the fun cti on ality of the Ambula nt player core. We con clude with a discussi on on the performa nee of the Ambula nt player.SMIL document extensions and to provide a player that was useful for other research efforts, we decided to provide a wide range of SMIL implementations for the Ambulant project. The Ambulant core is available as a single C++ source distribution that provides support for the following platforms:•Linux: our source distributi on in elude makefiles that are used with the RH-8 distribution of Linux. We provide support for media using the FF-MPEG suite [11]. The player interface is built using the Qt toolkit [12]. •Macintosh:Ambulant supports Mac OS X 10.3. Media rendering support is available via the internal Quicktime API and via FF-MPEG . The player user interface uses standard Mac conventions and support (Coca). •Windows: Ambulant provides conventional Win32 support for current generation Windows platforms. It has been most extensivelytested with XP (Home,Professional and TabletPC) and Windows-2000. Media rendering include third-party and local support for imaging and continuous media. Networking and user interface support are provided using platform-embeddedlibraries.•PocketPC: Ambulant supports PocketPC-2000,PocketPC-2002andWindows Mobile 2003 systems. The PocketPC implementations provide support for basic imaging, audio and text facilities.•Linux PDA support:Ambulant provides support for the Zaurus Linux-PDA. Media support is provided via the FF-MPEG library and UI support is provide via Qt. Media support includes audio, images and simple text.In each of these implementations, our initial focus has been on providing support for SMIL scheduling and control functions.We have not optimized media renderer support in the Ambulant 1.0 releases, but expect to provide enhanced support in future versions. 4.2 Demos and Test SuitesIn order to validate the Ambulant player implementation beyond that available with the standard SMIL test suite [3], several demo and test documents have been distributed with the player core. The principal demos include: •Welcome: A short presentation that exercises basic timing,media rendering, transformations and animation.•NYC: a short slideshow in desktop and mobile configurations that exercises scheduling, transformation and media rendering.•News: a complex interactive news document that tests linking, event-based activation, advanced layout, timing and media integration. Like NYC, this demo support differentiated mobile and desktop configurations.•Links: a suite of linking and interaction test cases.•Flashlight: an interactive user'sguide that tests presentation customization using custom test attributes and linking/interaction support. These and other demos are distributed as part of the Ambulant player web site [13].4.3Performance EvaluationThe goal of the Ambulant implementation was to provide a complete and fast SMIL player. We used a C++ implementation core instead of Java or Python because our experience had shownthat on small devices (which we feel hold significant interest for future research), the efficiency of the implementation still plays a dominant role. Our goal was to be able to read, parse, model and schedule a 300-node news presentation in less than two seconds on desktop and mobile platforms. This goal was achieved for all of the target platforms used in the player project. By comparison, the same presentation on the Oratrix GRiNS PocketPC player took 28 seconds to read, parse and schedule. (The Real PocketPC SMIL player and the PocketSMIL players were not able to parseand schedule the document at all because of their limited SMIL language support.)In terms of SMIL language performance, our goal was to provide a complete implementation of the SMIL 2.0 Language profile[14]. Where other players have implemented subsets of this profile,Ambulant has managed to implement the entire SMIL 2.0 feature set with two exceptions: first, we currently do not support the prefetch elements of the content control modules; second, we provide only single top-level window support in the platform-dependent player interfaces. Prefetch was not supported because of the close association of an implementation with a given streaming architecture. The use of multiple top-level windows, while supported in our other SMIL implementation, was not included in version 1.0 of Ambulant because of pending working on multi-screen mobile devices. Both of these feature are expected to be supported in the next release of Ambulant.5.CURRENT STATUS AND AVAILABILITYT his paper describes version 1.0 of the Ambulant player, which was released on July 12, 2004. (This version is also known as the Ambulant/O release of the player.) Feature releases and platform tuning are expected to occur in the summer of 2004. The current release of Ambulant is always available via our SourceForge links [13], along with pointers to the most recent demonstrators and test suites.The W3C started its SMIL 2.1 standardization in May, 2004.At the same time, the W3C' s timed text working group is completing itsfirst public working draft. We will support both of these activities in upcoming Ambulant releases.6.CONCLUSIONSWhile SMIL support is becoming ubiquitous (in no small part due to its acceptance within the mobile community), the availability of open-source SMIL players has been limited. This has meant that any group wishing to investigate multimedia extensions or high-/low-level user or rendering support has had to make a considerable investment in developing a core SMIL engine.We expect that by providing a high-performance, high-quality and complete SMIL implementation in an open environment, both our own research and the research agendas of others can be served. By providing a flexible player framework, extensions from new user interfaces to new rendering engines or content control infrastructures can be easily supported.7.ACKNOWLEDGEMENTS This work was supported by the Stichting NLnet in Amsterdam.8.REFERENCES[1]W3C,SMIL Specification,/AudioVideo.[2]Bulterman,D.C.A and Rutledge, L.,SMIL 2.0:Interactive Multimedia for Weband Mobile Devices, Springer, 2004.[3]W3C,SMIL2.0 Standard Testsuite,/2001/SMIL20/testsuite/[4]RealNetworks,The RealPlayer 10,/[5]Microsoft,HTML+Time in InternetExplorer 6,/workshop/author/behaviors/time.asp[6]Oratrix, The GRiNS 2.0 SMIL Player./[7]INRIA,The PocketSMIL 2.0 Player,wam.inrialpes.fr/software/pocketsmil/. [8],X-SMILES: An Open XML-Browser for ExoticApplications./[9]3GPP Consortium,The Third-GenerationPartnership Project(3GPP)SMIL PSS-6Profile./ftp/Specs/archive/26_series/26.246/ 26246-003.zip[10]Helix Community,The Helix Player./.[11]FFMPEG ,FF-MPEG:A Complete Solution forRecording,Converting and Streaming Audioand Video./[12]Trolltech,Qtopia:The QT Palmtop/[13]Ambulant Project,The Ambulant 1.0 Open Source SMIL 2.0Player, /.[14]Bulterman,D.C.A.,A Linking andInteraction Evaluation Test Set for SMIL,Proc. ACM Hypertext 2004, SantaCruz,August, 2004.。
mindlessormindfultechnology无意识或注意技术
Below is given annual work summary, do not need friends can download after editor deleted Welcome to visit againXXXX annual work summaryDear every leader, colleagues:Look back end of XXXX, XXXX years of work, have the joy of success in your work, have a collaboration with colleagues, working hard, also have disappointed when encountered difficulties and setbacks. Imperceptible in tense and orderly to be over a year, a year, under the loving care and guidance of the leadership of the company, under the support and help of colleagues, through their own efforts, various aspects have made certain progress, better to complete the job. For better work, sum up experience and lessons, will now work a brief summary.To continuously strengthen learning, improve their comprehensive quality. With good comprehensive quality is the precondition of completes the labor of duty and conditions. A year always put learning in the important position, trying to improve their comprehensive quality. Continuous learning professional skills, learn from surrounding colleagues with rich work experience, equip themselves with knowledge, the expanded aspect of knowledge, efforts to improve their comprehensive quality.The second Do best, strictly perform their responsibilities. Set up the company, to maximize the customer to the satisfaction of the company's products, do a good job in technical services and product promotion to the company. And collected on the properties of the products of the company, in order to make improvement in time, make the products better meet the using demand of the scene.Three to learn to be good at communication, coordinating assistance. On‐site technical service personnel should not only have strong professional technology, should also have good communication ability, a lot of a product due to improper operation to appear problem, but often not customers reflect the quality of no, so this time we need to find out the crux, and customer communication, standardized operation, to avoid customer's mistrust of the products and even the damage of the company's image. Some experiences in the past work, mentality is very important in the work, work to have passion, keep the smile of sunshine, can close the distance between people, easy to communicate with the customer. Do better in the daily work to communicate with customers and achieve customer satisfaction, excellent technical service every time, on behalf of the customer on our products much a understanding and trust.Fourth, we need to continue to learn professional knowledge, do practical grasp skilled operation. Over the past year, through continuous learning and fumble, studied the gas generation, collection and methods, gradually familiar with and master the company introduced the working principle, operation method of gas machine. With the help of the department leaders and colleagues, familiar with and master the launch of the division principle, debugging method of the control system, and to wuhan Chen Guchong garbage power plant of gas machine control system transformation, learn to debug, accumulated some experience. All in all, over the past year, did some work, have also made some achievements, but the results can only represent the past, there are some problems to work, can't meet the higher requirements. In the future work, I must develop the oneself advantage, lack of correct, foster strengths and circumvent weaknesses, for greater achievements. Looking forward to XXXX years of work, I'll be more efforts, constant progress in their jobs, make greater achievements. Every year I have progress, the growth of believe will get greater returns, I will my biggest contribution to the development of the company, believe in yourself do better next year!I wish you all work study progress in the year to come.Mindless or Mindful Technology?Yvonne RogersUCLIC, University College London, London, UKAbstractWe are increasingly living in our digital bubbles. Even when physically together – as families and friends in our living rooms, outdoors and public places – we have our eyes glued to our own phones, tablets and laptops. The new generation of ‘all about me’ health and fitness gadgets, that is becoming more mainstream, is making it worse. Do we really need smart shoes that tell us when we are being lazy and glasses that tell us what we can and cannot eat? Is this what we want from technology – ever more forms of digital narcissism, virtual nagging and data addiction? In contrast, I argue for a radical rethink of our relationship with future digital technologies. One that inspires us, through shared devices, tools and data, to be more creative, playful and thoughtful of each other and our surrounding environments.Categories and Subject DescriptorsH.5.2 User InterfacesKeywordsMindful technology; vision; creative technology, HCIShort BioYvonne Rogers is a Professorof Interaction Design, thedirector of UCLIC and adeputy head of the ComputerScience department at UCL.Her research interests are in theareas of ubiquitous computing,interaction design and human-computer interaction. A centraltheme is how to designinteractive technologies thatcan enhance life by augmenting and extending everyday, learning and work activities. This involves informing, building and evaluating novel user experiences through creating and assembling a diversity of pervasive technologies. Yvonne is also the PI at UCL for the Intel Collaborative Research Institute on Sustainable Connected Cities (ICRI Cities) which was launched in October 2012 as a joint collaboration with Imperial College.She was awarded a prestigious EPSRC dream fellowship rethinking the relationship between ageing, computing and creativity. She is a visiting professor at the Open University and Indiana University. She has spent sabbaticals at Stanford, Apple, Queensland University, University of Cape Town, University of Melbourne, QUT and UC San Diego. Central to her work is a critical stance towards how visions, theories and frameworks shape the fields of HCI, cognitive science and Ubicomp. She has been instrumental in promulgating new theories (e.g., external cognition), alternative methodologies (e.g., in the wild studies) and far-reaching research agendas (e.g., “Being Human: HCI in 2020” manifesto). She has also published a monograph (2012) called “HCI Theory: Classical, Modern and Contemporary.”From 2006-2011, Yvonne was professor of HCI in the Computing Department at the OU, where she set up the Pervasive Interaction Lab. From 2003-2006, she was a professor in Informatics at Indiana University. Prior to this, she spent 11 years at the former School of Cognitive and Computing Sciences at Sussex University.Yvonne was one of the principal investigators on the UK Equator Project (2000-2007) where she pioneered ubiquitous learning. She has published widely, beginning with her PhD work on graphical interfaces to her recent work on public visualisations and behavioural change. She is one of the authors of the definitive textbook on Interaction Design and HCI now in its 3rd edition that has sold over 150,000 copies worldwide and has been translated into 6 languages. She is a Fellow of the British Computer Society and the ACM's CHI Academy: “an honorary group of individuals who have made substantial contributions to the field of human-computer interaction. These are the principal leaders of the field, whose efforts have shaped the disciplines and/or industry, and led the research and/or innovation in human-computer interaction.”Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). Copyright is held by the author/owner(s).EICS’14,June 17–20, 2014, Rome, Italy.ACM 978-1-4503-2725-1/14/06./10.1145/2607023.2611428。
Information Management
DIRECT-INFOA Media Monitoring System for Sponsorship TrackingG. Kienast, H. Rehatschek,A. HortiJOANNEUM RESEARCH Institute of Information Systems & Information Management Steyrergasse 17, A-8010 Graz+43(316)876-1182 gert.kienast@joanneum.atS. Busemann, T. DeclerckDFKI GmbHLanguage Technology LabStuhlsatzenhausweg 3D-66123 Saarbrücken+49(681)302-5282stephan.busemann@dfki.deV. Hahn, R. CavetFraunhofer Institut für GraphischeDatenverarbeitungFraunhoferstraße 5D-64283 Darmstadt+49(6151)155-612volker.hahn@igd.fhg.deABSTRACTDIRECT-INFO is a system for media monitoring applied to the field of sponsorship tracking. Significant parts of TV streams and electronic press feeds are automatically selected and subsequently monitored to find appearances of the name or logo of a sponsoring company in connection with the sponsored party. For this purpose basic features are fully automatically extracted from TV and press and thereafter fused to semantically meaningful reports to support executive decision makers. Extracted features include logos, positive & negative mentions of a brand or product, multimodal video segmentation, speech-to-text transcripts, detected topics and genre classification. In this paper we first describe the technical workflow and architecture of the DIRECT-INFO system and then present the main innovations in four key areas.Categories and Subject DescriptorsJ.0 [General Computer Applications]General TermsAlgorithms, Economics, Management, Measurement KeywordsMedia monitoring, sponsorship tracking, logo recognition, object detection, natural language processing, multimodal video segmentation, information fusion.1.INTRODUCTIONSport sponsors are spending significant amounts of money to be publicly associated with a team or an athlete. Knowledge about how often a sponsor is mentioned in connection with the sponsored party is a direct indicator for executive managers to estimate whether to continue sponsorship or not. The sponsored party can use this information in order to further motivate the sponsor to invest. Such information is gathered through global advertisement expenditure measurement, which is performed by media monitoring companies.This type of business intelligence is a very complex task, which is currently performed manually in the sector of sponsorship tracking, therefore it is very expensive. These companies employ a huge staff to continuously monitor a set of media channels ranging from TV and radio to press and internet. Technology support on this work is currently mainly on the data management side after the information from the media monitored have been extracted by humans.The focus of the DIRECT-INFO project is to create an application for semi-automatic sponsorship tracking in the area of media monitoring which shall speed up the manual process. This means a sponsor wants to know how often his brand is mentioned in connection with the sponsored company. The simple detection of a brand in one modality (e.g. video) is not sufficient to meet the requirements of this business case. Multimodal analysis and fusion – as implemented within DIRECT-INFO – is needed in order to fulfill these requirements.1.1Benefits for service providers & end users Reducing labor-intensive monitoring work of TV & newspapers by providing a semi-automatic system can greatly reduce costs for media information companies and their customers. Human intervention is mainly limited to verification and validation of results. Both end users and service providers benefit from having the desired information available more quickly.Information extracted from heterogeneous media sources (TV, newspaper, internet…) can be accessed through a common interface. Examples for possible end user requests are:•The overall time a company logo was visible in a given broadcast•Whether a company (their representatives, sponsors or products) appeared in positive or negative contexts in agiven period in the media.In addition to sponsorship tracking also other application scenarios are possible, e.g. the monitoring of political election campaigns. Questions arising may include: How much coverage did a party or a politician get in the news or talk shows? Was s/hementioned in a positive or negative way? What about competitive candidates?2.RELATED WORKCurrently there exist only semi-automatic commercial solutions and ongoing research projects for dedicated business cases in the media monitoring domain. According to our knowledge the only multimodal analysis system which targets sponsorship tracking has been developed by the R&D project DIRECT-INFO. For the very specific (unimodal) task of brand detection the R&D project DETECT and commercial products from SPORTSi, Spikenet Technology, and Omniperception can be identified. Furthermore it has to be mentioned that there are many (manual) service providers in the market, however, very few technological solution providers.DETECT is a completed EC project which aimed to automatically extract features from digital video streams. In particular logo appearances were detected and based on these appearances statistics for the sponsoring party were generated [5].SPORTSi™ is a commercial software marketed by tnssport [6]. It tracks television exposure and value of brands within sport events. The software can measure exposure from advertising boards. The SPORTSi™ system is being developed with BrandTraX Inc., based on software developed by Bell Labs, the R&D department of Lucent Technologies. tnssport offers media monitoring as a service for the business cases: coverage analysis, audience data interpretation and quantity/quality of sponsor exposure. Recently Margaux Matrix [9] began marketing a system developed by Spikenet Technology [10]. The initial target of this application is to track and to generate statistics for logos within Formula 1 race broadcasts. An initial evaluation of the demo system seems to indicate that the method is accurate, but extremely sensitive to a variety of threshold values. They claim a detection accuracy of 97.3% with a false positive rate of just 0.1. Careful parameter adjusting needs to be carried out for each logo class and broadcast to get these optimal results.Magellan™ [11] Automatic Brand Analysis and Logo Detection software provides the tools necessary to automate the chronometry process for Sports programs. Magellan™ enables significant improvements in manual workflow throughput. The Automatic Brand Analysis and Logo Detection are based upon purpose-built proprietary image recognition algorithms. Magellan™ searches through frames of video to automatically detect the exposure of a brand image or a logo. The Magellan system by OmniPerception claims to be a robust solution to logo tracking, which offers real-time multiple brand/logo detection in video streams. It handles occlusion, overlap, rotation, and can localize the logo within the frame. It is currently not possible to tell any details of how the algorithm works or how accurate it truly is.3.THE DIRECT-INFO SYSTEMThis section gives a short introduction on the main innovation of DIRECT-INFO (achieved both on the level of basic analysis as well as in fusion of heterogeneous low-level information to high-level semantic results) and then describes the components and their roles in the application. 3.1Main Innovations3.1.1Logo DetectionAn algorithm for logo recognition based on receptive fields [6], [7] has been developed by the DETECT project. This approach for logo recognition has been shown to be invariant against affine transformations, perspective transformations, occlusions and motion blur. Matching is performed by histogram intersection, which compares the histogram of computed receptive fields in a detected region of interest within a frame versus the histograms loaded from the model database.Although the receptive fields approach is very fast the number of false positive detections is rather high depending on the logo. Furthermore the receptive fields approach is unable to recognize multiple adjacent logo occurrences as such. Adjacent occurrences are merged to one object recognition.To overcome these drawbacks the “Scale Invariant Feature Transform” (SIFT) [1], [3] is now used and has been enhanced for logo recognition in DIRECT-INFO. SIFT is able to recognize adjacent logos as independent occurrences and application of this algorithm results in a higher precision rate. Additionally the SIFT algorithm has been extended to improve object recognition rates (see section 4 for details). The first improvement handles recognition of an object if just one interest point has matched. In this case the surrounding of the candidate object location is investigated in detail. The second improvement applies the same strategy in the temporal domain: If an object is recognized with less confidence in the next frame at the same location, the SIFT implementation examines the candidate region in more detail. 3.1.2Multimodal SegmentationThe aim of the multimodal segmentation is the unsupervised extraction of meaningful semantic information from broadcasted video taking advantage of the media's multimodality. Since semantic is not independent of context, the goal is to detect and extract logical entities (scenes) from the video stream on top of results coming from the classification of basic event sequences.In contrast to most solutions for video analysis, which are still focusing on one modality, the multi modal scene classification approach is based on the analysis of different kinds of information channels:•Visual modality including artificial (graphics) and natural content (video)•Audio modality, which includes environmental sounds as well as music, jingles etc.•Text modality: text overlays, which provide semantic information.The usage of multimodal analysis in video raises the question about what should be analyzed in the video stream and how could it be done. Regarding human beings the process of perception is a pre-conscious level of cognition (“signal level”); it organizes the incoming sensoric signals into information instances such as objects and events. This perceptual organization is then taken over by higher cognitive levels in order to be enriched by knowledge, so that we can become aware of what is present in the world around us. Because object recognition is still a hard task, event detection and modeling is the more promising way towardsautomatic semantic annotation and description of multimodal broadcasts [14].3.1.3Text AnalysisIn order to detect positive or negative mentions of brand names in the news, DIRECT-INFO applies linguistics-based text analysis tools. Going that far beyond keyword matching is new and highly promising, given a solid coverage of the languages in question (English and Italian). Text is available from different media: •Speech input transformed to corresponding written text•Newspaper transformed from PDF to plain text•Text from on-line tickers reporting on a sports eventAll sources are unrestricted and error-prone. Both these facts call for fallback strategies to more shallow analysis techniques. Clearly the performance depends on the correct recognition of the key brand names. The alternative use of statistical approaches is hardly possible, as annotated data supporting the classification process are not available and expensive to provide. In chapter 5 we concentrate on the linguistic analysis of newspaper text.3.1.4Information FusionAfter basic analysis is finished all results are stored in a common MPEG-7 document, which can be accessed by all components through the MPEG-7 document server.Heterogeneous multi-media information in MPEG-7 does usually not directly answer customer needs (section 1.1). However, automatically relating pieces of information in appropriate ways can indeed answer such needs. A novel type of human-machine interface has been designed and implemented to support the media analyst in interpreting fused Appearances of company information and making this information available to the end user. Starting from basic MPEG-7 data, rule-based fusion operators can be used, modified and parameterized by the media analyst in order to create the complex appearances the end user is interested in. Using a comfortable use case management system combined with extensive search and retrieval functionality, the media analyst can view, interpret and publish the fused appearances for presentation to the end user. The system operates semi-automatically – the media analyst finally decides which appearances are relevant and will be published for a particular end user.The MPEG-7 parser, the database, the fusion component and the facts management interface to the media analyst, which we also call “set-up application”, are implemented in Python using the open source Zope/Plone framework[14], [22].3.2Pilot Use CaseFor the use case targeted in the evaluation phase of the project we are interested in the Juventus soccer team and its sponsors Nike, Tamoil and Sky Sports. Appearances and mentions of the sponsors in connection with Juventus will be monitored.The material to be monitored includes TV recordings from the Italian TV channels Sky Sports and Italia 1of December 17-19, 2004 and Italian daily newspapers Gazzetta dello Sport and Corriere della Sera of December 18-20, 2004 covering a soccer match of Juventus against Inter Milan including pre- and post-game coverage. 3.3WorkflowIn order to meet the requirements of sponsorship tracking the following workflow has been identified. This workflow can be easily configured by the user and adapted to other usage scenarios.1.The Acquisition Component records video chunks ofconstant length (a few minutes) & EPG information and notifies the central content analysis controller (CAC) on their availability. Based on EPG information the Content Essence Repository (CER) and the Content Analysis Controller (CAC) prepare “Semantic Blocks”, each represented by an MPEG-2 essence file and an MPEG-7 document for metadata. A semantic block is a closed TV broadcast, e.g. a soccer game or a talk show. A semantic block may be assembled from one or more recorded video chunks.2.For each semantic block the CAC starts an analysissubsystem that performs automatic genre classification on this semantic block in order to get another indicator – next to the EPG information – if the current semantic block is to be considered “relevant” for the given use case. Based on a condensed result of the genre classification and the EPG information the CAC decides whether the semantic block is analyzed or not, e.g. a soccer game is relevant for sponsorship tracking while a soap opera is not.3.If the semantic block is relevant for analysis, the CAC passesit to the further analysis subsystems according to the user defined workflow. For sponsorship tracking these subsystems perform logo detection, video segmentation, text analysis and topic detection based on a speech-to-text transcript. All analysis results are stored in the MPEG-7 document of the semantic block.4.After analysis the user performs a “quality check” via theMPEG-7 Result Editor. The user may directly modify and/or approve the results or restart analysis with changed parameters or start and end time of semantic blocks.5.After the quality check results are passed to the FusionComponent. It automatically reduces the complexity of the various low-level results by creating rule-based “Appearances” of a sponsor, team or brand. Based on user interaction appearances may be classified and edited manually. The fused results are stored in a local database. 6.When a specific customer request comes in the user queriesthe database and prepares the data relevant for the specific customer.7.The customer accesses the data via a web-based interfaceproviding access to the relevant appearances of his brand, as well as to statistics.In parallel there is a simplified workflow for processing PDF editions of newspapers. Via a (web-) subscription interface PDF files are downloaded automatically once per day. Semantic analysis is restricted to text analysis and logo detection in images.3.4System ArchitectureThe system has been designed in a modular way to be easily reconfigurable. Between the individual components web service interfaces have been defined and implemented. Figure 1 shows theindividual components as well as the data- and control-flowbetween them.Figure 1. DIRECT-INFO system architecture.The Acquisition & Content Essence Repository (CER) captures TV streams, Electronic Programming Guide (EPG) information and downloads digital newspaper subscriptions from the internet. The analysis subsystems access essence data via a shared network folder.The Content Analysis Controller (CAC) is the central control logic in the DIRECT-INFO system which manages the analysis workflow. It is notified by the CER about newly available semantic blocks and distributes the analysis jobs according to a pre-defined workflow. After analysis the results can be verified via the integrated MPEG-7 Result Editor.A set of Analysis Subsystems is responsible for the extraction of low- and mid-level features from the content. The subsystems expose a web service interface towards the CAC to accept control commands as to start or stop a job. One job is always performed on one entire semantic block. Status (progress, success, error) are reported back to the CAC, while the results are stored in the MPEG-7 document server. The analysis subsystems include Genre Classification , Logo & Object Detection , Speech-to-Text Engine including a Topic Detection , Text Analysis , Multimodal Segmentation and Video Summary Generation .The MPEG-7 Document Server is the central repository for all metadata generated within the DIRECT-INFO system. It handles concurrent access to the MPEG-7 documents by the subsystems. The CAC creates an MPEG-7 document per semantic block which is then filled up with the results provided by the analysis subsystems.The Fusion Component analyzes the MPEG-7 document to identify the appearances of brand names and computes complex appearances involving results of multiple subsystems. The fusion rules can be parameterized. The results are verified and published for end user delivery. These activities are carried out by the media analyst using an interface we call the Set-up Application . The set-up application also includes the management of user data and user requests.The Delivery System is the interface for final users including an easy access to all information that is relevant for them at different levels of detail. It presents the analysis results as bulletin showing graphical illustrations of appearances including graphs, trend charts, etc. for different time periods. Furthermore it gives users the ability to browse single appearances providing related information about time and volume of appearance, positive/negative classification, keywords describing the content of the video and videos representing the appearance itself. Additionally, the delivery system provides an alert system to inform customers immediately via SMS, MMS or email in case that an important event has been detected.The analysis workflow can easily be customized to fit other use cases by adding or replacing the analysis subsystems. The analysis workflow (which subsystems run in which order) and the analysis parameters (e.g. logos to search for) are configured via the CAC.4. OBJECT AND LOGO DETECTIONThe task of logo detection is closely related to detecting known planar objects in still and moving images, with some special requirements. Since logos vary in size , can be rotated and are subject to different lightning conditions the algorithm shall be invariant against all these factors. Logos may be partly occluded or on non-rigid surfaces (a player’s shirt) so a logo shall still be detected, even if only parts of it are visible/matched. Logos shall be found in still images, nevertheless additional information gained from an image sequence may be used to improve its results. Some logos (e.g. the Nike “checkmark”) are only defined by their shape and may appear in any color. Hence the algorithm must not rely only on color features. Ideally the algorithm should be configurable to be able to trade off quality vs. speed.Based on performing a (paper-based) evaluation, using the results from [4] and some practical tests the SIFT algorithm (Scale Invariant Feature Transform) by David Lowe [1], [2], [3] waschosen to be used as it meets these requirements best.Figure 2. Logo template (top), matched key points (white lines)and detected logo appearances (white boxes).During the DIRECT-INFO project the SIFT algorithm has been enhanced. SIFT key points are tracked to circumvent variations of logo recognition hits between frames. If an object has been recognized with high confidence in one frame, the surrounding of the estimated object position in the following frame is primarily investigated. If the object is recognized with less confidence (fewer hits) in the next frame, it can be assumed to be the same object occurrence. A two-pass approach has been introduced by splitting the object recognition in a “rough” and “fine” step. If only one single descriptor hit has been detected in the rough step, the fine step looks with more sensitive parameters in the surrounding of the hit in order to detect more matching descriptors supporting or rejecting the thesis of an object appearance.Figure 2 shows a typical result of the logo detection performed on one video frame. As not all appearances of logos are found in every single frame, intraframe information is used to bridge those gaps to be able to track logo appearance over their entire visibility time. Problems arise due to interlaced TV content, motion blurring and the small size of logos. The size of the logo appearances in Figure 2 are on the lower limit of what currently can be detected.However, the SIFT algorithm is not invariant against strong perspective distortions of logos. However, this can be overcome by learning synthetically distorted logo models, which are created automatically during the learning step.Several performance improvements have been made allowing processing of five frames per second using half PAL resolution (360x288 pixels) on a standard (single CPU) PC. If necessary real-time can be achieved by only processing every n th frame (depending on quality requirements) and/or using multi-processor hardware. In our application real-time is not a necessity, since the DIRECT-INFO system performs a pre-filtering step based on the relevancy of a semantic block, reducing the daily feed of 24 hours of material per channel to about six hours to be fed into analysis.5.LINGUISTIC TEXT ANALYSISIn this section we describe a set of subsequent processing steps from shallow to deeper linguistic levels, as well as tools to support this analysis. Thanks to pre-existing large-scale linguistic resources this new approach to opinion extraction yields promising results on free newspaper text.As the newspaper articles are available in PDF format, some additional processes are needed to access the textual source. A tool is currently being implemented that reconstructs the logical units of the PDF document by heuristically interpreting fonts, positions and keywords. In the current system, we just extract the text from the HTML document, accepting any errors this may involve.The textual elements are then morpho-syntactically processed, so that they can be associated with their part of speech (POS) and morphological properties (like number, gender). This is achieved by combining a huge lexical resource taken from the multi-lingual indexing software IDX with rule-based POS disambiguation tools. We decided to use IDX – a further development of the system described in [13] – instead of a classical morphological analyzer since IDX offers the possibility to encode additional information with the tokens, such as translations in various languages and synonyms. For instance, the synonym set for the name of the soccer team “Juventus Turin” also includes “Juve” and “bianconeri”, which allows us to relate these surface forms to the said team. In an application that detects opinions about an entity, this feature is for sure crucial, since it allows covering all known synonyms of the official naming of the entity.The information delivered by IDX is refined by a POS disambigu-ation tool. A word like “comando” may be either a noun or a verb. Which one is correct in a given context can be told quite reliably by investigating the POS of the left and of the right neighbor.All morpho-syntactic information is then passed to the syntactic SCHUG analyzer (Shallow and CHunk-based Unification Grammar, [12]) that provides for a dependency analysis of the textual input up to the detection of grammatical functions (e.g. subject, direct object). The following SCHUG sample analysis shows the annotation provided for the sentential level, not going into the details of the linguistic analysis of the individual noun phrases and prepositional phrases (NP, PP).<LING_INFO BOS="0" EOS="17" STRING="Per ora comanda la Juventus di Fabio Capello, che affronta con quattro punti di vantaggio sul Milan la volata per il titolo inverno."><CLAUSE id="1" BOC="0" EOC="2" MARKER="C"POLARITY="positive"><PP_ADJUNCT FRAG="0">Per ora</PP_ADJUNCT> <PRED">comanda</PRED><SUBJ FRAG="2">la Juventus di FabioCapello</SUBJ></CLAUSE>...The sentence analyzed (under STRING) has been segmented into “clauses”, the first one being “Per ora comanda la Juventus di Fabio Capello”. A clause corresponds more or less to a semantic unit of the whole sentence, where we expect one verbal component to be present. In this first clause, SCHUG has identified three main components: the predicate (PRED, “comanda”), the subject (SUBJ, “la Juventus di Fabio Capello”) and a modifying prepositional phrase (PP_ADJUNCT).The POLARITY tag included in the annotation above is purely syntactic information: it tells us if a negative particle word (“no”, “none”, “never”, etc.) has been used or not. In our example this is not the case. This information supports the calculus on positive/negative mention described below.From manual annotation work on newspaper articles on soccer a list of expressions having typically a positive or negative connotation has emerged. These expressions are listed in a special lexicon, modifiable by the media analyst, which is consulted by SCHUG while processing the document:comando => {POS => Noun, INT => "positive"} dominare => {POS => Verb, INT => "positive"} stanco => {POS => Adj, INT => "negative"} For instance, all forms of the noun stem “comando” have a positive connotation (in the soccer domain).In our example we find the verb “comandare”, which is encoded in our lexicon, just like the noun “comando”. We can now calculate the assessment expressed in the sentential clause on the Juventus team: it is positive, since the POLARITY tag is positivefor the whole clause and the subject of the clause has no negative expression in it.The heuristics we use for detecting the positive/negative mentions are encoded as a two-level rule system based on the results of the different stages of linguistic analysis:1. Calculate positive/negative at the level of linguisticfragments, e.g. within noun phrases (NPs), on the base of the dependency structure. For example:If mention(MOD) = positive & mention(Head_Noun) = negative => mention(NP) = negative 2. Then calculate positive/negative at the sentential levels,based on the mention properties of the grammatical relations. For example:If mention(SUBJ) = positive & mention(PRED) = negative & no_other_arguments_present=> mention(Sentence) = negative The second heuristic would apply to a sentence like “The team of Fabio Capello lost the game in the last five minutes”.6. MULTIMODAL SEGMENTATIONThe multimodal analysis approach aims to achieve a segmentation of the broadcasted video stream into logical units, which are annotated with semantic information derived by the classification of the visual and audio context (scene modeling) and with theinformation derived through an OCR engine.Figure 3. Workflow of the multimodal segmentation process. For the description and identification of scenes, the detection of several basic events belonging to the different modalities is necessary:•Transition edits in the visual modality as hard cuts or gradual transitions, which results in the segmentation of the video stream in coherent shots.• Overlayed text events represented by uninterrupted textual expressions.•Cuts in the auditory layout, representing changes in the sound signal. This includes transitions from silence to music, speaker changes, classification of audio segments into speech, music and noise.Starting from basic events in video corresponding to the pure perceptual level as shots, noise, music, text-overlays, etc., the multimodal scene classification approach aims on theidentification of logical units of coherent content. The segmented units are annotated using predefined semantic attributes that are derived automatically from the underlying event model describing the context of the extracted scene (e.g. attribute "named face" through combination of a detected face and a textual overlay within the same region). For news broadcasts the system intends to differentiate e.g. complete news stories, anchorman, interviews, trailers and advertisements as for sport broadcasts especially football it is envisaged to differentiate trailers, background reporting, interviews, highlights and the game itself. The multimodal event analysis additionally is accompanied with the results of the OCR engine that recognizes the results of the basic text overlay detection and passes it via the MPEG-7 document server to the text analysis module.In the following sections the different entities of the multimodal analysis approach will be described.6.1 Basic Event DetectionFor multimodal analysis the main goal of the Shot Detection is the identification of visual transitions in a continuous video stream. The transitions form the syntactic structure of the visual modality separating the entire stream into single shots. Shots are generally considered as the elementary units constituting a video from an author’s or director’s point of view. Detecting shot boundaries thus means to recover those elementary video units, which in turn provide the basis, together with all other basic event detectors, for the scene and story segmentation. The shot detection approach used for the DIRECT-INFO system does not rely only on the automatic detection of hard cuts in the visual modality. It is furthermore capable to analyze and identify all kinds of visual transitions including cuts, fades, dissolves and wipes. It therefore consists of two independent parallel loops analyzing simultaneously hard cuts and special effects and consolidating the results of both for the shot segmentation.The Face Detection continuously provides the number of appearing frontal faces and their position in each frame within a color video stream. This information is very valuable for annotating videos with semantic information as the genre of the video (like newscast or commercial), which can in many cases be directly determined if the positions of the appearing faces are known. For example, a video containing a single, almost unmoving face could hint for a newscast with the detected face belonging to the anchorperson. The detection is achieved by combination of a fast initial detection module (skin color filtering) with a verification approach based on SVM classification. The output of the face detection is provided to the scene modeling module for further processing and classification issues.The Text Detection process consists of three different parts: The first part concentrates on the detection of edges in the video image representing the boundaries of overlaid characters. As with the edge based feature, only high contrast characters could be found. The text detection uses a second independent approach that is based on the segmentation of images into coherent regions. In a third part the results coming from both modules are combined for the final determination of text regions.After the detection and extraction of each individual text region, the resulting sub images are preprocessed in order to create a black on white image representation for further processing through an OCR engine. The outputs of the text detection module。
Categories and Subject Descriptors
Searching the Web Using Composed Pages Ramakrishna Varadarajan Vagelis Hristidis Tao LiFlorida International University{ramakrishna,vagelis,taoli}@Categories and Subject Descriptors:H.3.3 [Information Search and Retrieval]General Terms: Algorithms, Performance Keywords: Composed pages1.INTRODUCTIONGiven a user keyword query, current Web search engines return a list of pages ranked by their “goodness” with respect to the query. However, this technique misses results whose contents are distributed across multiple physical pages and are connected via hyperlinks and frames [3]. That is, it is often the case that no single page contains all query keywords. Li et al. [3] make a first step towards this problem by returning a tree of hyperlinked pages that collectively contain all query keywords. The limitation of this approach is that it operates at the page-level granularity, which ignores the specific context where the keywords are found within the pages. More importantly, it is cumbersome for the user to locate the most desirable tree of pages due to the amount of data in each page tree and a large number of page trees.We propose a technique called composed pages that given a keyword query, generates new pages containing all query keywords on-the-fly. We view a web page as a set of interconnected text fragments. The composed pages are generated by stitching together appropriate fragments from hyperlinked Web pages, and retain links to the original Web pages. To rank the composed pages we consider both the hyperlink structure of the original pages, as well as the associations between the fragments within each page. In addition, we propose heuristic algorithms to efficiently generate the top composed pages. Experiments are conducted to empirically evaluate the effectiveness of the proposed algorithms. In summary, our contributions are listed as follows: (i) we introduce composed pages to improve the quality of search; composed pages are designed in a way that they can be viewed as a regular page but also describe the structure of the original pages and have links back to them, (ii) we rank the composed pages based on both the hyperlink structure of the original pages, and the associations between the text fragments within each page, and (iii) we propose efficient heuristic algorithms to compute top composed pages using the uniformity factor. The effectiveness of these algorithms is shown and evaluated experimentally. 2.FRAMEWORKLet D={d1,d2,,…,d n} be a set of web pages d1,d2,,…,d n. Alsolet size(d i)be the length of d i in number of words. Termfrequency tf(d,w) of term (word) w in a web page d is thenumber of occurrences of w in d. Inverse documentfrequency idf(w)is the inverse of the number of web pagescontaining term w in them. The web graph G W(V W,E W) of aset of web pages d1,d2,,…,d n is defined as follows: A node v i∈V W, is created for each web page d i in D. An edge e(v i,v j)∈E W is added between nodes v i,v j∈V W if there is a hyperlink between v i and v j. Figure 1 shows a web graph. Thehyperlinks between pages are depicted in the web graph asedges. The nodes in the graph represent the web pages andinside those nodes, the text fragments, into which that webpage has been split up using html tag parsing, are displayed(see [5]).In contrast to previous works on web search [3,4], wego beyond the page granularity. To do so, we view each pageas a set of text fragments connected through semanticassociations. The page graph G D(V D,E D) of a web page d isdefined as follows: (a) d is split to a set of non-overlapping text fragments t(v), each corresponding to a node v∈V D.(b) An edge e(u,v)∈E D is added between nodes u,v∈V D if there is an association between t(u) and t(v) in d. Figure 2 shows the page graph for Page 1 of Figure 1. As denoted in Figure 1, page 1 is split into 7 text fragments and each one is represented by a node. An edge between two nodes denotes semantic associations. Higher weights denote greater association. In this work nodes and edges of the page graph are assigned weights using both query-dependent and independent factors (see [5]). The semantic association between the nodes is used to compute the edge weights (query-independent) while the relevance of a node to the query is used to define the node weight (query-dependent).A keyword query Q is a set of keywords Q={w1,…,w m}.A search result of a keyword query is a subtree of the webgraph, consisting of pages d1,…,d l, where a subtree s i of thepage graph G Di of d i is associated with each d i. A result is total−all query keywords are contained in the text fragments−and minimal−by removing any text fragment a query keyword is missed. For example, Table 1 shows the Top-3 search results for the query “Graduate Research Scholarships” on the Web graph of Figure 1.3.RANKING SEARCH RESULTSProblem 1 (Find Top-k Search Results).Given a webgraph G W, the page graphs G D for all pages in G W, and akeyword query Q, find the k search results R with maximumScore(R).The computation of Score(R) is based on the followingprinciples. First, search results R involving fewer pages areranked higher [3]. Second, the scores of the subtrees ofCopyright is held by the author/owner(s).SIGIR’06, August 6–11, 2006, Seattle, Washington, USA. ACM 1-59593-369-7/06/0008.Figure 2: A page graph of Page 1 of Figure 1.Table 1: Top-3 search results for query “Graduate ResearchScholarships”Search Resultsthe page graphs of the constituting pages of are combined usinga monotonic aggregate function to compute the score of the searchresult. A modification of the expanding search algorithm of [1] isused where a heuristic value combining the Information Retrieval(IR) score, the PageRank score [4], and the inverse of theuniformity factor (uf)of a page is used to determine the nextexpansion page. The uf is high for pages that focus on a single orfew topics and low for pages with many topics. The uf iscomputed using the edge weights of the page graph of a page(high average edge weights imply high uf). The intuition behindexpanding according tothe inverse uf is that among pages withsimilar IR scores, pages with low uf are more likely to contain ashort focused text fragment relevant to the query keywords.Figure 3 shows the quality of the results of our heuristic search vs.the quality of the results of the non-heuristic expanding search [1](a random page is chosen for expansion since hyperlinks are un-weighted) compared to the optimal exhaustive search. Themodified Spearman’s rho metric [2] is used to compare two Top-kFigure 3: Quality Experiments using Spearman’s rho.4.REFERENCES[1]G. Bhalotia, C. Nakhe, A. Hulgeri, S. Chakrabarti and S,Sudarshan:Keyword Searching and Browsing in Databases using BANKS.ICDE, 2002[2]Ronald Fagin, Ravi Kumar, and D. Sivakumar: Comparing top-klists. SODA, 2003[3]W.S. Li, K. S. Candan, Q. Vu and D. Agrawal: Retrieving andOrganizing Web Pages by "Information Unit". WWW, 2001[4]L. Page, S. Brin, R. Motwani, and T. Winograd: The pagerankcitation ranking: Bringing order to the web. Technical report,Stanford University, 1998[5]R. Varadarajan, V Hristidis: Structure-Based Query-SpecificDocument Summarization. CIKM, 2005。
“On the Internet, Nobody Knows You’re a Dog”
and Design
The JikesXen Java Server PlatformGeorgios GousiosAthens University of Economics and Businessgousiosg@aueb.grAbstractThe purpose of the JVM is to abstract the Java language from the hardware and software platforms it runs on.For this rea-son,the JVM uses services offered by the host operating sys-tem in order to implement identical services for the Java lan-guage.The obvious duplication of effort in service provision and resource management between the JVM and the operat-ing system has a measurable cost on the performance of Java programs.In my PhD research,I try tofind ways of min-imizing the cost of sharing resources between the OS and the JVM,by identifying and removing unnecessary software layers.Categories and Subject Descriptors C.0[General]:Hard-ware/software interfaces; C.4[Performance of Systems]: Performance Attributes; D.4.7[Operating Systems]:Orga-nization and DesignGeneral Terms Performance,LanguagesKeywords JVM,Performance,Operating System,Virtual Machine1.Background and MotivationThe raison d’ˆe tre of contemporary JVM s is to virtualize the Java language execution environment to allow Java pro-grams to run unmodified on various software and hardware platforms.For this reason,the JVM uses services provided by the host OS and makes them available to the executing program through the Java core libraries.Table1provides an overview of those services.The JVM is a software representation of a hardware ar-chitecture that can execute a specific format of input pro-grams.Being such,it offers virtual hardware devices such as a stack-based processor and access to temporary storage (memory)through bytecode instructions.The JVM is not a general purpose machine,though:its machine code includesCopyright is held by the author/owner(s).OOPSLA’07,October21–25,2007,Montr´e al,Qu´e bec,Canada.ACM978-1-59593-786-5/07/0010.support for high level constructs such as threads and classes,while memory is managed automatically.On the other hand, I/O is handled by the OS and access to I/O services is pro-vided to Java programs through library functions.The ob-servation that the JVM is both a provider and a consumer ofservices leads to the question of whether the JVM can assumethe role of the resource manager.Generic architectures sacrifice absolute speed in favor ofversatility,expandability and modularity.A question thatemerges is whether the services provided by the OS arestrictly necessary for the JVM to execute Java programsand,if not,what will be the increase in the performanceof the JVM if it is modified so as to manage the computingresources it provides to programs internally.Part of my workis to assess the necessity of certain services offered by the OS to the operation of the JVM and to measure their effect on the JVM performance,to get an estimate of the possible speedup that could be expected if the JVM replaced in the OS in the role of the resource provider/broker,in the context of purpose-specific systems.My initialfindings show that Java pays a large price to the OS for services it does not necessarily require.All standard OS s are designed for a specific purpose:to protect programs from accessing each other’s memory and to protect I/O re-sources from being accessed concurrently.As others have shown[2],if the execution environment is based on a type-safe language and therefore protects itself against invalid memory access,then memory protection,as it is currently implemented by OS s,is mostly unnecessary.My currently unpublishedfindings show that the mechanisms employed by JVM s to overcome the restrictions placed to them by the OS API s can deteriorate their performance,mainly when ex-ecuting memory and I/O intensive applications.2.Our ResearchThe specific question my research tries to answer is the fol-lowing:Can the performance of Java server platforms be improved by allowing them to manage directly the comput-ing resources they require?For the purposes of my research,I make the following assumptions—based on worked published by other re-searchers:Resources JVM System Library OS Kernel JikesXenCPU Java to Native Thread Map-ping Native to Kernel ThreadMappingThread Resource Alloca-tion,Thread SchedulingMultiplexing Java threadsto CPU s,Thread initializa-tionMemory Object Allocation andGarbage Collection Memory Allocation andDeallocation from theprocess address spaceMemory protection,PageTable Manipulation,Mem-ory AllocationObject Allocation andGarbage CollectionI/O Java to System Library I/OMapping,Protect Java frommisbehaving I/O Provide I/O abstractions System call handling,Uni-fied access mechanisms toclasses of devicesDriver infrastructure,I/OmultiplexingTable1.Resource management tasks in various levels of the Java execution stack and in JikesXen JVM•A JVM is able to manage efficiently computational re-sources by scheduling Java threads to physical processors internally.Multiprocessing can be implemented within the JVM very efficiently[1].•Virtual memory is deteriorating the performance of garbage collection[4]and thus it should be omitted in favor of a single,non-segmented address space.•A specially modified JVM can be run directly on hard-ware with minimal supporting native code[3],and there-fore the unsafe part of the system can be minimized down to a very thin hardware abstraction layer.To investigate my research question,I am in the pro-cess of designing and building the JikesXen virtual machine, which is a port of JikesRVM to the Xen VMM platform. JikesXen is based on a very thin layer of native code,the nanokernel,whose main purpose is to receive VMM inter-rupts and forward them to the Java space and also to initial-ize the VMM on boot.I use parts of the Xen-provided Mini OS demonstration operating system as the JikesXen nanokernel. The system itself is essentially a blob that lumps together the JikesRVM core image and stripped down version of the classpath which are already pre-compiled to native code dur-ing the JikesRVM build phase.JikesXen does not require a device driver infrastructure;instead,the Java core libraries will use the devices exported by the VMM directly,through adapter classes for each device.The adapter classes are also responsible to prevent concurrent access to shared resources, such as I/O-ports using Java based mutual exclusion prim-itives(e.g.synchronized blocks).It also implements other functionality relevant to the device class such as caching, network protocols,file systems and character streams.Ta-ble1presents an overview of the functionality of JikesXen as a resource manager.My work falls into the bare metal JVM research stream. But how does it differ from already existing approaches? The distinctive characteristic of my system is that it does not run directly on hardware.The use of the Xen VMM for taking care of the hardware intricacies,allows me to focus on more important issues than communicating with the hardware,such as providing a copy-less data path from the hardware to the application.Additionally,since all access to hardware is performed through the classpath,I plan to use the JVM locking mechanisms to serialize access to it. This will render the requirement for a resource manager, or a kernel,obsolete.Finally,my system’s focus being a single multithreaded application,I do not consider a full-fledged process isolation mechanism.Instead,we base our object sharing models on proven lightweight object sharing mechanisms(isolates[1]).3.ConclusionsMy work is in its early stages of development.I am currently constructing a build system that will compile the classpath and JikesRVM in a single binary image.I have already suc-ceeded in loading the JikesRVM boot image in the Xen hy-pervisor,but at the moment the system does nothing useful as important subsystems remain to be implemented. AcknowledgmentsThis work is partially funded by the Greek Secretariat of Re-search and Technology thought,the Operational Programme “COMPETITIVENES”,measure8.3.1(PENED),and is co-financed by the European Social Funds(75%)and by na-tional sources(25%)and partially by the European Com-munity’s Sixth Framework Programme under the contract IST-2005-033331“Software Quality Observatory for Open Source Software(SQO-OSS)”.References[1]Grzegorz Czajkowski,Laurent Dayn`e s,and Ben Titzer.Amulti-user virtual machine.In Proceedings of the General Track:2003USENIX Annual Technical Conference,pages 85–98,San Antonio,Texas,USA,ENIX. [2]Galen Hunt et al.An overview of the Singularity project.Microsoft Research Technical Report MSR-TR-2005-135MSR-TR-2005-135,Microsoft Research,2005.[3]Georgios Gousios.Jikesnode:A Java operating system.Master’s thesis,University of Manchester,September2004. [4]Matthew Hertz,Yi Feng,and Emery D.Berger.Garbagecollection without paging.In PLDI’05:Proceedings of the 2005ACM SIGPLAN conference on Programming language design and implementation,pages143–153,New York,NY, USA,2005.ACM Press.。
广域存储的一致性和稳定性COPS理论
Princeton University, † Intel Labs, ‡ Carnegie Mellon University
ABSTRACT
To appear in Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP’11)
Don’t Settle for Eventual:
Scalable Causal Consistency for Wide-Area Storage with COPS1.INTRODUCTION
Categories and Subject Descriptors
C.2.4 [Computer Systems Organization]: Distributed Systems
General Terms
Design, Experimentation, Performance
Distributed data stores are a fundamental building block of modern Internet services. Ideally, these data stores would be strongly consistent, always available for reads and writes, and able to continue operating during network partitions. The CAP Theorem, unfortunately, proves it impossible to create a system that achieves all three [13, 23]. Instead, modern web services have chosen overwhelmingly to embrace availability and partition tolerance at the cost of strong consistency [16, 20, 30]. This is perhaps not surprising, given that this choice also enables these systems to provide low latency for client operations and high scalability. Further, many of the earlier high-scale Internet services, typically focusing on web search, saw little reason for stronger consistency, although this position is changing with the rise of interactive services such as social networking applications [46]. We refer to systems with these four properties—Availability, low Latency, Partition-tolerance, and high Scalability—as ALPS systems. Given that ALPS systems must sacrifice strong consistency (i.e., linearizability), we seek the strongest consistency model that is achievable under these constraints. Stronger consistency is desirable because it makes systems easier for a programmer to reason about. In this paper, we consider causal consistency with convergent conflict handling, which we refer to as causal+ consistency. Many previous systems believed to implement the weaker causal consistency [10, 41] actually implement the more useful causal+ consistency, though none do so in a scalable manner. The causal component of causal+ consistency ensures that the data store respects the causal dependencies between operations [31]. Consider a scenario where a user uploads a picture to a web site, the picture is saved, and then a reference to it is added to that user’s album. The reference “depends on” the picture being saved. Under causal+ consistency, these dependencies are always satisfied. Programmers never have to deal with the situation where they can get the reference to the picture but not the picture itself, unlike in systems with weaker guarantees, such as eventual consistency. The convergent conflict handling component of causal+ consistency ensures that replicas never permanently diverge and that conflicting updates to the same key are dealt with identically at all sites. When combined with causal consistency, this property ensures that clients see only progressively newer versions of keys. In comparison, eventually consistent systems may expose versions out of order. By combining causal consistency and convergent conflict handling, causal+ consistency ensures clients see a causally-correct, conflict-free, and always-progressing data store. Our COPS system (Clusters of Order-Preserving Servers) provides causal+ consistency and is designed to support complex online applications that are hosted from a small number of large-scale datacenters, each of which is composed of front-end servers (clients of
The University of Florida Sparse Matrix Collection
The University of Florida Sparse Matrix CollectionTimothy A.Davis1andYifan Hu2The University of Florida Sparse Matrix Collection is a large,widely available,and actively grow-ing set of sparse matrices that arise in real applications.Its matrices cover a wide spectrum of do-mains,include those arising from problems with underlying2D or3D geometry(such as structural engineering,computationalfluid dynamics,model reduction,electromagnetics,semiconductor de-vices,thermodynamics,materials,acoustics,computer graphics/vision,robotics/kinematics,and other discretizations)and those that typically do not have such geometry(such as optimization, circuit simulation,economic andfinancial modeling,theoretical and quantum chemistry,chemical process simulation,mathematics and statistics,power networks,and other networks and graphs). The collection is widely used by the sparse matrix algorithms community for the development and performance evaluation of sparse matrix algorithms.The collection includes software for accessing and managing the collection,from MATLAB,Fortran,and C,as well as online search capabil-ity.Graph visualization of the matrices is provided,and a new multilevel coarsening scheme is proposed to facilitate this task.Categories and Subject Descriptors:G.1.3[Numerical Analysis]:Numerical Linear Algebra—linear systems(direct methods),sparse and very large systems;G.4[Mathematics of Com-puting]:Mathematical Software—algorithm analysis,efficiency;G.2[Discrete Mathematics]: Graph TheoryGeneral Terms:Algorithms,Experimentation,PerformanceAdditional Key Words and Phrases:sparse matrices,performance evaluation,graph drawing, multilevel algorithms1.INTRODUCTIONAlthough James Wilkinson’s foundational work in numerical analysis touched only lightly upon sparse matrix computations,his definition of a sparse matrix is widely used([Gilbert et al.1992],for example).Wilkinson defined a matrix as“sparse”if it has enough zeros that it pays to take advantage of them.He actually stated his definition in the negation:1Dept.of Computer and Information Science and Engineering,Univ.of Florida,Gainesville,FL, USA.davis@cise.ufl.edu.http://www.cise.ufl.edu/∼davis.Portions of this work were supported by the National Science Foundation,under grants9111263,9223088,9504974,9803599,0203720, and0620286.2AT&T Labs Research,Florham Park,NJ,USA.yifanhu@.Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage,the ACM copyright/server notice,the title of the publication,and its date appear,and notice is given that copying is by permission of the ACM,Inc.To copy otherwise,to republish, to post on servers,or to redistribute to lists requires prior specific permission and/or a fee.c 20YY ACM0098-3500/20YY/1200-0001$5.00ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY,Pages1–0??.2·T.A.Davis and Y.HuThe matrix may be sparse,either with the non-zero elements concen-trated on a narrow band centered on the diagonal or alternatively theymay be distributed in a less systematic manner.We shall refer to amatrix as dense if the percentage of zero elements or its distributionis such as to make it uneconomic to take advantage of their presence.[Wilkinson1971]In other words,if you can save time or memory(usually both)by exploiting the zeros,then the matrix is sparse.An interesting aspect of this definition is that it is dependent not only on the matrix,but on the algorithm used on the matrix.For example,a matrix may be“sparse”for an iterative method for solving linear systems or for a graph theoretic algorithm,but not for a sparse factorization method.This article describes the University of Florida Sparse Matrix Collection(here-after referred to as the UF Collection),which contains sparse matrices arising in a wide range of applications.Section2gives the motivation for collecting sparse matrices from real applications and making them widely available.Section3de-scribes the current state of the collection and the breadth of problems the matrices represent.Section4describes the algorithm used,and new techniques developed, for visualizing the matrices.Section5describes the three data formats used for storing the matrices,and the kinds of auxiliary information available for each ma-trix.Section6describes the four methods for searching and downloading matrices of interest:a MATLAB interface(UFget),a Java interface(UFgui),the matrix web pages(via a standard browser and a web-based search tool),and Amazon Web Services TM.Examples of how the UF Collection can be used for performance eval-uation are given in Section7.The future of the UF Collection depends critically upon the submission of new matrices,as discussed in Section8.Finally,Section9 summarizes the contributions of the UF Collection and its associated software.In this paper,a graph or mesh is said to have2D or3D geometry if its vertices have a position on an xy or xyz plane that naturally arises from the problem being solved.A sparse matrix is said to have2D or3D geometry if its nonzero pattern is the adjacency matrix of such a graph.The notation|A|refers to the number of nonzeros in a matrix.2.MOTIVATIONThe role of sparse matrices from real applications in the development,testing, and performance evaluation of sparse matrix algorithms has long been recognized. Thefirst established collection was started by Duffand Reid(1970to1979,[Duffand Reid1979]),and then compiled into the Harwell-Boeing collection by Duff, Grimes,and Lewis[Duffet al.1989].This collection provided the starting point of University of Florida Sparse Matrix Collection.Since the start of our collection in 1992,additional matrices have been added over the years,and other collections have been made,many of which have also been incorporated into the UF Collection(such as[Bai et al.1996;2008;Batagelj and Mrvar2008;Boisvert et al.2008;Boisvert et al.1997;Dumas2008;Gay2008;Gould et al.2008;Koster2008;M´e sz´a ros2008; Mittelmann2008;Resende et al.1995;Rudnyi2008;Rudnyi et al.2006;Saad2008; Schenk2008]).ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.University of Florida sparse matrix collection·3 The Matrix Market[Boisvert et al.1997]is the most similar collection to the UF Collection.Both collections include a search tool,and both categorize the matrices by application domain and problem source.Both provide matrices in similarfile formats.Both provide a web page for each matrix,with basic statistics andfigures. They differ in size,with the UF Collection containing much larger matrices and 4.5times as many matrices.The latest matrix added to the Matrix Market was in 2000,whereas UF collection is constantly being updated with new matrices.The largest matrix in the Matrix Market has dimension90,449with2.5million nonzeros, whereas the largest matrix in the UF Collection has a dimension of28million with 760million nonzeros.Nearly every matrix in the Matrix Market is also included in the UF Collection.However,the Matrix Market does include matrix generators; the UF Collection has no matrix generators.Nearly all research articles that include a section on the performance analysis of a sparse matrix algorithm include results on matrices from real applications or parametrized matrices that mimic those that could arise in practice.Since maintaining a large collection of matrices from real applications is not trivial,an alternative isfirst considered,namely,parametrized and random matrix generators.2.1Parameterized and random matricesRandomized or repeatable parametrized sequences of matrices can be easily con-structed via simple matrix generators.Examples are listed below,as a comparison and contrast with the UF Collection,which does not include any matrix generators.(1)Simple discretizations of the Laplace operator on square2D and3D meshes.(2)The L-shaped meshes of[George and Liu1981].(3)Least-squares problems from square2Dfinite-element meshes[George et al.1983].(4)The LAPACK test matrix generators[Anderson et al.1999],which can generatebanded matrices and sparse matrices with random nonzero pattern.These also appear in the Matrix Market.(5)The Non-Hermitian Eigenvalue Problem(NEP)matrix generators[Bai et al.1996;2008].These include regular2D meshes and random patterns;additional matrices are made available only as operators(y=Ax,where A is not explicitly represented).(6)Zlatev’s matrix generators,which create a sparse Toeplitz structure(whereselected diagonals are all nonzero)[Zlatev1991].(7)Higham’s Matrix Computational Toolbox[Higham2002],part of which appearsas the gallery function in MATLAB.The gallery contains three functions that generate parametrized sparse matrices from regular2D meshes(neumann, poisson,and wathen)and two that generate banded matrices(toeppen and tridiag).No randomization is used,except in the values(but not pattern) of the wathen matrices.Many of these matrix generators also appear in the Matrix Market.(8)Matrices with purely random nonzero patterns[Erd¨o s and R´e nyi1959;Gilbert1959].They can be generated by sprand,sprand,and sprandsym in MATLAB [Gilbert et al.1992].ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.4·T.A.Davis and Y.Hu(9)The YM11subroutine in HSL can generate random sparse matrices,with op-tions for ensuring structural nonsingularity and bandedness(a matrix is struc-turally nonsingular if there exists a permutation so that the matrix has a zero-free diagonal)[Duff2001].(10)In between the purely-random and purely-parametrized classes of matricesare partially randomized matrices with specific structure,as exemplified by the CONTEST toolbox[Taylor and Higham2009].They provide a set of graph generators,some of which use an underlying2D or3D geometry and some that do not.For example,they include an implementation of the small-world graphs of[Kleinberg2000],which are2D meshes with additional randomized edges to distant vertices in the work generators in CONTEST that do not have geometry include the scale-free graph models of[Barab´a si and Albert1999].The prime advantage of random and parametrized matrices is that they are very easy to generate in any size desired.Matrices from real applications are very difficult to generate and it is hard to vary them in size.Another key advantage of random and parametrized matrices is that asymptotic results can sometimes be derived.For example,the nested dissection ordering applied to a2D s-by-s mesh leads to an asymptotically optimal ordering for sparse Cholesky factorization,with31(n log2n)/8+O(n)nonzeros in the Cholesky factor L,and requiring829(n3/2)/84+O(n log n)floating point operations to compute, where n=s2is the dimension of the matrix[George and Liu1981].Purely random matrices may be useful for testing some sparse matrix applica-tions.For example,they can be useful for testing the convergence of iterative methods,assuming the generator has some control over the eigenvalue spectra(as is the case for sprandsym,for example).However,under Wilkinson’s definition they are not truly sparse when factorized by direct methods.With modest assumptions, purely random n-by-n matrices with O(n)nonzero entries require O(n3)time and O(n2)memory to factorize,because of catastrophicfill-in[Duff1974].Catastrophic fill-in very rarely occurs in matrices arising in real applications,and even when it does it is an indication that direct factorization methods are not applicable to that problem.Thus,performance obtained on purely random matrices will not indicate how well a sparse matrix factorization method will work on matrices from real ap-plications.Purely random networks also do not accurately model the characteristics of real networks[Watts and Strogatz1998].In between the two extremes of highly structured matrices(banded,or square 2D and3D meshes,for example)and purely randomized matrices is another class of matrix generators that can create matrices with some regular structure and a carefully selected random structure.The small-world graphs from the CONTEST toolbox are one such example.These are constructed to capture essential properties of large networks,such as the small-world property,scale-free degree distribution, motifs,and graphlet frequency[Taylor and Higham2009].These models are very useful for network algorithms,but they have not yet been shown to mimic the per-formance of sparse matrix factorization methods on matrices from real applications. ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.University of Florida sparse matrix collection·5Fig.1.Sparse matrix pattern of a RAH-66Comanche helicopter2.2Sparse matrices from real applicationsWhile useful,random and parametrized matrices have their limitations.This mo-tivates the development of the UF Collection,which focuses on matrices from real applications1.One of the matrices in the UF Collection is a complete representation of a Boe-ing/Sikorsky RAH-66Comanche helicopter,with3D geometry(obtained from Alex Pothen).Figure1shows the sparsity pattern of the matrix.Nested dissection is still useful for this problem,but asymptotic results cannot be derived for a complex structure such as this one.A simple square3D mesh would not be a good approxi-mation to this graph,since it would not capture the properties of the long helicopter rotors,or the topology of the hole where the rear rotor is located.This matrix is one of the few in the collection where the3D coordinates of the vertices are given;a picture of the graph drawing when these coordinates are used is shown in Figure2, on the left.For comparison,a force-directed graph drawing[Hu2005],which recre-ates these coordinates based only on the connectivity of the graph,is shown on the right.The method for creating thisfigure is discussed in Section4.The structure is warped,with the tail rotor twisted out of its housing(to the right)and itsfive main rotors shrunken(on the top),but it is still clear that the graph represents some kind of3D problem.Edge colors in the force-directed graphs represent the distance between two vertices.Figure3is the nonzero pattern of matrix arising from circuit simulation(left)and its force-directed graph drawing(right).The graphs of the Comanche helicopter and this electronic circuit indicate that one is a3D problem and the other is a network with no2D or3D geometry.This difference is not clear by merely comparing the nonzero patterns of their matrices.Parameterized matrices can capture many key properties of matrices from real applications,such as the regularity of a3D mesh,or the small-world properties of a network,but they cannot capture the rich and complex structure of matrices such1The UF Collection does include a handful of random matrices,which remain in the collection for historical reasons.ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.6·T.A.Davis and Y.HuFig.2.Graph of a RAH-66Comanche helicopter,using given3D coordinates(left)and its force-directed graph drawing(right)Fig.3.Sparse matrix pattern of an electronic circuit from Steve Hamm,Motorola(left)and its force-directed graph(right)as those presented above.2.3Collecting the matricesThe ideal matrix collection would be informally representative of matrices that arise in practice.It should cast a broad net so as to capture matrices from every applica-tion domain that relies on sparse matrix methods.For example,matrices arising in circuit simulation(and other network-related domains)differ greatly from matrices arising from the discretization of2D and3D physical domains;this can be clearly seen in the precedingfiputationalfluid dynamics matrices differ from structural engineering matrices,and both are vastly different from matrices arising in linear programming orfinancial portfolio optimization.The collection should be kept up to date,since matrices of interest grow in size each year as computer mem-ories get larger.New application domains also appear,such as eigenvalue problems arising in web connectivity matrices[Kamvar2008;Kamvar et al.2004;Page et al. 1998],which have existed only since the mid1990’s.ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.University of Florida sparse matrix collection·7 Sparse matrix algorithm developers use the matrices in the UF Collection to develop their methods,since theoretical asymptotic time/memory complexity anal-ysis only goes so far.If there are no matrices available to developers from a given application domain,it is quite possible that when their methods are used in that domain,the performance results will be disappointing.This provides a strong mo-tivation for computational scientists to submit their matrices to a widely available collection such as this one,so that gaps can be avoided.Thus,new application areas are always being added to the collection.Our strategy for adding matrices to the collection is simple,although admittedly ad hoc.Thefirst author maintains a collection of codes for the direct solution of sparse linear systems.End-users of this software are uniformly requested to submit matrices to the collection.Additional matrices are requested when they are found cited in articles and conference presentations,which includes a wider range of matrices(such as graphs arising in network analysis).Any matrices received are included,unless they are clear duplications of matrices already in the collection. Small matrices are not included,unless they are subsets of a larger collection(such as the Pajek data set).This strategy does introduce an unavoidable source of bias,but we have at-tempted to avoid this bias by relying on matrices collected by others.The UF Collection includes many sets of matrices collected in this way,such as those col-lected by Saad,who develops iterative methods for sparse linear systems[Saad 2003].Not all matrices in the collection arise from a sparse linear system.For example,many linear programming problems have been included in the UF Collec-tion[Gay2008;M´e sz´a ros2008;Mittelmann2008;Resende et al.1995].Network and combinatorial problems are also included,such as a matrix of prime numbers from Problem7of Trefethen’s100-digit challenge[Trefethen2002].Once a matrix is collected,its maintenance is the responsibility of thefirst author. This guards against arbitrary modifications in the matrices,which can occur when the matrix submitters modify their matrix problems.Repeatability of experiments based on the UF Collection is thus ensured.3.DESCRIPTION OF THE COLLECTIONAs of March2010the UF Sparse Matrix Collection consists of2272problems,each of which contains at least one sparse matrix(typically just one).It often represents a sparse linear system of the form Ax=b,where b is sometimes provided as well as the sparse matrix A.Many other problems are eigenvalue problems,and many matrices come from unstructured graphs and networks with no associated linear system.In some cases,a problem consists of a sequence of closely related matrices, such as Jacobian matrices arising in the solution of a nonlinear system.Some problems include two sparse matrices,such as a stiffness matrix and a mass matrix from a structural engineering eigenvalue problem.In this case,A is the stiffness matrix,and the mass matrix appears as an auxiliary matrix in the problem.3.1Application areasThe collection is divided into157different matrix groups,with more groups added as new matrices are submitted to the collection.A complete list of these groups is too long to include here;details are given on the collection’s web site.Each groupACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.8·T.A.Davis and Y.HuTable I.Partial list of sources of matricesNon-Hermitian Eigenvalue Problems[Bai et al.1996]Pajek Networks[Batagelj and Mrvar2008]Multistage stochasticfinancial modeling[Berger et al.1995]The Matrix Market(collection)[Boisvert et al.1997]Univ.of Utrecht circuit simulation[Bomhof and van der Vorst2000]MRI reconstruction M.Bydder,UCSDHarwell-Boeing Collection[Duffet al.1989]Combinatorial problems[Dumas2008]Frequency domain,nonlinear analog circuits[Feldmann et al.1996]NETLIB Linear Programming Test Problems[Gay2008]Symmetric sparse matrix benchmarks[Gould et al.2008]Linear programming problems[Gupta1996]Stanford/Berkeley Web Matrices[Kamvar et al.2004]Xyce circuit simulation matrices[Keiter et al.2003]Computer vision problems[Kemelmacher2005]PARASOL Matrix Collection[Koster2008]Linear programming test set[M´e sz´a ros2008]2D and3D semiconductor physics[Miller and Wang1991]Linear programming test set[Mittelmann2008]QAPLIB,quadratic assignment[Resende et al.1995]Oberwolfach Model Reduction Benchmarks[Rudnyi et al.2006]SPARSKIT matrix collection[Saad2008]Univ.of Basel Collection[Schenk2008]DNA electrophoresis matrices[van Heukelum et al.2002]Chemical engineering problems[Zitney1992;Zitney et al.1996]typically consists of a set of matrices from a single source.A few of the matrix groups in the UF Collection consist of entire sets of matrices from another sparse matrix collection.In this case,the group may consist of matrices from very different application areas.For example,the Harwell-Boeing collection forms a single group [Duffand Reid1979;Duffet al.1989].Sources(papers and web sites)for some of the matrix groups are listed in Table I,which gives aflavor of the range of problems the collection contains.The group of a problem forms part of the full name of the problem.For exam-ple,the full name of the west0479problem in the Harwell-Boeing collection(the HB group in the UF sparse matrix collection)is HB/west0479.In addition,all problems are tagged with a string,kind,which indicates the application domain of the prob-lem.The group and kind of a problem are not the same.Some groups have many different kinds of problems,and problems of the same kind can appear in different groups.For example,the HB/west0479problem is in the HB group,and its kind is tagged as a“chemical process simulation problem.”Five other groups include chemical process simulation problems,namely,the Bai,Grund,Mallya,VanVelzen, and Zitney groups,all of which are named after the person from whom the matrices were obtained.A complete list of the kind strings for all problems is given in Table II.The table is split into two categories:problems with no underlying geometry and problems with2D or3D geometry.The collection contains68matrices with random nonzero pattern.They appear in the collection only because they already occur as widely-used test problems in ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.University of Florida sparse matrix collection·9 Table II.Summary of Problem.kind for all2272problems1516problems with no2D/3D geometry70chemical process simulation problem251circuit simulation problem299combinatorial problem11counter-example problem68economic problem4frequency-domain circuit simulation problem23least squares problem342linear programming problem135optimization problem56power network problem10statistical/mathematical problem61theoretical/quantum chemistry problem88directed graph8bipartite graph23undirected graph68random graph756problems with2D/3D geometry13acoustics problem166computationalfluid dynamics problem12computer graphics/vision problem44electromagnetics problem28materials problem42model reduction problem3robotics problem35semiconductor device problem288structural problem31thermal problem942D/3D problem(other than those listed above)another collection that was subsequently added to the UF sparse matrix collection. In retrospect,their inclusion in the UF Collection was a mistake,but matrices are never removed once added,since this would cause confusion when replicating results that use the collection.We guarantee statements such as“all matrices with property X in the collection as of date Y”always give a single consistent answer.3.2Matrix statisticsThe2272matrices in the collection come from359different authors and50different editors.A matrix editor is the one who collected the matrix for inclusion into any established collection(not just the UF Collection2,but also for others such as the Harwell/Boeing collection3,the Matrix Market4,or the GRID/TSLE collection5).A matrix author is the one who created the matrix.Each matrix has an editor and an author(sometimes the same person).Editors contributing at least10matrices are listed in Table III(sorted by the number of matrices collected).Figures4and5plot the matrix size(dimension and number of nonzeros)versus 2UF Sparse Matrix Collection:http://www.cise.ufl.edu/research/sparse/matrices3Harwell/Boeing collection:/nag/hb/hb.shtml4Matrix Market:/MatrixMarket5GRID/TLSE collection:http://gridtlse.enseeiht.fr:8080/websolve/ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.10·T.A.Davis and Y.HuFig.4.Matrix dimension(the largest of row/column dimension if rectangular)versus year created. The solid line is the cumulative sum.Fig.5.Number of nonzeros in each matrix versus year created.The solid line is the cumulative sum.ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.University of Florida sparse matrix collection·11 Table III.Primary editors of the UF Collection#matrices editor720T.Davis293J.-G.Dumas255I.Duff,R.Grimes,J.Lewis166 C.Meszaros103O.Schenk78Z.Bai,D.Day,J.Demmel,J.Dongarra72V.Batagelj67Y.Ye61 A.Baggag,Y.Saad48 D.Gay43R.Fourer39N.Gould,Y.Hu,J.Scott38 E.Rudnyi35G.Kumfert,A.Pothen34 A.Curtis,I.Duff,J.Reid28J.Chinneck27N.Gould25H.Mittelmann23R.Boisvert,R.Pozo,K.Remington,ler,R.Lipman,R.Barrett,J.Dongarra23 F.Grund22J.Koster13I.Lustig12H.Simon11M.ResendeFig.6.Overall histograms of matrix dimensions and nonzerosACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.12·T.A.Davis and Y.Huthe year in which the matrices were created.The solid line in thefigures is the cumulative sum of the data plotted.Bothfigures show an exponential growth in problem sizes,similar to how computer memory sizes have grown since1970. Note that small problems are still being added to the collection.This is because a matrix group often includes a range of related problems,from small test cases to the largest problems of interest.The outlier matrix in1971is from the Edinburgh Associative Thesaurus,located at and obtained from the Pajek data set[Batagelj and Mrvar 2008].It is a graph with23,219vertices and325,592edges that wasfirst constructed in1971[Kiss et al.1973].Figure6plots two histograms of the overall distribution of matrices in the col-lection.4.VISUALIZING THE COLLECTIONMany basic facts,including symmetry,structural rank,ordering statistics,as well as a plot of the sparsity pattern,are given for each matrix in the collection.However these facts alone do not always give sufficient information about the matrix.For example,does this matrix come from an application involving2D or3D mesh?Or from a small-world network?Are there other structures in the applications that are not discernible from a plot of the sparsity pattern?To help answer these questions,a visualization of each matrix in the form of graph drawing is provided.If the matrix is structurally symmetric,it is taken as the adjacency matrix of an undirected graph,where two vertices i and j are connected if the(i,j)-th entry of the matrix is nonzero.Rectangular or structurally unsymmetric matrices are treated as bipartite graphs.More specifically,the augmented matrix0A A T0is used as the adjacency matrix of an undirected bipartite graph whose vertices are composed of the rows and columns of the matrix.We provide two graphs for square matrices with unsymmetric structure:the graph of A+A T and the augmented matrix above.The graph drawings depend only on the nonzero pattern,not the values.The basic algorithm used for drawing the graphs is a multilevel force-directed algorithm[Hu2005].However this algorithm fails to produce informative drawings for some matrices.We propose here a new coarsening scheme to deal with these cases.In the following we briefly describe the basic algorithm,followed by the new coarsening scheme.4.1The graph drawing algorithmThe basic algorithm[Hu2005]employs a force-directed model[Fruchterman and Reingold1991].Vertices are treated as particles with electrical charges that push each other away.This repulsive force F r(i,j)between any two vertices i and j is proportional to the inverse of their distance,F r(i,j)=K2x i−x j ,i=j.ACM Transactions on Mathematical Software,Vol.V,No.N,M20YY.。
Conceptual Design
EUROGRAPHICS Workshop on...(2004),pp.1–10M.-P.Cani and M.Slater(Guest Editors)Can Machines Interpret Line Drawings?P.A.C.Varley,1R.R.Martin2and H.Suzuki11Department of Fine Digital Engineering,The University of Tokyo,Tokyo,Japan2School of Computer Science,Cardiff University,Cardiff,Wales,UKKeywordsSketching,Line Drawing Interpretation,Engineering De-sign,Conceptual Design1.IntroductionCan computers interpret line drawings of engineering ob-jects?In principle,they cannot:any line drawing is the 2D representation of an infinite number of possible3D ob-jects.Fortunately,a counter-argument suggests that comput-ers should be able to interpret line drawings.Human engi-neers use line drawings to communicate shape in the clear expectation that the recipient will interpret the drawing in the way the originator intended.It is believed[Lip98,Var03a] that human interpretation of line drawings is a skill which can be learned.If such skills could be translated into algo-rithms,computers could understand line drawings.There are good reasons why we want computers to in-terpret line drawings.Studies such as Jenkins[Jen92]have shown that it is common practice for design engineers to sketch ideas on paper before entering them into a CAD pack-age.Clearly,time and effort could be saved if a computer could interpret the engineer’s initial concept drawings as solid models.Furthermore,if this conversion could be done within a second or two,it would give helpful feedback,fur-ther enhancing the designer’s creativity[Gri97].The key problem is to produce a model of the3D object the engineer would regard as the most reasonable interpreta-tion of the2D drawing,and to do so quickly.While there are infinitely many objects which could result in drawings cor-responding to e.g.Figures1and2,in practice,an engineer would be in little doubt as to which was the correct interpre-tation.For this reason,the problem is as much heuristic as geometric:it is not merely tofind a geometrically-realisable solid which corresponds to the drawing,but tofind the one which corresponds to the engineer’s expectations.We suggest the following fully automatic approach,re-quiring no user intervention;our implementation verifies its utility for many drawings of polyhedral objects.(In a com-panion paper[VTMS04],we summarise an approach for in-terpreting certain drawings of curved objects with minimal user intervention.)submitted to EUROGRAPHICS Workshop on (2004)2P .Varley &R.Martin &H.Suzuki /Can Machines Interpret LineDrawings?Figure 1:Trihedral Draw-ing[Yan85]Figure 2:Non-Trihedral Drawing [Yan85]•Convert the engineer’s original freehand sketch to a line drawing.This is described in Section 3.•Determine the frontal geometry of the object.The three most crucial aspects of this are:–Label the lines in the drawing as convex,concave,or occluding.See Section 4.–Determine which pairs of lines in the drawing are in-tended to be parallel in 3D.See Section 5.–Inflate the drawing to 212D”).In a frontal geometry,everything visible in the nat-ural line drawing is given a position in 3D space,but the oc-cluded part of the object,not visible from the chosen view-point,is not present.A polyhedron is trihedral if three faces meet at each ver-tex.It is extended trihedral [PLVT98]if three planes meet at each vertex (there may be four or more faces if some are coplanar).It is tetrahedral if no more than four faces meet at any vertex.It is a normalon if all edges and face normals are aligned with one of three main perpendicular axes.Junctions of different shapes are identified by letter:junc-tions where two lines meet are L-junctions ,junctions of three lines may be T-junctions ,W-junctions or Y-junctions ,and junctions of four lines may be K-junctions ,M-junctions or X-junctions .Vertex shapes follow a similar convention:for example,when all four edges of a K-vertex are visible,the drawing has four lines meeting at a K -junction.When reconstructing an object from a drawing,we take the correct object to be the one which a human would decide to be the most plausible interpretation of the drawing.3.Convert Sketch to Line DrawingFor drawings of polyhedral objects,we believe it to be most convenient for the designer to input straight lines directly,and our own prototype system,RIBALD,includes such an interface.However,it could be argued that freehand sketch-ing is more “intuitive”,corresponding to a familiar interface:pen and paper.Several systems exist which are capable of converting freehand sketches into natural line drawings—see e.g.[ZHH96],[Mit99],[SS01].4.Which Lines are Convex/Concave?Line labelling is the process of determining whether each line in the drawing represents a convex,a concave,or an oc-cluding edge.For drawings of trihedral objects with no hole loops,the line labelling problem was essentially solved by Huffman [Huf71]and Clowes [Clo70],who elaborated the catalogue of valid trihedral junction labels.This turns line labelling into a discrete constraint satisfaction problem with 1-node constraints that each junction must have a label in the catalogue and 2-node constraints that each line must have the same label throughout its length .The Clowes-Huffman catalogue for L -,W -and Y -junctions is shown in Figure 3;+indicates a convex edge,−indicates a concave edge,and an arrow indicates an occluding edge with the occluding face on the right-hand side of the arrow.In trihedral objects,T -junctions (see Figure 4)are always occluding.For trihedral objects,algorithms for Clowes-Huffman line labelling,e.g.those of Waltz [Wal72]and Kanatani [Kan90],although theoretically taking O (2n )time,are usually O (n )insubmitted to EUROGRAPHICS Workshop on (2004)P .Varley &R.Martin &H.Suzuki /Can Machines Interpret Line Drawings?3+-+-+-+++---Figure 3:Clowes-HuffmanCatalogueFigure 4:Occluding T -Junctionspractice [PT94].It is believed that the time taken is more a function of the number of legal labellings than of the algo-rithm,and for trihedral objects there is often only a single legal labelling.For example,Figure 1has only one valid la-belling if the trihedral (Clowes-Huffman)catalogue is used.Extending line labelling algorithms to non-trihedral nor-malons is fairly straightforward [PLVT98].The additional legal junction labels are those shown in Figure 5.Note,how-ever,that a new problem has been introduced:the new T -junctions are not occluding.-+-+-+Figure 5:Extended Trihedral JunctionsExtension to the 4-hedral general case is less straight-forward.The catalogue of 4-hedral junction labels is much larger [VM03]—for example,Figure 6shows just the possi-bilities for W -junctions.Because the 4-hedral catalogue isno+-+-+-Figure 6:4-Hedral W -Junctionslonger sparse ,there are often many valid labellings for each drawing.Non-trihedral line labelling using the previously mentioned algorithms is now O (2n )in practice as well as in theory,and thus too slow.Furthermore,choosing the best labelling from the valid ones is not straightforward either,although there are heuristics which can help (see [VM03]).Instead,an alternative labelling method is to use a relax-ation bel probabilities are maintained for each line and each junction;these probabilities are iteratively up-dated.If a probability falls to 0,that label is removed;if a probability reaches 1,that label is chosen and all other la-bels are removed.In practice,this method is much faster—labels which are possible but very unlikely are removed quickly by relaxation,whereas they are not removed at all by combinatorial algorithms.However,relaxation methods are less reliable (the heuristics developed for choosing between valid labellings when using combinatorial methods are rea-sonably effective).In test we performed on 535line draw-ings [Var03b],combinatorial labelling labelled 428entirely correctly,whereas relaxation labelling only labelled 388en-tirely correctly.The most serious problem with either approach is that in treating line labelling as a discrete constraint satisfaction problem,the geometry of the drawing is not taken into ac-count,e.g.the two drawings in Figure 7are labelled the same.The problems created by ignoring geometrybecomeFigure 7:Same Topologymuch worse in drawings with several non-trihedral junctions (see [VSM04]),and for these,other methods are required.A new approach to labelling outlined in that paper and subsequently developed further [VMS04]makes use of an idea previously proposed for inflation [LB90]:•Assign relative i ,j ,k coordinates to each junction by as-suming that distances along the 2D axes in Figure 8cor-respond to 3D distances along spatial i ,j ,k axes.•Rotate the object from i ,j ,k to x ,y ,z space,where the lat-ter correspond to the 2D x ,y axes and z is perpendicular to the plane of the drawing.•Find the 3D equation for each planar region using vertex x ,y ,z coordinates.•For each line,determine from the equations of the two faces which meet the line whether it is convex,concave or occluding (if there is only one face,the line is occluding).submitted to EUROGRAPHICS Workshop on (2004)4P .Varley &R.Martin &H.Suzuki /Can Machines Interpret LineDrawings?+k-k+i-i+j-jFigure 8:Three Perpendicular Axes in 2DOn its own,this method does not work well:e.g.it is dif-ficult to specify a threshold distance d between two faces such that a distance greater than d corresponds to a step,and hence an occluding line,while if the distance is less than d the planes meet and the line is convex or concave.However,using the predictions made by this method as input to a re-laxation labelling algorithm provides far better results than using arbitrary initialisation in the same algorithm.This idea can be combined with many of the ideas in Sec-tion 6when producing a provisional geometry.Various vari-ants of the idea have been considered (see [VMS04]),partic-ularly with reference to how the i ,j ,k axes are identified in a 2D drawing,without as yet any firm conclusions as to which is best overall.Another strength is that the idea uses the relaxation labeller to reject invalid labellings while collat-ing predictions made by other approaches.This architecture allows additional approaches to labelling,such as Clowes-Huffman labelling for trihedral objects,to make a contribu-tion in those cases where they are useful [VMS04].Even so,the current state-of-the-art only labels approxi-mately 90%of non-boundary edges correctly in a represen-tative sample of drawings of engineering objects [VMS04].Note that any approach which uses catalogue-based la-belling can only label those drawings whose vertices are in a catalogue—it seems unlikely that 7-hedral and 8-hedral ex-tended K-type vertices of the type found in Figure 9willbeFigure 9:Uncatalogued Verticescatalogued in the near future.In view of this,one must ques-tion whether line labelling is needed.Humans are skilled at interpreting line drawings,and introspection tells us that line labelling is not always a part of this process—it may evenbe that humans interpret the drawing first,and then (if nec-essary)determine which lines are convex,concave and oc-cluding from the resulting mental model.Our investigations indicate that line labelling is needed,at least at present.We are investigating interpreting line draw-ings without labelling,based on identifying aspects of draw-ings which humans are known or believed to see quickly,such as line parallelism [LS96],cubic corners [Per68]and major axis alignment [LB90].Current results are disappoint-ing.Better frontal geometry can be obtained if junction la-bels are available.More importantly,the frontal geometry is topologically unsatisfactory.Distinguishing occluding from non-occluding T -junctions without labelling information is unreliable,and as a result,determination of hidden topology (Section 8)is unlikely to be successful.5.Which Lines are Parallel?Determining which lines in a drawing are intended to be par-allel in 3D is surprisingly difficult.It is,for example,obvious to a human which lines in the two drawings in Figure 10are intended to be parallel and which are not,but determining this algorithmically presentsproblems.Figure 10:Which Lines are Parallel?Sugihara [Sug86]attempted to define this problem away by using a strict definition of the general position rule:the user must choose a viewpoint such that if lines are parallel in 2D,the corresponding edges in 3D must be parallel.This makes no allowance for the small drawing errors which in-evitably arise in a practical system.Grimstead’s “bucketing”approach [Gri97],grouping lines with similar orientations,works well for many draw-ings,but fails for both drawings in Figure 10.Our own “bundling”approach [Var03a],although somewhat more re-liable,fares no better with these two drawings.The basic idea used in bundling is that edges are parallel if they look parallel unless it can be deduced from other information that they cannot be parallel.The latter is problematic for two rea-sons.Firstly,if ‘other information’means labelling,iden-tification of parallel lines must occur after labelling,limit-ing the system organisation for computing frontal geome-try.Secondly,to cover increasingly rare exceptional cases,we must add extra,ever more complex,rules for deducing which lines may or may not be parallel.This is tedious andsubmitted to EUROGRAPHICS Workshop on (2004)P.Varley&R.Martin&H.Suzuki/Can Machines Interpret Line Drawings?5 rapidly reaches the point of diminishing returns.For exam-ple,a rule which can deduce that the accidental coincidencein Figure11should not result in parallel lines would be bothcomplicated to implement and of no use in many other cases.**Figure11:Accidental CoincidenceFurthermore,there are also cases where it is far from cleareven to humans which edges should be parallel in3D(edgesA,B,C and D in Figure12are a case in point).ABCDFigure12:Which Edges Should Be Parallel?In view of these problems,more recent approaches tofrontal geometry(e.g.[VMS04])simply ignore the possi-bility that some lines which appear parallel in2D cannot infact be parallel in3D.Initially,it is assumed that they areparallel;this information is then re-checked after inflation.6.Inflation to212D by assigning z-coordinates(depth coordinates)to eachvertex,producing a frontal geometry.The approach taken here is the simplest:we use compliance functions[LS96]to generate equations linear in vertex depth coordinates,and solve the resulting linear least squares problem.Many com-pliance functions can be translated into linear equations in z-coordinates.Of these,the most useful are:Cubic Corners[Per68],sometimes called corner orthogo-nality,assumes that a W-junction or Y-junction corresponds to a vertex at which three orthogonal faces meet.See Fig-ure13:the linear equation relates depth coordinates z V and z A to angles F and G.Nakajima[Nak99]reports successful creation of frontal geometry solely by using a compliance function similar to corner orthogonality,albeit with a limited set of test drawings in which orthogonality predominates. Line Parallelism uses two edges assumed to be parallel in 3D.The linear equation relates the four z-coordinates of theVA BCEFGVABCEFGFigure13:Cubic Cornersvertices at either end of the two edges.Line parallelism is not,by itself,inflationary:there is a trivial solution(z=0 for all vertices).Vertex Coplanarity uses four vertices assumed to be coplanar.The linear equation relating their z-coordinates is easily obtained from2D geometry.Vertex coplanarity is also not,by itself,inflationary,having the trivial solution z=0 for all vertices.General use of four-vertex coplanarity is not recommended(Lipson[Lip98]notes that if three vertices on a face are collinear,four-vertex coplanarity does not guar-antee a planar face).However,it is invaluable for cases like those in Figure14,to link vertices on inner and outer face loops:without it the linear system of depth equations would be disjoint,with infinitely many solutions.**Figure14:Coplanar VerticesLipson and Shpitalni[LS96]list the above and several other compliance functions;we have devised the following. Junction-Label Pairs[Var03a]assumes that pairs of junc-tions with identified labels have the same depth implications they would have in the simplest possible drawing contain-ing such a pair.An equation is generated relating the vertex depths at each end of the line based on the junction labels of those vertices.For example,see Figure15:this pair of junc-tion labels can be found in an isometric drawing of a cube, and the implication is that the Y-junction is nearer to the viewer than the W-junction,with the ratio of2D line length to depth change being√6P .Varley &R.Martin &H.Suzuki /Can Machines Interpret LineDrawings?Figure 15:Junction La-bel Pair *Figure 16:Incorrect Infla-tion?paper.Although it occasionally fails to determine correctly which end of a line should be nearer the viewer,such failures arise in cases like the one in Figure 16where a human would also have difficulty.The only systematic case where using a linear system of compliance functions fails is for Platonic and Archimedean solids,but a known special-case method (Marill’s MSDA [Mar91])is successful for these.In order to make the frontal geometry process more ro-bust when the input information (especially line labelling)is incorrect,we have experimented with two approaches to inflation which do without some or all of this information.The first is the ‘preliminary inflation’described in Sec-tion 4:find the i ,j ,k axes in the drawing,inflate the object in i ,j ,k space,then determine the transformation between i ,j ,k and x ,y ,z spaces.This requires parallel line information (to group lines along the i ,j ,k axes).Where such information is misleading,the quality of inflation is unreliable,but this is not always a problem,e.g.the left-hand drawing in Figure 10is labelled correctly despite incorrect parallel line informa-tion.Once (i)a drawing has been labelled correctly and (ii)there is reason to suppose that the parallel line information is unreliable,better-established inflation methods can be used to refine the frontal geometry.However,the right-hand draw-ing is one of those which is not labelled correctly,precisely because of the misleading parallel line information.A second promising approach,needing further work,at-tempts to emulate what is known or hypothesised about hu-man perception of line drawings.It allocates merit figures to possible facts about the drawing;these,and the geometry which they imply,are iteratively refined using relaxation:•Face-vertex coplanarity corresponds to the supposition that vertices lie in the plane of faces.We have already noted the difficulty of distinguishing occluding from non-occluding T -junctions;to do so,we must at some time decide which vertices do lie in the plane of a face.•Corner orthogonality ,which was described earlier.At least one inflationary compliance function is required,and this one has been found reliable.Although limited in prin-ciple,corner orthogonality is particularly useful in prac-tice as cubic corners are common in engineering objects.•Major axis alignment is the idea described above of using i ,j ,k axes.This is also an inflationary compliance func-tion.It is newer than corner orthogonality,and for this reason considered less reliable.However,unlike cornerorthogonality (which can fail entirely in some circum-stances),major axis alignment does always inflate a draw-ing,if not always entirely correctly.•Line parallelism is useful for producing ‘tidy’output (e.g.to make lines terminating in occluding T -junctions paral-lel in 3D to other lines with similar 2D orientation).How-ever,the main reason for its inclusion here is that it also produces belief values for pairs of lines being parallel as a secondary output,solving the problem in Section 5.•Through lines correspond to the requirement that a contin-uous line intercepted by a T -junction or K -junction corre-sponds to a single continuous edge of the object.A third,simpler,approach assumes that numerically cor-rect geometry is not required at this early stage of pro-cessing,and identifying relative depths of neighbouring ver-tices is sufficient.Schweikardt and Gross’s [SG00]work,al-though limited to objects which can be labelled using the Clowes-Huffman catalogue,and not extending well to non-normalons,suggests another possible way forward.7.Classification and SymmetryIdeally,one method should work for all drawings of poly-hedral objects;identification of special cases should not be necessary.However,the state-of-the-art is well short of this ideal—in practice it is useful to identify certain frequent properties of drawings and objects.Identification of planes of mirror symmetry is particularly useful.Knowledge of such a symmetry can help both to construct hidden topol-ogy (Section 8)and to beautify the resulting geometry (Sec-tion 9).Identification of centres of rotational symmetry is less useful [Var03a],but similar methods could be applied.The technique adopted is straightforward:for each possi-ble bisector of each face,create a candidate plane of mirror symmetry,attempt to propagate the mirror symmetry across the entire visible part of the object,and assess the results us-ing the criteria of (i)to what extent the propagation attempt succeeded,(ii)whether there is anything not visible which should be visible if the plane of mirror symmetry were a genuine property of the object,and (iii)how well the frontal geometry corresponds to the predicted mirror symmetry.Classification of commonly-occurring types of objects (examples include extrusions,normalons,and trihedral ob-jects)is also useful [Var03a],as will be seen in Section 8.One useful combination of symmetry and classification is quite common in engineering practice (e.g.see Figures 1and 2):a semi-normalon (where many,but not all,edges and face normals are aligned with the major axes)also having a dominant plane of mirror symmetry aligned with one of the object’s major axes [Var03a].The notable advantage of this classification is that during beautification (Section 9)it pro-vides constraints on the non-axis-aligned edges and faces.We recommend that symmetry detection and classifica-submitted to EUROGRAPHICS Workshop on (2004)P.Varley&R.Martin&H.Suzuki/Can Machines Interpret Line Drawings?7tion should be performed after creation of the frontal geom-etry.Detecting candidate symmetries without line labels is unreliable,and assessing candidate symmetries clearly ben-efits from the3D information provided by inflation.The issue is less clear for classification.Some classifications (e.g.whether the object is a normalon)can be done directly from the drawing,without creating the frontal geometryfirst. However,others cannot,so for simplicity it is preferable to classify the object after creating its frontal geometry.8.Determine Hidden TopologyOnce the frontal geometry has been determined,the next stage of processing is to add the hidden topology.The method is essentially that presented in[VSMM00]:firstly, add extra edges to complete the wireframe,and then add faces to the wireframe to compete the object,as follows:While the wireframe is incomplete:•Project hypothesised edges from each incomplete vertex along the appropriate axes•Eliminate any edges which would be visible at their points of origin•Find locations where the remaining edges intersect,as-signing meritfigures according to how certain it is that edges intersect at this location(e.g.an edge intersecting only one other edge has a higher meritfigure than an edge has potential intersections with two or more other edges)•Reduce the merit for any locations which would be visible (these must be considered,as drawing errors are possible)•Choose the location at which the merit is greatest •Add a vertex at this location,and the hypothesised edges meeting at this location,to the known object topology The process of completing the wireframe topology varies in difficulty according to the type of object drawn.We il-lustrate two special-case object classes,extrusions and nor-malons,and the general case.In some cases(e.g.if the ob-ject is symmetrical or includes a recognised feature),more than one vertex can be added in one iteration,as described in[Var03a].Such cases increase both the speed and reliabil-ity of the process of completing the wireframe. Completing the topology of extrusions from a known front end cap is straightforward.Figure17shows a draw-ing and the corresponding completed extrusionwireframe.Figure17:ExtrusionKnowing that the object is a normalon simplifies recon-struction of the wireframe,since when hypothesised edges are projected along axes,there is usually only one possibil-ity from any particular incomplete vertex.Figure18shows a drawing of a normalon and the corresponding completed wireframe.Similarly,if the object is trihedral,there canbeFigure18:Normalon[Yan85]at most one new edge from each incomplete vertex,simplify-ing reconstruction of the correct wireframe.Figure19shows a drawing of a trihedral object and the corresponding com-pletedwireframe.Figure19:Trihedral Object[Yan85] However,in the general case,where the object is neither a normalon nor trihedral,there is the significant difference that hypothesised edges may be projected in any direction paral-lel to an existing edge.Even after eliminating edges which would be visible,there may be several possibilities at any given incomplete vertex.The large number of possible op-tions rapidly becomes confusing and it is easy to choose an incorrect crossing-point at an early stage.Although such er-rors can sometimes be rectified by backtracking,the more common result is a valid but unwanted wireframe.Only very simple drawings can be processed reliably.Figure20shows a general-case object and the corresponding completed wire-frame;this represents the limit of the current state of theart.Figure20:General Case ObjectOne particular problem,a specific consequence of the ap-proach of completing the wireframe before faces,is thatsubmitted to EUROGRAPHICS Workshop on (2004)8P.Varley&R.Martin&H.Suzuki/Can Machines Interpret Line Drawings?there is no assurance that the local environments of either end of a new edge match.It may happen that a sector around a new edge is solid at one end and empty at the other.This is perhaps the single most frequent cause of failure at present, and is especially problematic in that the resulting completed wireframe can appear correct.We aim to investigate faster and more reliable ways of determining the correct hidden topology of an object,starting with approaches aimed at cor-recting this conflicting local environment problem. Adding additional faces to the completed wireframe topology for which the frontal geometry is already known is straightforward.We use repeated applications of Dijkstra’s Algorithm[Dij59]tofind the best loop of unallocated half-edges for each added face,where the merit for a loop of half-edges is based both on the number of half-edges re-quired(the fewer,the better)and their geometry(the closer to coplanar,the better).We have not known this approach to fail when the input is a valid wireframe(which,as noted above,is not always the case).9.Beautification of Solid ModelsAs can be seen from the Figures in the previous Section, even when topologically correct,the solid models produced may have(possibly large)geometric imperfections.They re-quire‘beautification’.More formally,given a topologically-correct object and certain symmetry and regularity hypothe-ses,we wish to translate these hypotheses into constraints, and update the object geometry so that it maximises some merit function based on the quantity and quality of con-straints enforced.In order to make this problem more tractable,we decom-pose it into determination of face normals and determination of face distances from the origin;once faces are known,ver-tex coordinates may be determined by intersection.The ra-tionale for this partitioning[KY01]is that changing face nor-mals can destroy satisfied distance constraints,but changing face distances cannot destroy satisfied normal constraints. However,there are theoretical doubts about this sub-division,related to the resolvable representation prob-lem[Sug99]offinding a‘resolution sequence’in which information can befixed while guaranteeing that no previ-ous information is contradicted.For example,determining face equationsfirst,and calculating vertex coordinates from them,is a satisfactory resolution sequence for many polyhe-dra,including all trihedral polyhedra.Similarly,fixing vertex coordinates and calculating face planes from them is a satis-factory resolution sequence for deltahedra and triangulated mesh models.Sugihara[Sug99]proved that:•all genus0solids have resolution sequences(although if neither trihedral nor deltahedra,finding the resolution se-quence might not be straightforward);•(by counterexample)genus non-zero solids do not neces-sarily have resolution sequences.Thus,there are two resolvable representation issues:•finding a resolution sequence for those solids which have a non-trivial resolution sequence;•producing a consistent geometry for those solids which do not have a resolution sequence.Currently,neither problem has been solved satisfactorily. Thus,although there are objects which have resolution se-quences,but for which determining face normals,and then face distances,andfinally vertex coordinates,is not a satis-factory resolution sequence,the frequency of occurrence of such objects has yet to be determined.If low,the pragmatic advantages of such an approach are perhaps more important than its theoretical inadequacy.Our overall beautification algorithm is[Var03a]:•Make initial estimates of face normals•Use any object classification to restrict face normals •Identify constraints on face normals•Adjust face normals to match constraints •Make initial estimates of face distances •Identify constraints on face distances•Adjust face distances to match constraints •Obtain vertex locations by intersecting planes in threes •Detect vertex/face failures and adjust faces to correct them We use numerical methods for constraint processing,as this seems to be the approach which holds most promise.Al-ternatives,although unfashionable for various reasons,may become more viable as the state of the art develops:see Lip-son et al[LKS03]for a discussion.In addition to the resolvable representation problem,there is a further theoretical doubt about this approach.When at-tempting to satisfy additional constraints,it is necessary to know how many degrees of freedom are left in the system once previous,already-accepted,constraints are enforced. This apparently-simple problem appears to have no fully-reliable solution.One solution proposed by Li[LHS01]per-turbs the variables slightly and detects which constraints have been violated.However,this is slow,and not necessar-ily theoretically sound either(e.g.a constraint relating face distances A and B may allow them to move together,but not independently of one another).Two differing approaches have been tried to the problem offinding whether or not a geometry exists which satis-fies a new constraint while continuing to satisfy previously-accepted constraints.Thefirst encodes constraint satisfaction as an error func-tion(the lower the value,the better-satisfied the con-straint),and face normals and/or face distances as vari-ables,using a downhill optimiser to minimise the error function[CCG99,LMM02,Var03a].Such algorithms use a ‘greedy’approach,in which the constraint with the highest figure of merit is always accepted and enforced,and then for each other constraint,in descending order of merit:if thesubmitted to EUROGRAPHICS Workshop on (2004)。
How to read a paper(如何阅读一篇文章)
How to Read a PaperS.KeshavDavid R.Cheriton School of Computer Science,University of WaterlooWaterloo,ON,Canadakeshav@uwaterloo.caABSTRACTResearchers spend a great deal of time reading research pa-pers.However,this skill is rarely taught,leading to much wasted effort.This article outlines a practical and efficient three-pass method for reading research papers.I also de-scribe how to use this method to do a literature survey. Categories and Subject Descriptors:A.1[Introductory and Survey]General Terms:Documentation.Keywords:Paper,Reading,Hints.1.INTRODUCTIONResearchers must read papers for several reasons:to re-view them for a conference or a class,to keep current in theirfield,or for a literature survey of a newfield.A typi-cal researcher will likely spend hundreds of hours every year reading papers.Learning to efficiently read a paper is a critical but rarely taught skill.Beginning graduate students,therefore,must learn on their own using trial and error.Students waste much effort in the process and are frequently driven to frus-tration.For many years I have used a simple approach to efficiently read papers.This paper describes the‘three-pass’approach and its use in doing a literature survey.2.THE THREE-PASS APPROACHThe key idea is that you should read the paper in up to three passes,instead of starting at the beginning and plow-ing your way to the end.Each pass accomplishes specific goals and builds upon the previous pass:The first pass gives you a general idea about the paper.The second pass lets you grasp the paper’s content,but not its details.The third pass helps you understand the paper in depth.2.1Thefirst passThefirst pass is a quick scan to get a bird’s-eye view of the paper.You can also decide whether you need to do any more passes.This pass should take aboutfive to ten minutes and consists of the following steps:1.Carefully read the title,abstract,and introduction2.Read the section and sub-section headings,but ignoreeverything else3.Read the conclusions4.Glance over the references,mentally ticking offtheones you’ve already readAt the end of thefirst pass,you should be able to answer thefive Cs:1.Category:What type of paper is this?A measure-ment paper?An analysis of an existing system?A description of a research prototype?2.Context:Which other papers is it related to?Whichtheoretical bases were used to analyze the problem?3.Correctness:Do the assumptions appear to be valid?4.Contributions:What are the paper’s main contribu-tions?5.Clarity:Is the paper well written?Using this information,you may choose not to read fur-ther.This could be because the paper doesn’t interest you, or you don’t know enough about the area to understand the paper,or that the authors make invalid assumptions.The first pass is adequate for papers that aren’t in your research area,but may someday prove relevant.Incidentally,when you write a paper,you can expect most reviewers(and readers)to make only one pass over it.Take care to choose coherent section and sub-section titles and to write concise and comprehensive abstracts.If a reviewer cannot understand the gist after one pass,the paper will likely be rejected;if a reader cannot understand the high-lights of the paper afterfive minutes,the paper will likely never be read.2.2The second passIn the second pass,read the paper with greater care,but ignore details such as proofs.It helps to jot down the key points,or to make comments in the margins,as you read.1.Look carefully at thefigures,diagrams and other illus-trations in the paper.Pay special attention to graphs.Are the axes properly labeled?Are results shown with error bars,so that conclusions are statistically sig-nificant?Common mistakes like these will separate rushed,shoddy work from the truly excellent.2.Remember to mark relevant unread references for fur-ther reading(this is a good way to learn more about the background of the paper).The second pass should take up to an hour.After this pass,you should be able to grasp the content of the paper. You should be able to summarize the main thrust of the pa-per,with supporting evidence,to someone else.This level of detail is appropriate for a paper in which you are interested, but does not lie in your research speciality.Sometimes you won’t understand a paper even at the end of the second pass.This may be because the subject matter is new to you,with unfamiliar terminology and acronyms. Or the authors may use a proof or experimental technique that you don’t understand,so that the bulk of the pa-per is incomprehensible.The paper may be poorly written with unsubstantiated assertions and numerous forward ref-erences.Or it could just be that it’s late at night and you’re tired.You can now choose to:(a)set the paper aside,hoping you don’t need to understand the material to be successful in your career,(b)return to the paper later,perhaps after reading background material or(c)persevere and go on to the third pass.2.3The third passTo fully understand a paper,particularly if you are re-viewer,requires a third pass.The key to the third pass is to attempt to virtually re-implement the paper:that is, making the same assumptions as the authors,re-create the work.By comparing this re-creation with the actual paper, you can easily identify not only a paper’s innovations,but also its hidden failings and assumptions.This pass requires great attention to detail.You should identify and challenge every assumption in every statement. Moreover,you should think about how you yourself would present a particular idea.This comparison of the actual with the virtual lends a sharp insight into the proof and presentation techniques in the paper and you can very likely add this to your repertoire of tools.During this pass,you should also jot down ideas for future work.This pass can take about four orfive hours for beginners, and about an hour for an experienced reader.At the end of this pass,you should be able to reconstruct the entire structure of the paper from memory,as well as be able to identify its strong and weak points.In particular,you should be able to pinpoint implicit assumptions,missing citations to relevant work,and potential issues with experimental or analytical techniques.3.DOING A LITERATURE SURVEYPaper reading skills are put to the test in doing a literature survey.This will require you to read tens of papers,perhaps in an unfamiliarfield.What papers should you read?Here is how you can use the three-pass approach to help.First,use an academic search engine such as Google Scholar or CiteSeer and some well-chosen keywords tofind three to five recent papers in the area.Do one pass on each pa-per to get a sense of the work,then read their related work sections.You willfind a thumbnail summary of the recent work,and perhaps,if you are lucky,a pointer to a recent survey paper.If you canfind such a survey,you are done. Read the survey,congratulating yourself on your good luck. Otherwise,in the second step,find shared citations and repeated author names in the bibliography.These are the key papers and researchers in that area.Download the key papers and set them aside.Then go to the websites of the key researchers and see where they’ve published recently.That will help you identify the top conferences in thatfield because the best researchers usually publish in the top con-ferences.The third step is to go to the website for these top con-ferences and look through their recent proceedings.A quick scan will usually identify recent high-quality related work. These papers,along with the ones you set aside earlier,con-stitute thefirst version of your survey.Make two passes through these papers.If they all cite a key paper that you did notfind earlier,obtain and read it,iterating as neces-sary.4.EXPERIENCEI’ve used this approach for the last15years to read con-ference proceedings,write reviews,do background research, and to quickly review papers before a discussion.This dis-ciplined approach prevents me from drowning in the details before getting a bird’s-eye-view.It allows me to estimate the amount of time required to review a set of papers.More-over,I can adjust the depth of paper evaluation depending on my needs and how much time I have.5.RELATED WORKIf you are reading a paper to do a review,you should also read Timothy Roscoe’s paper on“Writing reviews for sys-tems conferences”[1].If you’re planning to write a technical paper,you should refer both to Henning Schulzrinne’s com-prehensive web site[2]and George Whitesides’s excellent overview of the process[3].6.A REQUESTI would like to make this a living document,updating it as I receive comments.Please take a moment to email me any comments or suggestions for improvement.You can also add comments at CCRo,the online edition of CCR[4]. 7.ACKNOWLEDGMENTSThefirst version of this document was drafted by my stu-dents:Hossein Falaki,Earl Oliver,and Sumair Ur Rahman. My thanks to them.I also benefited from Christophe Diot’s perceptive comments and Nicole Keshav’s eagle-eyed copy-editing.This work was supported by grants from the National Science and Engineering Council of Canada,the Canada Research Chair Program,Nortel Networks,Microsoft,Intel Corporation,and Sprint Corporation.8.REFERENCES[1]T.Roscoe,“Writing Reviews for SystemsConferences,”http://people.inf.ethz.ch/troscoe/pubs/review-writing.pdf.[2]H.Schulzrinne,“Writing Technical Articles,”/hgs/etc/writing-style.html.[3]G.M.Whitesides,“Whitesides’Group:Writing aPaper,”http://www.che.iitm.ac.in/misc/dd/writepaper.pdf. [4]ACM SIGCOMM Computer Communication ReviewOnline,/ccr/drupal/.。
--a应用层Overlay综述
A Survey on the Design,Applications and Enhancements of Application Layer Overlay NetworksJINU KURIAN and KAMIL SARACUniversity of Texas at DallasThis article presents a survey of recent advancements in application layer overlay networks.Some of the most important applications that have been proposed for overlays include multicast,QoS support,denial-of-service(DoS)defense and resilient routing.We look at some of the important approaches proposed for these applications and compare the advantages and disadvantages of these approaches.We also examine some of the enhancements that have been proposed in over-lay topology design,enhanced routing performance,failure resistance and the issues related to coexistence of overlay and native layers in the Internet.We conclude the article with a comment on the purist vs pluralist argument of overlay networks that has received much debate recently. Finally,we propose a new deployment model for service overlays that seeks to interpose between these two approaches.Categories and Subject Descriptors:C.2.1[Computer-Communication Networks]:Network Architecture and Design;C.2.3[Computer-Communication Networks]:Network Operations General Terms:Design,Economics,Performance,Reliability,SecurityAdditional Key Words and Phrases:Overlay Networks,Service Overlay Networks,Performance, Enhancements,Deployment Model1.INTRODUCTIONOver the last few years,overlay networks have garnered much interest in the re-search and industrial community.This interest has been sparked primarily due to several distinct advantages offered by overlay networks for the testing and deploy-ment of novel and possibly disruptive applications in the Internet.Some of the proposed applications for overlay networks include multicast[Chu et al.2000],content delivery networks[Yu et al.1999;Krishnamurthy et al.2001; Su et al.2006],quality of service[Duan et al.2003;Li and Mohapatra2004b; Subramanian et al.2004],enhanced routing performance[Andersen et al.2001; Anderson et al.1999;Akamai a],anonymity[Dingledine et al.2004;Abe1999; Anonymizer],anycast[Freedman et al.2006;Ballani and Francis2005],IPv6de-ployment[6bone],testbeds[Chun et al.2003;Touch et al.2005],denial of service (DoS)defense[Keromytis et al.2002;Andersen2003],VoIP[Amir et al.2005; Author’s addresses:The University of Texas at Dallas,Dept.of Computer Science,800West Campbell Road,Richardson,TX75080-1407Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage,the ACM copyright/server notice,the title of the publication,and its date appear,and notice is given that copying is by permission of the ACM,Inc.To copy otherwise,to republish, to post on servers,or to redistribute to lists requires prior specific permission and/or a fee.c 20YY ACM0000-0000/20YY/0000-0001$5.00ACM Journal Name,Vol.V,No.N,Month20YY,Pages1–0??.2·J.Kurian and K.SaracBaset and Schulzrinne2006],reliable email[Agarwal et al.2005],distributed sys-tems management[Liang et al.2005],etc.Similarly,much work has gone into enhancing some of the important requirements associated with overlay networks like topology design,failure resistance,routing performance,Byzantine resilience, native layer interaction,etc.Before continuing with our main discussion,wefirst answer the question:What are overlay networks and why are the required?An overlay network is a virtual network that is built on top of another.It is usually built(directly by end users or a third-party overlay service provider(OSP)) to provide an application or service not easily provided by traditional methods to interested end users.In general,overlay architectures consist of two layers:1)the overlay layer comprising of the overlay nodes and virtual links and2)the native layer over which the overlay network is built.In the Internet today,the native layer is the IP layer which provides a best effort delivery service between remote systems.The overlay layer comprises of a selection of the native layer’s nodes, logically interconnected with each other in any desired manner.Figure1shows an example of an overlay network.Note that the traditional definition of an application layer overlay network en-compasses peer to peer(P2P)networks as well.P2P networks are in general outside the scope of this survey and our definition.We concentrate on overlay networks built for the purpose of providing a specific application as described above.For a detailed overview of P2P networks,the interested reader is referred to[Lua et al. 2004].The amount of work that is related to overlay networks can be staggering to a novice reader.Yet,to date there has been no concerted effort to survey the disparate applications and the enhancements of generic overlay architectures.In this article,we aim to provide the reader with a comprehensive overview of the more significant applications for overlay networks,the issues that arise with each of these applications and some existing solutions to these issues.We will also present the pluralist vs purist view of overlay deployment and propose a deployment model for overlay networks that draws more support from the ISPs than the existing deployment models.The main motivation behind the deployment of overlay networks is to counter many limitations of the current Internet architecture that have become obvious[Rat-nasamy et al.2005]in recent years.Some of the major concerns include the inher-ent lack of security[Keromytis et al.2002;Andersen2003;Anderson et al.2003; Mirkovic et al.2002;Moore et al.2001],QoS guarantees[Subramanian et al.2004; Duan et al.2003],mobility support[Snoeren et al.2001],multicast support[Chu et al.2000;Almeroth2000],end-to-end service guarantees[Duan et al.2003;Blu-menthal and Clark2001]and the presence of unwanted and spurious traffic[Shin et al.2006;Xu and Zhang2005].While the calls for change and solutions proposed have been numerous,the acceptance and deployment of these solutions have not nearly kept pace.Many researchers have voiced their concerns about this perceived ”ossification”of the Internet[Turner and Taylor2005;Peterson et al.2004]which prevents even necessary changes in the infrastructure from taking place.In this context,overlay networks have emerged as a viable solution to this ossification by ACM Journal Name,Vol.V,No.N,Month20YY.Overlay Networks Survey·3Fig.1.Overlay model.providing third-party service providers and users with a means to address some of the aforementioned issues at a smaller scale and without requiring universal change or coordination for the deployment of new services.The rest of the article is organized as follows.Section2presents some of the more important overlay applications that have been proposed in the literature. Section3describes generalized overlay models for these applications and Section 4discusses the enhancements that have been suggested based on these generalized models.Section5discusses the purist vs pluralist view of overlays and proposes a new model of overlay deployment.Finally,Section6concludes the article.2.APPLICATIONS OF OVERLAY NETWORKSThe proposed applications for overlay networks have been numerous and largely disparate.We will consider some of the more important applications here.2.1Overlay multicastIP multicast was one of thefirst value-added services that was proposed in the Internet.Highly efficient in multi-receiver applications it received a lot of research interest for its development.IP Multicast was however plagued with many problems which have prevented its widespread deployment.Today,IP multicast has been de-ployed primarily in the intra-domain scale without much inter-domain connectivity. The MBone overlay[Macedonia and Brutzman1994;Almeroth2000]was one of thefirst attempts to interconnect disjoint multicast zones to each other.IP tunnel-ing was used for the purpose of transporting data over multicast-unaware routers. MBone provided the required connectivity but was plagued with problems of un-reliability,heavy loss,low throughput,difficult management etc.Application layer multicast was proposed as a viable alternative to IP multicast.In application layer multicast,a multicast tree is built at the application layer between participating group members.Data delivery is provided through unicast tunneling mechanisms on a hop-by-hop basis between the group participants.Unlike IP multicast where data is replicated by the routers,in overlay multicast data is replicated by overlay nodes.The operation of multicast overlays is shown in Figure2.ACM Journal Name,Vol.V,No.N,Month20YY.4·J.Kurian and K.SaracFig.2.Multicast overlays(adapted from ESM).Narada:Narada or End System Multicast(ESM)was one of thefirst multicast overlays proposed.In ESM,overlay nodes initially create an overlay mesh between all group members.Once the mesh is created,a shortest path tree to the source is built on top of the mesh.This tree building approach used in ESM is called the meshfirst approach1.Although not as efficient as IP Multicast,ESM offers some distinct deployment advantages over it.ESM allows the deployment of multicast services without manifestable changes in the network and maintains the networks’stateless nature.Since unicast tunneling is used between overlay nodes,inter-domain connectivity is also not an issue.Although unicast is the primary mode of transport,ESM is more efficient than native unicast for multi-receiver applications. As is the case with IP multicast,the source has to transmit only a single packet to the overlay network which is then replicated by the overlay nodes for data delivery. This reduces the overhead on the sender and the network and makes for more efficient data delivery.ESM while seminal in multicast overlays,has several issues that restrict is ef-fectiveness.One of the more significant issues with ESM is that its scalability is detrimentally affected by the group management protocol used.The model pro-posed by ESM has been enhanced over the years to allow for much larger group sizes.We will consider one approach next which allows for much better scalability. There have been other significant improvements also allowing for more efficient tree construction,higher data rates,better failure resistance and for optimizing various parameters like delay,data loss,overlay deployment costs,link stress,load bal-ancing etc.Some of the significant improvements include ALMI[Pendarakis et al. 2001],Scattercast[Chawathe2003],Yoid[Francis],NICE[Banerjee et al.2002], Overcast[Jonnatti et al.2000]),Bullet[Kostic et al.2003])and TAG[Kwon and Fahmy2002].NICE:NICE[Banerjee et al.2002]attempts to build a very low overhead over-lay network which can scale to a very large number of nodes.Significant in the NICE architecture is the use of a layered,hierarchical approach.By distributed1The mesh first approach is in contrast with the treefirst approach where the tree is constructed directly between the group participants[Abad et al.2004]ACM Journal Name,Vol.V,No.N,Month20YY.Overlay Networks Survey·5 management of the overlay and providing addressing in a hierarchical manner,the amount of information that is required to be maintained at each node is significantly reduced.The hierarchial addressing used in NICE is as follows.Nodes are organized into layers,with nodes in each layer further organized into clusters.Each cluster has a cluster leader which is the node with minimum distance to all other nodes in the cluster.The cluster leaders of each layer are the only nodes joined to the next higher layer.In this arrangement Layer0is the lowest level of hierarchy and con-tains all the nodes.This means that the worst case information to be maintained by a node is about O(log N)other nodes(as opposed to O(N)for ESM).Data delivery also follows the hierarchical delivery path.A source-specific tree is built from the source of the message for this purpose.TAG:The importance of topology awareness in overlay construction is well stud-ied.We will discuss this in more detail in Section4.1.Topology aware group-ing[Kwon and Fahmy2002](TAG)was proposed to exploit underlying network topology information to build a more efficient tree.The tree construction in TAG uses network measurements to optimally place new nodes in the network.When a new member desires to join a multicast session,the source S calculates the shortest path between itself and the new node(using a tool like traceroute and pathchar or from OSPF topology servers).It then uses a path matching algorithm tofind the overlap between its currently used paths and the shortest path to the new node. The purpose of the path matching algorithm is to ensure that new node can join the multicast tree using an existing path in the tree at the point of overlap closest to it.Another advantage of TAG is that unlike most multicast overlays which aim to optimize a single metric like delay,bandwidth or loss rate,TAG can use both delay and bandwidth(because of the measurements made prior to overlay construction) as joint considerations during overlay construction.To achieve efficiency and fault tolerance,in TAG the intermediate nodes and the root nodes participate in periodic probing.As with most probing based overlays,this probing can be expensive if the overlay is very large.Thefield of application level multicast has received much attention over the years.Figure3provides a tabular comparison between some different approaches. For a more thorough overview of multicast overlays,the interested reader is referred to[Abad et al.2004].2.2QoS guaranteesOver the years,much effort has gone into providing end-to-end QoS at the network layer in the Internet.IntServ[Braden et al.1994]and DiffServ[Carpenter and Nichols2002;Blake et al.1998]were proposed and established as QoS standards for the Internet.However,similar to IP Multicast,network layer QoS faced several deployment problems in a large scale.One of thefirst solutions to the lack of deployment of QoS was an overlay based testbed,Qbone[QBone].Since then, researchers have proposed the construction of overlay networks which can provide QoS guarantees to applications using the overlay network.ACM Journal Name,Vol.V,No.N,Month20YY.6·J.Kurian and K.Sarac specif trees based on RPF Mesh first source-Mesh first,centralized to build a MST based Tree first new nodes become child of an existing parent Optimizingparameter ALMINarada TAG NICE Yoid Overcast centralized to place nodes in a tree Hierarchial trees based on splitting nodes into clusters Tree first,centralized, nodesdecide position wrta root nodeon inter-node probes Topology AwareNo No No No Tree first,Tree construction Strategy Reliability Delay andbandwidth LatencyYes Yes No No No Yes Delay Delay Delay Group Size Very Large Large LargeLarge Small Large No Pathchar andOSPF info used parison of various Multicast overlays.SON:The service overlay network (SON)[Duan et al.2003]approach aims to pro-vide QoS guarantees in the inter-domain scale through an overlay network.QoS is provided for the overlay network by purchasing bandwidth from ISPs via bilateral SLAs with certain QoS guarantees.The overlay nodes are logically interconnected through these bandwidth guaranteed connections to provide end-to-end QoS guar-antees.The use of SON allows the deployment of QoS sensitive applications in the network without the overhead required for network layer QoS.SON also simplifies QoS provisioning for ISPs by allowing QoS provisioning for a larger granularity of individual SONs as opposed to individual flows.The significant challenge in the SON architecture is for the OSP to purchase bandwidth in an efficient manner from ISPs.Since this purchase of bandwidth is a capital-intensive affair,the bandwidth requirements need to be carefully calculated to minimize capital expense.On the other hand,the SON must be provided ade-quate bandwidth to support the QoS requirements of the services that it aims to support.Provisioning also needs to be made for possibly fluctuating requirements without excessive penalty.The authors in [Duan et al.2003]model the bandwidth provisioning requirements as optimization problems for static and dynamic band-width requirements and suggest approximate solutions to these problems.Other issues which have been studied in the context of SON include the design of an efficient SON topology [Vieira and Liebeherr 2004a]and reconfiguring the service overlay to optimize the cost of using the overlay [Fan and Ammar 2006].One of the unique attributes of the SON approach is its dependence on ISPs to deploy the overlay.This is contrary to the general wisdom of complete indepen-ACM Journal Name,Vol.V,No.N,Month 20YY.Overlay Networks Survey·7 dence from ISPs in overlay operation and deployment.We will call this overlay deployment model the SON model of deployment.The SON model is contrary to the deployment model wherein the overlay is completely independent from the ISPs (we call this model the P2P model)in its operation and deployment.As we will discuss later,the involvement of ISPs can provide significant advantages to over-lay based applications.The SON deployment model has been adapted by various authors in creating service architectures for various applications.The Service Ori-ented Internet(SOI)[Chandrashekar et al.2003]architecture is one instantiation of a SON overlay as a working infrastructure to provide VoIP.Another example which we discuss next is QRON which can be considered as an implementation based on the SON model.QRON:In QRON the authors propose the creation of a bandwidth provisioned overlay network(OSN)similar to SON.The overlay network consists of overlay brokers(nodes)with bandwidth guaranteed connections between them.As with SON,QRON can provide a QoS-guaranteed overlay path to the application.QRON additionally tackles some of the architectural and functional aspects of a practical SON overlay.One relevant issue with a practical SON overlay is its scalability to a large number of nodes.In QRON,the solution is to organize the overlay using a hierarchical clustering and naming scheme.Overlay nodes are clustered into several levels with level-1being the highest level cluster consisting of level-2clusters and so on.The clustering is done such that nodes within the same AS and those that are physically close to each other are clustered together.Additionally,if the overlay nodes/clusters have multiple overlay links between each other they are clustered together.This clustering approach ensures that nodes are clustered to have low latency between each other and a high degree of connectivity.The naming scheme used follows directly from the clustering scheme.A i-level cluster has a i-tuple for its name,e.g a3-level cluster has a x.y.z tuple as its name.The clustering scheme reduces the overhead of propagating reachability and addressing information.Local information is broadcast within the cluster only.Reachability between clusters is then provided by organizing the gateway nodes of each cluster into an overlay mesh.Routing on top of the overlay is another important consideration.The authors propose two routing schemes which aim to select paths with the best available band-width in addition to the traditional shortest paths.Finally,the authors posit the presence of an overlay service layer(OSL)above the transport layer at all overlay nodes which provides common functionalities like overlay routing,topology discov-ery,overlay link performance estimation,resource allocation etc to the application layer.Generally,QoS is a difficult application to provide without explicit ISP sup-port[Crowcroft et al.2003].OverQoS[Subramanian et al.2004]however provides a different perspective without such explicit support.In OverQoS,overlay nodes implement forward error correction(FEC)and automatic repeat request(ARQ) schemes to provide an upper bound on the loss experienced by traffic to provide a measure of QoS guarantees on top of overlay architectures.Figure4shows a tabular comparison between the different QoS approaches we have discussed in this section.ACM Journal Name,Vol.V,No.N,Month20YY.8·J.Kurian and K.Sarac Depends on overlayover which it isdeployed Hierarchial with nodes deployed globallyDepends on AS-level topology Depends on the overlay over which it isdeployedOverQoS QRON SONInter-connectedQoS provisionedlinks Forward Error Corrction and ARQ to provide delivery guarentees Bandwith provisioned links with QoS aware routingNA MSDP and PBSP required ?Underlay provisioningYes No YesTopology RoutingStrategy parison of various QoS overlays.2.3Improving the end-to-end performance and resiliency of Internet routingTo improve scalability and to hide local policies,ISPs traditionally heavily filter and aggregate their BGP route announcements to peers.As a direct result of this,when faults occur,BGP fault recovery and routing convergence can be exceedingly slow [Balakrishnan et al.1997;Labovitz et al.2000;Paxon 1997].Additionally,ISPs typically choose their inter-domain paths to suit local policy requirements,rather than choosing the path with best performance [Savage et al.1999].This results in Internet paths which suffer from low resiliency and ers are thus often provided with sub-optimal performance in end-to-end latency,packet loss rate and TCP throughput [Anderson et al.1999].The Detour [Anderson et al.1999]project identified some of the significant prob-lems mentioned above in the Internet.Their studies conducted via a framework of geographically distributed overlay nodes identified the presence of superior alter-nate paths in the Internet.In fact in 30-80%of the cases measured,the alternate path was significantly better than the default unicast route.To exploit this inher-ent path redundancy in the Internet,routing overlay networks have been proposed.A routing overlay can avoid slow BGP convergence by routing around the failure through its intermediate nodes.Through active probing between overlay nodes,overlay networks can also quickly detect and recover from failures in the network.Finally by routing through paths that provide the best end-to-end performance irrespective of ISP policies,overlay routing can provide better performance than network layer routing.This operation of routing overlays is shown in Figure 5.RON:RON [Andersen et al.2001]was the first large scale routing overlay imple-mentation and testbed dedicated to providing improved resiliency and performance ACM Journal Name,Vol.V,No.N,Month 20YY.Overlay Networks Survey·9Fig.5.Operation of Routing overlays.over default network level paths.The RON overlay consists of nodes deployed at various locations across the Internet,logically interconnected to form a full mesh. The RON overlay nodes are deployed by end users without any support from the ISPs for their operation(the P2P model).The main objectives of the RON overlay are tofind the best possible path to a destination and to provide resiliency and quick recovery in case the chosen path fails.RON nodes thus constantly probe each other to obtain topology and perfor-mance information.The collected information is then disseminated throughout the overlay network using a link-state protocol.To provide the best routes,the source RON node creates a forwarding table based on the collected information for one of three metrics,i)latency,ii)packet loss and iii)throughput.Failure resistance also depends on the probes.If a probe is lost,the low frequency probes are replaced by a succession of probes separated by a short interval.If the probes are not responded to after a certain threshold,the path is considered broken.Based on the active probes and intelligent path selection,RON nodes can gener-ally detect failures earlier,route around failures and improve the end-to-end perfor-mance of applications over traditional unicast.The RON architecture however has several shortcomings including its lack of scalability due to the full-mesh topology, high-frequency probing,uninformed selection of nodes,lack of topology awareness etc.Subsequent work on routing overlays have improved upon many aspects of mea-surement based overlay networks like RON.We will look at these in more detail in Section4.Akamai Sureroute:Akarouting or Sureroute[Akamai a]is an overlay based rout-ing service provided by Akamai.The Sureroute overlay is based on observations similar to the results obtained by Detour[Anderson et al.1999].An average gain of15-30%was observed when routing through an alternate path rather than the default path.Similar to RON,the Sureroute overlay consists of an overlay network which uses ping data to collect topology and performance information(called the Map Maker component)of its overlay nodes.The placement of overlay nodes isACM Journal Name,Vol.V,No.N,Month20YY.10·J.Kurian and K.SaracLink state basedreactive routingProbes detectfailures & gatherpath informationP2P model,end users provide nodes P2P model,end users providenodesperformanceResilency, improvedavailability and e2eResilient routing,improved e2eperformanceResilient routing,improved e2eperformanceFeedback basedproactive routinguses backup pathswhen primary fails.Detour RON MONET Sureroute P2P basedService provided Basic Startegy Deployment Failure resistance Improved e2eperformanceFind best routeto destinationvia measurementsbetween nodesNot specified Probes detectfailed paths, routingfinds new pathRON type overlaycombined withmultihomingSimilar to RON,multihoming addsresitanceRaces betweenpaths and pingdata to choose bestpathsThird party serviceproviderProbes to detectfailed paths, routearound failuresResilient routingUse inherentredundancy inP2P overlays to findalternate pathsNot specifiedNot specifiedparison of various routing overlays.topologically distributed which enables the overlay to have a large number of alter-nate paths.The best paths are chosen(by The Guide)using the concept of races between available paths.Periodically,simultaneous downloads(races)are employed through multiple paths and the winner is recorded as the path for the near future. Finally to provide the best last-hop performance,Sureroute is used in conjunction with Akamai EdgeSuite[Akamai b].Sureroute is a redirection technique which directs the user to the most optimal edge overlay node.Much of the Akamai technology is proprietary,so information about Akamai Sureroute is limited.While RON and Sureroute aim to utilize the implicit redun-dancy in the Internet through the multiple paths provided by overlay networks, there have also been proposals which seek to extend this redundancy explicitly. Next we will consider a couple of approaches which provide such explicit redun-dancy.MONET:MONET[Andersen et al.2005]proposes an overlay network similar to RON.However the authors seek to extend the inherent redundancy in the Internet with explicit redundancy in the form of multihoming.Multihoming is provided through multiple edge ISPs,contacting multiple server replicas,obtaining multiple paths in the overlay network and multiple DNS requests to mask DNS failures. Additionally to reduce the overhead imposed by path probing,MONET uses a selective path probing scheme.A path is probed only if it is likely that previous attempts have failed.The delay between probes is chosen based on the variance observed in RTT values.If a path shows a stable RTT over time,the path is less likely to be probed in the future.This ensures that the overhead produced in MONET by path probing is minimal,but it can serve path requests without too ACM Journal Name,Vol.V,No.N,Month20YY.。
如何阅读论文 How to read a paper
如何阅读论文∗作者:S.KeShav†,译者:计军平‡摘要学者们需花费大量时间阅读论文。
然而,很少有人传授这项技能,导致初学者浪费了大量时间精力。
本文提出了一种高效实用的论文阅读方法——“三轮阅读法”。
同时,本文也描述了如何采用该方法进行文献综述。
1概述学者们出于各种原因阅读论文,比如为了准备一场学术会议或者一堂课,为了紧跟自己所在领域的研究进展,或者为了了解新领域而进行的文献综述。
一般而言,一名学者每年会花数百小时来阅读论文。
高效阅读论文是一项极其重要但却很少被人传授的技能。
因此,初学者不得不在自己的摸索中学习这项技能。
结果是他们在此过程中浪费了很多精力,并且常常陷入深深的挫败感之中。
多年以来,我一直使用一种简单有效的方法来阅读论文。
本文对这种“三轮阅读法”进行了说明,并介绍了该方法在文献综述中的应用。
2三轮阅读法该方法的关键点在于分三轮阅读一篇论文,而非仔细地从头看到尾。
每一轮阅读都在上一轮的基础上达成特定的目的:第一轮了解论文的大意,第二轮了解论文的主要内容(而非细节),第三轮深入理解论文。
∗S.Keshav,2007.How to Read a Paper.ACM SIGCOMM Computer Communication Review, 37(3):83-84.†David R.Cherition School of Computer Science,University of Waterloo‡北京大学深圳研究生院环境与能源学院12三轮阅读法2 2.1第一轮阅读第一轮属于鸟瞰式阅读,快速浏览论文。
由此决定是否需要进入后两轮阅读。
这一轮使用5至10分钟,包括以下四个步骤:1.仔细阅读题目、摘要及导言;2.阅读章节标题,略过其他内容;3.阅读结论;4.粗略地看一下参考文献,识别出你已经读过的文献。
在第一轮的最后,你应该能回答以下五个问题:1.类别:这篇论文属于什么类别?是实证量化分析?还是对现有方法进行改进?亦或是提出了一个新的理论?2.背景:这篇论文与哪些论文有关联?分析的理论基础有哪些?3.正确性:凭经验判断,这篇论文的前提假设是否成立?4.贡献:这篇论文的主要贡献是什么?5.清晰度:这篇论文的文字表述是否清晰?基于上述信息,你可能决定不再阅读这篇文章。
kdd07
Correlation Search in Graph DatabasesYiping Ke keyiping@t.hkJames Chengcsjames@t.hkWilfred Ngwilfred@t.hkDepartment of Computer Science and Engineering The Hong Kong University of Science and T echnology Clear Water Bay,Kowloon,Hong KongABSTRACTCorrelation mining has gained great success in many ap-plication domains for its ability to capture the underlying dependency between objects.However,the research of cor-relation mining from graph databases is still lacking despite the fact that graph data,especially in various scientific do-mains,proliferate in recent years.In this paper,we propose a new problem of correlation mining from graph databases, called Correlated Graph Search(CGS).CGS adopts Pear-son’s correlation coefficient as a correlation measure to take into consideration the occurrence distributions of graphs. However,the problem poses significant challenges,since ev-ery subgraph of a graph in the database is a candidate but the number of subgraphs is exponential.We derive two nec-essary conditions which set bounds on the occurrence prob-ability of a candidate in the database.With this result,we design an efficient algorithm that operates on a much smaller projected database and thus we are able to obtain a signif-icantly smaller set of candidates.To further improve the efficiency,we develop three heuristic rules and apply them on the candidate set to further reduce the search space.Our extensive experiments demonstrate the effectiveness of our method on candidate reduction.The results also justify the efficiency of our algorithm in mining correlations from large real and synthetic datasets.Categories and Subject Descriptors:H.2.8[Database Management]:Database Applications-Data Mining General Terms:AlgorithmsKeywords:Correlation,Graph Databases,Pearson’s Cor-relation Coefficient1.INTRODUCTIONCorrelation mining is recognized as one of the most impor-tant data mining tasks for its capability of identifying the underlying dependency between objects.It has a wide range of application domains and has been studied extensively on market-basket databases[5,13,15,24,23,29],quantita-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 thefirst page.To copy otherwise,to republish,to post on servers or to redistribute to lists,requires prior specific permission and/or a fee.KDD’07,August12–15,2007,San Jose,California,USA. Copyright2007ACM978-1-59593-609-7/07/0008...$5.00.tive databases[11],multimedia databases[16],data streams [20],and many more.However,little attention has been paid to mining correlations from graph databases,in spite of the popularity of graph data model pertaining to various domains,such as biology[4,10],chemistry[2],social science [3],the Web[17]and XML[1].In this paper,we study a new problem of mining cor-relations from graph databases.We propose to use Pear-son’s correlation coefficient[21]to measure the correlation between a query graph and an answer graph.We formu-late this mining problem,named Correlated Graph Search (CGS),as follows.Given a graph database D that consists of N graphs,a query graph q and a minimum correlation thresholdθ,the problem of CGS is tofind all graphs whose Pearson’s correlation coefficient wrt q is no less thanθ. Pearson’s correlation coefficient is shown to be one of the most desirable correlation measures in[21]for its ability to capture the departure of two variables from independence. It has been widely used to describe the strength of correla-tion among boolean variables in transaction databases[21, 23,29].This motivates us to apply the measure in the con-text of graph databases.However,graph mining is a much harder problem due to the high complexity of graph oper-ations(e.g.,subgraph isomorphism testing is NP-complete [7]).The difficulty of the problem is further compounded by the fact that the search space of CGS is often large,since a graph consists of exponentially many subgraphs and each subgraph of a graph in D can be a candidate graph.Thus, it poses great challenges to tackle the problem of CGS. How can we reduce the large search space of CGS and avoid as many expensive graph operations as possible?We investigate the property of Pearson’s correlation coefficient and derive two necessary conditions for the correlation con-dition to be satisfied.More specifically,we derive the lower bound and upper bound of the occurrence probability(also called support),supp(g),of a candidate graph g.This ef-fectively reduces the search space to be the set of Frequent subGraphs(FGs)[12]in D with the support values between the lower and upper bounds of supp(g).However,mining FGs from D is still expensive when the lower bound of supp(g)is low or D is large.Moreover,we still have a large number of candidates and the solution is not scalable.Thus,we need to further reduce the number of candidates as well as address the scalability problem.Our solution to this problem is as follows.Let D q be the projected database of D on q,which is the set of all graphs in D that are supergraphs of q.We prove that,the set of FGs mined from D q using lowerbound(supp(g))supp(q)as the minimum support threshold is complete wrt the an-swer set.Since D q is in general much smaller than D whilelowerbound(supp(g))supp(q)is greater than lowerbound(supp(g)),ourfinding not only saves the computational cost for generating the candidate set,but also significantly reduces the number of candidates.Furthermore,we develop three heuristic rules to be applied on the candidate set to identify the graphs that are guaranteed to be in the answer set,as well as to prune the graphs that are guaranteed to be false positives.In addition to the formulation of the new CGS problem and its efficient solution,the significance of our work also lies in its close connection to graph similarity search,which is an important research area of graph querying.There are two types of similarity:structural similarity(i.e.,two graphs are similar in structure)and statistical similarity(i.e.,the occurrence distributions of two graphs are similar). Existing work[8,18,27,22]mainly focuses on struc-tural similarity search.However,in many applications,two graphs that are structurally dissimilar but always appear to-gether in a graph in D may be more interesting.For exam-ple,in chemistry,isomers refer to molecules with the same chemical formula and similar structures.The chemical prop-erties of isomers can be quite different due to different posi-tions of atoms and functional groups.Consider the case that the chemist needs tofind some molecule that shares similar chemical properties of a given molecule.Structural similar-ity search is not relevant,since it mostly returns isomers of the given molecule that have similar structures but different chemical properties,which is undesirable.On the contrary, CGS is able to obtain the molecules that share similar chem-ical properties but may or may not have similar structures to the given molecule.Therefore,our proposed CGS solves an orthogonal problem of structural similarity search.Our extensive experiments on both real and synthetic datasets show that our algorithm,called CGSearch,achieves short response time for various queries with relatively small memory pared with the approach whose candidate set is generated from the whole database with a support range,CGSearch is orders of magnitude faster and consumes up to41times less memory.The effectiveness of the candidate generation from the projected database and three heuristic rules is also demonstrated. Contributions.The specific contributions of the paper are stated as follows.•We formulate the new problem of correlation search in graph databases,which takes into account the occur-rence distributions of graphs using Pearson’s correla-tion coefficient.•We derive theoretical bounds for the support of a can-didate graph,which reduces the search space consid-erably.•We propose to generate the candidate set by mining FGs from the projected database of the query graph.Three heuristic rules are developed to further reduce the size of the candidate set.•We present an efficient algorithm to solve the problem of CGS.We also prove the soundness and completeness of the query results returned by the algorithm.•A comprehensive set of experiments is conducted to verify the efficiency of the algorithm,and the effec-tiveness of the candidate generation and the heuristicrules.Organization.We give preliminaries in Section2.We de-fine the CGS problem in Section3.We propose the effectivecandidate generation from a projected database in Section4.We present the algorithm,as well as the three heuristicrules,in Section5.Then,we analyze the performance studyin Section6.Finally,we discuss related work in Section7and conclude our paper in Section8.2.PRELIMINARIESIn this paper,we restrict our discussion on undirected,la-belled connected graphs(or simply graphs hereinafter),sincemost of the interesting graphs in practice are connectedgraphs;while our method can be easily extended to processdirected and unlabelled graphs.A graph g is defined as a4-tuple(V,E,L,l),where V isthe set of vertices,E is the set of edges,L is the set oflabels and l is a labelling function that maps each vertexor edge to a label in L.We define the size of a graph g assize(g)=|E(g)|.Given two graphs,g=(V,E,L,l)and g′=(V′,E′,L′,l′), a subgraph isomorphism from g to g′is an injective func-tion f:V→V′,such that∀(u,v)∈E,(f(u),f(v))∈E′, l(u)=l′(f(u)),l(v)=l′(f(v)),and l(u,v)=l′(f(u),f(v)). The subgraph isomorphism testing is known to be an NP-complete problem[7].A graph g is called a subgraph of another graph g′(or g′is a supergraph of g),denoted as g⊆g′(or g′⊇g),if there exists a subgraph isomorphism from g to g′.Let D={g1,g2,...,gN}be a graph database that consists of N graphs.Given D and a graph g,we denote the set ofall graphs in D that are supergraphs of g as D g={g′:g′∈D,g′⊇g}.We call D g the projected database of D on g.The frequency of g in D,denoted as freq(g;D),is defined as|D g|. The support of g in D,denoted as supp(g;D),is defined as freq(g;D)|D|.A graph g is called a Frequent subGraph(FG)[9, 12,25]in D if supp(g;D)≥σ,whereσ(0≤σ≤1)is a user-specified minimum support threshold.For simplicity,we use freq(g)and supp(g)to denote the frequency and support of g in D when there is no confusion.Given two graphs,g1and g2,we define the joint frequency,denoted as freq(g1,g2),as the number of graphs in D that are supergraphs of both g1 and g2,i.e.,freq(g1,g2)=|D g1∩D g2|.Similarly,we define the joint support of g1and g2as supp(g1,g2)=freq(g1,g2)|D|. The support measure is anti-monotone,i.e.,if g1⊆g2, then supp(g1)≥supp(g2).Moreover,by the definition of joint support,we have the following property:supp(g1,g2)≤supp(g1)and supp(g1,g2)≤supp(g2).Example1.Figure1shows a graph database,D,that consists of10graphs,g1,...,g10.For clarity of presentation, all the nodes are of the same label(not shown in thefigure); while the characters a,b and c represent distinct edge labels. The graph g8is a subgraph of g2.The projected database of g8,i.e.,D g8,is{g2,g3,g6,g7,g8}.The frequency of g8 is computed as freq(g8)=|D g8|=5.The support of g8 is supp(g8)=freq(g8)|D|=0.5.As for g9,we have D g9= {g6,g7,g9}.The joint frequency of g8and g9is computedas freq(g8,g9)=|D g8∩D g9|=|{g6,g7}|=2.The joint support of g8and g9is supp(g8,g9)=freq(g8,g9)|D|=0.2.(g 1 )(g 2 ) b abc c acb (g 3 ) a bc ac(g 4 ) aa b (g 5 ) bb(g 6 )a ac c (g 7 )acc a c (g 8 )cc(g 9 )a ac (g 10 ) a aa Figure 1:A Graph Database,D3.PROBLEM DEFINITIONWe first define Pearson’s correlation coefficient [19]for two given graphs.Pearson’s correlation coefficient for boolean variables is also known as “φcorrelation coefficient ”[28].Definition 1.(Pearson’s Correlation Coefficient )Given two graphs g 1and g 2,the Pearson’s Correlation Co-efficient of g 1and g 2,denoted as φ(g 1,g 2),is defined as fol-lows:φ(g 1,g 2)=supp (g 1,g 2)−supp (g 1)supp (g 2)supp (g 1)supp (g 2)(1−supp (g 1))(1−supp (g 2)).When supp (g 1)or supp (g 2)is equal to 0or 1,φ(g 1,g 2)isdefined to be 0.The range of φ(g 1,g 2)falls within [−1,1].If φ(g 1,g 2)is positive,then g 1and g 2are positively correlated;otherwise,g 1and g 2are negatively correlated.In this paper,we focus on positively correlated graphs defined as follows.Definition 2.(Correlated Graphs )Two graphs g 1and g 2are correlated if and only if φ(g 1,g 2)≥θ,where θ(0<θ≤1)is a user-specified minimum correlation thresh-old .We now define the correlation mining problem in graph databases as follows.Definition 3.(Correlated Graph Search )Given a graph database D ,a correlation query graph q and a min-imum correlation threshold θ,the problem of Correlated Graph Search (CGS)is to find the set of all graphs that are correlated with q .The answer set of the CGS problem is defined as A q ={(g,D g ):φ(q,g )≥θ}.For each correlated graph g of q ,we include D g in the answer set in order to indicate the distribution of g in D .We also define the set of correlated graphs in the answer set as the base of the answer set,denoted as base (A q )={g :(g,D g )∈A q }.In the subsequent discussions,a correlation query graph is simply called a query .Table 1gives the notations used throughout the paper.Table 1:Notations Used ThroughoutNotationDescription D a graph database q a query graphθa minimum correlation threshold,0<θ≤1φ(q,g )Pearson’s correlation coefficient of q and g A qthe answer set of qbase (A q )the base of the answer setD gthe projected database of D on graph g freq (g ),supp (g )the frequency/support of g in Dfreq (q,g ),supp (q,g )the joint frequency/support of q and g in D freq (g ;D q ),supp (g ;D q )the frequency/support of g in D qfreq (q,g ;D q ),supp (q,g ;D q )the joint frequency/support of q and g in D q lower (g ),upper (g )the lower/upper bound of supp (g )lower (q,g ),upper (q,g )the lower/upper bound of supp (q,g )4.CANDIDATE GENERATIONA crucial step for solving the problem of CGS is to ob-tain the set of candidate graphs.Obviously,it is infeasible to test all subgraphs of the graphs in D because there are exponentially many subgraphs.In this section,we discuss how to effectively select a small set of candidates for a given query.4.1Support Bounds of Correlated GraphsWe begin by investigating the bounds on the support of a candidate graph,g ,with respect to the support of a query q .We state and prove the bounds in Lemma 1.Lemma 1.If q and g are correlated,then the following bounds of supp (g )hold:supp (q )θ−2(1−supp (q ))+supp (q )≤supp (g )≤supp (q )θ2(1−supp (q ))+supp (q ).Proof.By the definition of the joint support,we have supp (q,g )≤supp (g )and supp (q,g )≤supp (q ).Since q and g are correlated,φ(q,g )≥θ.By replacing supp (q,g )with supp (g )in φ(q,g ),we have:supp (g )−supp (q )supp (g )supp (q )supp (g )(1−supp (q ))(1−supp (g ))≥θ⇒supp (g )≥supp (q )θ−2(1−supp (q ))+supp (q ).Similarly,by replacing supp (q,g )with supp (q )in φ(q,g ),we obtain the upper bound:supp (g )≤supp (q )θ2(1−supp (q ))+supp (q ).For simplicity,we use lower (g )and upper (g )to denote the respective lower and upper bounds of supp (g )with respect to q ,as given in Lemma 1.The above lemma states a nec-essary condition for a correlated answer graph.Thus,a candidate graph should have support within the range of [lower (g ),upper (g )].With the result of Lemma 1,we can obtain the candi-date set by mining the set of FGs from D using lower (g )as the minimum support threshold and upper (g )as the max-imum support threshold.However,according to the anti-monotone property of the support measure,the graphs withhigher support are always generated before those with lower support,no matter adopting a breadth-first or a depth-first strategy.As a result,the maximum threshold upper(g)is not able to speed up the mining process.Therefore,generat-ing the candidates by mining the FGs from D with a support range is still not efficient enough,especially when lower(g) is small or D is large.This motivates us to devise a more efficient and effective approach to generate the candidates.4.2Candidate Generation From a ProjectedDatabaseFrom Definition1,it follows that ifφ>0,then supp(q,g)> 0.This means that q and g must appear together in at least one graph in D.This also implies that∀g∈base(A q),g appears in at least one graph in the projected database of q,D q.Since D q is in general much smaller than D,this gives rise to the following natural question:can we mine the candidate set more efficiently from D q instead of D?The challenge is that,however,we need to determine a minimum support threshold that can be used to mine the FGs from D q,so that no correlated answer graph is missed. Obviously,we cannot use a trivial threshold since it is too expensive.In this subsection,we derive a minimum support threshold which enables us to efficiently compute the can-didates from D q.Our solution is inspired by the following important observation as stated in Lemma2.Lemma 2.Given a graph g,supp(g;D q)=supp(q,g;D q)= supp(q,g)supp(q).Proof.By the definition of the projected database,every graph in D q must contain q.Therefore,every graph in D q that contains g must also contain q.Thus,supp(g;D q)= supp(q,g;D q)holds.Since the number of graphs contain-ing both q and g in D is the same as that in D q,that is,freq(q,g)=freq(q,g;D q),we have supp(q,g)supp(q)=freq(q,g)/|D|freq(q)/|D|=freq(q,g;D q)|D q|=supp(q,g;D q).Lemma2states that the support of a graph g in D q is the same as the joint support of q and g in D q.This prompts us to derive the lower bound and upper bound for supp(q,g;D q),given that g is correlated with q.Then,we can use the bounds as the minimum and maximum support thresholds to compute the candidates from D q.Since supp(q,g;D q)=supp(q,g)supp(q)by Lemma2,we try to derive the bounds for supp(q,g).First,by the definition of the joint support,we obtain the upper bound of supp(q,g)as follows:supp(q,g)≤supp(q).(1) Then,we construct a lower bound for supp(q,g)from Defi-nition1.Givenφ(q,g)≥θ,we have the following inequality:supp(q,g)≥f(supp(g)),(2) wheref(supp(g))=θsupp(q)supp(g)(1−supp(q))(1−supp(g))+supp(q)supp(g).The lower bound of supp(q,g)stated in Inequality(2)can-not be directly used,since it is a function of supp(g),where g is exactly what we try to get using supp(q,g).However,since we have obtained the range of supp(g),i.e.,[lower(g),upper(g)]as stated in Lemma1,we now show that this range can be used in Inequality(2)to obtain the lower bound of supp(q,g). By investigating the property of the function f,wefind that,f is monotonically increasing with supp(g)in the range of[lower(g),upper(g)].Therefore,by substituting supp(g) with lower(g)in Inequality(2),we obtain the lower bound of supp(q,g).We state and prove the bounds of supp(q,g) in the following lemma.Lemma 3.If q and g are correlated,then the following bounds of supp(q,g)hold:supp(q)θ−2(1−supp(q))+supp(q)≤supp(q,g)≤supp(q).Proof.The upper bound follows by the definition of the joint support.To show that the lower bound holds,we need to prove that the function f is monotonically increasing within the bounds of supp(g)given in Lemma1.This can be done by applying differentiation to f with respect to supp(g)as follows:f′(supp(g))=θ·supp(q)(1−supp(q))(1−2·supp(g))2supp(q)supp(g)(1−supp(q))(1−supp(g))+supp(q).Thus,we need to prove that within[lower(g),upper(g)], f′(supp(g))≥0or equivalently the following inequality:1−2·supp(g)supp(g)(1−supp(g))≥−2θsupp(q)1−supp(q).(3)First,if supp(g)≤upper(g)≤0.5,then(1−2·supp(g))≥0and hence f′(supp(g))≥0.Now we consider the case when upper(g)≥supp(g)>0.5. Since the left hand side of Inequality(3)is less than0,we take square on both sides of Inequality(3)and obtain:(1−2·supp(g))2supp(g)(1−supp(g))≤4·supp(q)θ2(1−supp(q))⇔a·(supp(g))2−a·supp(g)+θ2(1−supp(q))≤0,(4) where a=4θ2(1−supp(q))+4supp(q).The left hand side of Inequality(4)is a quadratic func-tion,which is monotonically increasing within the range of[0.5,∞].Since0.5<supp(g)≤upper(g),we replace supp(g)with upper(g)in this quadratic function:a·(upper(g))2−a·upper(g)+θ2(1−supp(q))=θ2(1−supp(q))(−4·upper(g)+1)<θ2(1−supp(q))(−4×0.5+1)(Since upper(g)>0.5) <0.Therefore,when0.5<supp(g)≤upper(g),Inequality(4) holds and hence f′(supp(g))≥0.Thus,f is monotonically increasing within the range of [lower(g),upper(g)].By substituting supp(g)with lower(g) in Inequality(2),the lower bound of supp(q,g)thus follows: supp(q,g)≥f(supp(g))≥f(supp(q)θ−2(1−supp(q))+supp(q))=supp(q)θ−2(1−supp(q))+supp(q).We use lower (q,g )and upper (q,g )to denote the lower and upper bounds of supp (q,g )with respect to q ,as given in Lemma 3.With the results of Lemmas 2and 3,we propose to gener-ate the candidates by mining FGs from D q using lower (q,g )supp (q )as the minimum support threshold.A generated candidate set,C ,is said to be complete with respect to q ,if ∀g ∈base (A q ),g ∈C .We establish the result of completeness by the fol-lowing theorem.Theorem 1.Let C be the set of FGs mined from D q withthe minimum support threshold of lower (q,g )supp (q ).Then,C is com-plete with respect to q .Proof.Let g ∈base (A q ).Since φ(q,g )≥θ,it follows that lower (q,g )≤supp (q,g )≤upper (q,g )by Lemma 3.By dividing the inequality by supp (q )on all the expressions,we have lower(q,g )supp (q )≤supp (q,g )supp (q )≤1.By Lemma 2,we have lower (q,g )supp (q )≤supp (g ;D q )≤1.The result g ∈C follows,sinceC is the set of FGs mined fromD q using lower (q,g )supp (q )as theminimum support threshold.The result of Theorem 1is significant,since it implies that we are now able to mine the set of candidate graphs from a much smaller projected database D q (compared with D )with a greater minimum support threshold lower(q,g )supp (q )(com-pared with lower (g )which is equal to lower (q,g ),as shown in Lemmas 1and 3).5.CORRELATED GRAPH SEARCHIn this section,we present our solution to the CGS prob-lem.The framework of the solution consists of the following four steps.1.Obtain the projected database D q of q .2.Mine the set of candidate graphs C from D q ,using lower (q,g )supp (q )as the minimum support threshold.3.Refine C by three heuristic rules.4.For each candidate graph g ∈C ,(a)Obtain D g .(b)Add (g,D g )to A q if φ(q,g )≥θ.Step 1obtains the projected database of q .This step canbe efficiently performed using any existing graph indexing technique [26,6]that can be used to obtain the projected database of a given graph.Step 2mines the set of FGs from D q using some existing FG mining algorithm [12,25,14].The minimum support threshold is determined by Theorem 1.The set of FGs forms the candidate set,C .For each graph g ∈C ,the set of graphs in D q that contain g is also obtained by the FG mining process.In Step 3,three heuristic rules are applied on C to further prune the graphs that are guaranteed to be false positives,as well as to identify the graphs that are guaranteed to be in the answer set.Finally,for each remaining graph g in C ,Step 4(a)obtains D g using the same indexing technique as in Step 1.Then Step 4(b)checks the correlation condition of g with respectto q to produce the answer set.Note that,the joint sup-port of q and g ,which is needed for computing φ(q,g ),is computed as (supp (g ;D q )·supp (q ))by Lemma 2.In the remainder of this section,we present three heuristic rules and our algorithm,CGSearch ,to solve the problem of CGS.5.1Heuristic RulesTo check whether each graph g in C is correlated with q ,a query operation to obtain D g is needed for each candidate (Step 4(a)).The step can be expensive if the candidate set is large.Thus,we develop three heuristic rules to further refine the candidate set.First,if we are able to identify the graphs that are guar-anteed to be correlated with q before processing Step 4,we can save the cost of verifying the result.We achieve this goal by Heuristic 1.Heuristic 1.Given a graph g ,if g ∈C and g ⊇q ,then g ∈base (A q ).Proof.Since g ⊇q ,we have supp (q,g )=supp (g ).More-over,since g ∈C ,we have supp (g,q ;D q )≥lower(q,g )supp (q ).By Lemma 2,we further have supp (q,g )≥lower (q,g ).By replacing supp (q,g )with supp (g )in φ(q,g ),we haveφ(q,g )=1−supp (q )supp (q )·supp (g )1−supp (g )Now,φis monotonically increasing with supp (g ),and supp (g )=supp (q,g )≥lower (q,g ).We replace supp (g )with its lower bound of lower (q,g )=supp (q )θ−2(1−supp(q ))+supp (q )in φ(q,g ).Then,we have the following:φ(q,g )≥1−supp (q )supp (q )·θ2supp (q )1−supp (q )≥θ.Therefore,g ∈base (A q ).Based on Heuristic 1,if we find that a graph g in the candidate set is a supergraph of q ,we can add (g,D g )into the answer set without checking the correlation condition.In addition,since g is a supergraph of q ,D g can be obtained when g is mined from the projected database D q .We next seek to save the cost of unrewarding query opera-tions by pruning those candidate graphs that are guaranteed to be uncorrelated with q .For this purpose,we develop the following two heuristic rules.Before introducing Heuristic 2,we establish the following lemma,which describes a useful property of the function φ.Lemma 4.If both supp (q )and supp (q,g )are fixed,then φ(q,g )is monotonically decreasing with supp (g ).Proof.Since both supp (q )and supp (q,g )are fixed,we first simplify φfor clarity of presentation.Let x =supp (g ),a =supp (q,g ),b =supp (q ),and c =supp (q )(1−supp (q )).Then we haveφ(x )=a −b ·xc ·x (1−x ).The derivative of φat x is given as follows:φ′(x )=1√c ·(2a −b )x −a 2x (1−x )x (1−x ).Since0≤x≤1,we have x(1−x)≥0.Thus,the sign of φ′(x)depends on the sign of((2a−b)x−a).Since((2a−b)x−a)is a linear function,we can derive its extreme values by replacing0and1of x into the function.The two extreme values of((2a−b)x−a)are(−a)and(a−b),both of which are non-positive,since a≥0and a≤b.Therefore,we have ((2a−b)x−a)≤0andφ′(x)≤0.It follows thatφ(q,g)is monotonically decreasing with supp(g).Heuristic 2.Given two graphs g1and g2,where g1⊇g2 and supp(g1,q)=supp(g2,q),if g1/∈base(A q),then g2/∈base(A q).Proof.Since g1⊇g2,we have supp(g1)≤supp(g2). Since supp(g1,q)=supp(g2,q)and supp(q)isfixed,by Lemma 4,we haveφ(q,g1)≥φ(q,g2).Since g1/∈base(A q),we have φ(q,g1)≤θ.Therefore,φ(q,g2)≤φ(q,g1)≤θ.Thus,we have g2/∈base(A q).By Lemma2,if supp(g1,q)=supp(g2,q),then we have supp(g1;D q)=supp(g2;D q).Thus,Heuristic2can be ap-plied as follows:if wefind that a graph g is uncorrelated with q,we can prune all the subgraphs of g that have the same support as g in D q.We now use the function f again to present the third heuristic:f(supp(g1))=θsupp(q)(1−supp(q))supp(g1)(1−supp(g1)) +supp(q)supp(g1).Heuristic 3.Given two graphs g1and g2,where g1⊇g2, if supp(g2,q)<f(supp(g1)),then g2/∈base(A q). Proof.Since g1⊇g2,we have supp(g1)≤supp(g2).By Lemma1,the necessary condition forφ(q,g2)≥θis that, supp(g2)should fall within the range[lower(g2),upper(g2)]. As shown in the proof of Lemma3,the function f is mono-tonically increasing within the range[lower(g2),upper(g2)]. Therefore,we have supp(g2,q)<f(supp(g1))≤f(supp(g2)). By replacing supp(g2,q)with f(supp(g2))inφ(q,g2),we have the following derivations:φ(q,g2)<f(supp(g2))−supp(q)supp(g2)supp(q)supp(g2)(1−supp(q))(1−supp(g2))=θsupp(q)supp(g2)(1−supp(q))(1−supp(g2)) supp(q)supp(g2)(1−supp(q))(1−supp(g2))=θ.Therefore,we have g2/∈base(A q).Note that,supp(g2,q)<f(supp(g1))also implies g1/∈base(A q).This is because g1⊇g2implies supp(g1,q)≤supp(g2,q).Therefore,we have supp(g1,q)<f(supp(g1)). Similarly,by replacing supp(g1,q)with f(supp(g1))inφ(q,g1), we can haveφ(q,g1)<θand thus g1/∈base(A q).By Lemma2,we have supp(g2,q)=supp(g2;D q)·supp(q). Thus,if supp(g2,q)<f(supp(g1)),then supp(g2;D q)<f(supp(g1)) supp(q).Thus,Heuristic3can be applied as follows:ifwefind that a graph g is uncorrelated with q,we can prune all the subgraphs of g that have support values less than f(supp(g))supp(q)in D q.5.2CGSearch AlgorithmNow,we present the CGSearch algorithm.As shown in Algorithm1,after we obtain the candidate set C from the projected database D q(Lines1-2),we process each candi-date graph in C according to the descending order of the graph sizes.Then,Lines4-5applies Heuristic1to include the supergraphs of q∈C directly into the answer set with-out performing the query operation(as in Line7).For other graphs in C,if they are verified to be correlated with q,we in-clude them in the answer set(Lines8-9);otherwise,Heuris-tic2(Lines11-12)and Heuristic3(Lines13-14)are appliedto further reduce the search space so that the unrewarding query costs for false-positives are saved.Algorithm1CGSearchInput:A graph database D,a query graph q,and a corre-lation thresholdθ.Output:The answer set A q.1.Obtain D q;2.Mine FGs from D q using lower(q,g)supp(q)as the minimum support threshold and add the FGs to C;3.for each graph g∈C in size-descending order do4.if(g⊇q)5.Add(g,D g)to A q;6.else7.Obtain D g;8.if(φ(q,g)≥θ)9.Add(g,D g)to A q;10.else11.H2←{g′∈C:g′⊆g,supp(g′;D q)=supp(g;D q)};12.C←C−H2;13.H3←{g′∈C:g′⊆g,supp(g′;D q)<f(supp(g))supp(q)};14.C←C−H3;We now prove the soundness and completeness of the re-sult returned by CGSearch algorithm.In other words,we prove that CGSearch is able to precisely return A q with respect to a given q.Theorem 2.The answer set,A q,returned by Algorithm 1,is sound and complete with respect to q.Proof.Wefirst prove the soundness.∀(g,D g)∈A q, (g,D g)is added to A q in either Line5or Line9.For the case of Line5,we have proved in Heuristic1that g is cor-related with q;while for the case of Line9,the soundness is guaranteed in Line8.Thus,the soundness of A q follows.It remains to show the completeness.By Theorem1,the candidate set,C,produced in Line2of Algorithm1is com-plete.∀g∈C,if g is not included in A q,thenφ(q,g)is checked to be less thanθ(Line10)or g is pruned by Heuris-tics2or3(Lines11-14).For all cases,g is proved to be uncorrelated with q and thus is not in A q.Therefore,the completeness of A q follows.Example2.Consider the graph database in Figure1 and the query q in Figure2(a).Letθ=0.6.CGSearch (Line1)first obtains D q={g1,g2,g3,g4}.Thus,we have supp(q)=0.4and lower(q,g)=0.19.Then,CGSearch (Line2)mines FGs from D q using0.190.4=0.475as the min-imum support threshold and obtains9candidates,which are shown in Figure2(b).The number following“:”in the figure is the support of each candidate in D q.Since the candidates are sorted in descending order of their size,CGSearchfirst processes c1.Since c1is a super-。
factorization_machines_with_libFM
Recently, factorization models have attracted a lot of research in the fields of intelligent information systems and machine learning. They have shown excellent prediction capabilities in several important applications, for example, recommender systems. The most well studied factorization model is matrix factorization [Srebro and Jaakkola 2003], which allows us to predict the relation between two categorical variables. Tensor factorization models are an extension for relations over several categorical variables; among the proposed tensor factorization approaches are Tucker Decomposition [Tucker 1966], Parallel Factor Analysis [Harshman 1970], or Pairwise Interaction Tensor factorization [Rendle and Schmidt-Thieme 2010]. For specific tasks, specialized factorization models have been proposed that take noncategorical variables into account, for example, SVD++ [Koren 2008], STE [Ma et al. 2011], FPMC
毕业设计——关于传感器的英语参考文献
DiMo:Distributed Node Monitoring in WirelessSensor NetworksAndreas Meier†,Mehul Motani∗,Hu Siquan∗,and Simon Künzli‡†Computer Engineering and Networks Lab,ETH Zurich,Switzerland∗Electrical&Computer Engineering,National University of Singapore,Singapore‡Siemens Building T echnologies,Zug,SwitzerlandABSTRACTSafety-critical wireless sensor networks,such as a distributed fire-or burglar-alarm system,require that all sensor nodes are up and functional.If an event is triggered on a node, this information must be forwarded immediately to the sink, without setting up a route on demand or having tofind an alternate route in case of a node or link failure.Therefore, failures of nodes must be known at all times and in case of a detected failure,an immediate notification must be sent to the network operator.There is usually a bounded time limit,e.g.,five minutes,for the system to report network or node failure.This paper presents DiMo,a distributed and scalable solution for monitoring the nodes and the topology, along with a redundant topology for increased robustness. Compared to existing solutions,which traditionally assume a continuous data-flow from all nodes in the network,DiMo observes the nodes and the topology locally.DiMo only reports to the sink if a node is potentially failed,which greatly reduces the message overhead and energy consump-tion.DiMo timely reports failed nodes and minimizes the false-positive rate and energy consumption compared with other prominent solutions for node monitoring.Categories and Subject DescriptorsC.2.2[Network Protocols]:Wireless Sensor NetworkGeneral TermsAlgorithms,Design,Reliability,PerformanceKeywordsLow power,Node monitoring,Topology monitoring,WSN 1.INTRODUCTIONDriven by recent advances in low power platforms and protocols,wireless sensor networks are being deployed to-day to monitor the environment from wildlife habitats[1] 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 thefirst page.To copy otherwise,to republish,to post on servers or to redistribute to lists,requires prior specific permission and/or a fee.MSWiM’08,October27–31,2008,Vancouver,BC,Canada.Copyright2008ACM978-1-60558-235-1/08/10...$5.00.to mission-criticalfire-alarm systems[5].There are,how-ever,still some obstacles in the way for mass application of wireless sensor networks.One of the key challenges is the management of the wireless sensor network itself.With-out a practical management system,WSN maintenance will be very difficult for network administrators.Furthermore, without a solid management plan,WSNs are not likely to be accepted by industrial users.One of the key points in the management of a WSN is the health status monitoring of the network itself.Node failures should be captured by the system and reported to adminis-trators within a given delay constraint.Due to the resource constraints of WSN nodes,traditional network management protocols such as SNMP adopted by TCP/IP networks are not suitable for sensor networks.In this paper,we con-sider a light-weight network management approach tailored specifically for WSNs and their unique constraints. Currently,WSN deployments can be categorized by their application scenario:data-gathering applications and event-detection applications.For data-gathering systems,health status monitoring is quite straight forward.Monitoring in-formation can be forwarded to the sink by specific health status packets or embedded in the regular data packets.Ad-ministrators can usually diagnose the network with a helper program.NUCLEUS[6]is one of the network management systems for data-gathering application of WSN.Since event-detection deployments do not have regular traffic to send to the sink,the solutions for data-gathering deployments are not suitable.In this case,health status monitoring can be quite challenging and has not been discussed explicitly in the literature.In an event-detection WSN,there is no periodic data trans-fer,i.e.,nodes maintain radio silence until there is an event to report.While this is energy efficient,it does mean that there is no possibility for the sink to decide whether the net-work is still up and running(and waiting for an event to be detected)or if some nodes in the network have failed and are therefore silent.Furthermore,for certain military ap-plications or safety-critical systems,the specifications may include a hard time constraint for accomplishing the node health status monitoring task.In an event-detection WSN,the system maintains a net-work topology that allows for forwarding of data to a sink in the case of an event.Even though there is no regular data transfer in the network,the network should always be ready to forward a message to the sink immediately when-ever necessary.It is this urgency of data forwarding that makes it undesirable to set up a routing table and neighborlist after the event has been detected.The lack of regular data transfer in the network also leads to difficulty in de-tecting bad quality links,making it challenging to establish and maintain a stable robust network topology.While we have mentioned event-detection WSNs in gen-eral,we accentuate that the distributed node monitoring problem we are considering is inspired by a real-world ap-plication:a distributed indoor wireless alarm system which includes a sensor for detection of a specific alarm such as fire(as studied in[5]).To illustrate the reporting require-ments of such a system,we point out that regulatory speci-fications require afire to be reported to the control station within10seconds and a node failure to be reported within 5minutes[9].This highlights the importance of the node-monitoring problem.In this paper,we present a solution for distributed node monitoring called DiMo,which consists of two functions: (i)Network topology maintenance,introduced in Section2, and(ii)Node health status monitoring,introduced in Sec-tion3.We compare DiMo to existing state-of-the-art node monitoring solutions and evaluate DiMo via simulations in Section4.1.1Design GoalsDiMo is developed based on the following design goals:•In safety critical event monitoring systems,the statusof the nodes needs to be monitored continuously,allow-ing the detection and reporting of a failed node withina certain failure detection time T D,e.g.,T D=5min.•If a node is reported failed,a costly on-site inspectionis required.This makes it of paramount interest todecrease the false-positive rate,i.e.,wrongly assuminga node to have failed.•In the case of an event,the latency in forwarding theinformation to the sink is crucial,leaving no time toset up a route on demand.We require the system tomaintain a topology at all times.In order to be robustagainst possible link failures,the topology needs toprovide redundancy.•To increase efficiency and minimize energy consump-tion,the two tasks of topology maintenance(in par-ticular monitoring of the links)and node monitoringshould be combined.•Maximizing lifetime of the network does not necessar-ily translate to minimizing the average energy con-sumption in the network,but rather minimizing theenergy consumption of the node with the maximal loadin the network.In particular,the monitoring shouldnot significantly increase the load towards the sink.•We assume that the event detection WSN has no reg-ular data traffic,with possibly no messages for days,weeks or even months.Hence we do not attempt to op-timize routing or load balancing for regular data.Wealso note that approaches like estimating links’perfor-mance based on the ongoing dataflow are not possibleand do not take them into account.•Wireless communications in sensor networks(especially indoor deployments)is known for its erratic behav-ior[2,8],likely due to multi-path fading.We assumesuch an environment with unreliable and unpredictablecommunication links,and argue that message lossesmust be taken into account.1.2Related WorkNithya et al.discuss Sympathy in[3],a tool for detect-ing and debugging failures in pre-and post-deployment sen-sor networks,especially designed for data gathering appli-cations.The nodes send periodic heartbeats to the sink that combines this information with passively gathered data to detect failures.For the failure detection,the sink re-quires receiving at least one heartbeat from the node every so called sweep interval,i.e.,its lacking indicates a node fail-ure.Direct-Heartbeat performs poorly in practice without adaptation to wireless packet losses.To meet a desired false positive rate,the rate of heartbeats has to be increased also increasing the communication cost.NUCLEUS[6]follows a very similar approach to Sympathy,providing a manage-ment system to monitor the heath status of data-gathering applications.Rost et al.propose with Memento a failure detection sys-tem that also requires nodes to periodically send heartbeats to the so called observer node.Those heartbeats are not directly forwarded to the sink node,but are aggregated in form of a bitmask(i.e.,bitwise OR operation).The ob-server node is sweeping its bitmask every sweep interval and will forward the bitmask with the node missing during the next sweep interval if the node fails sending a heartbeat in between.Hence the information of the missing node is disseminated every sweep interval by one hop,eventually arriving at the sink.Memento is not making use of ac-knowledgements and proactively sends multiple heartbeats every sweep interval,whereas this number is estimated based on the link’s estimated worst-case performance and the tar-geted false positive rate.Hence Memento and Sympathy do both send several messages every sweep interval,most of them being redundant.In[5],Strasser et al.propose a ring based(hop count)gos-siping scheme that provides a latency bound for detecting failed nodes.The approach is based on a bitmask aggre-gation,beingfilled ring by ring based on a tight schedule requiring a global clock.Due to the tight schedule,retrans-missions are limited and contention/collisions likely,increas-ing the number of false positives.The approach is similar to Memento[4],i.e.,it does not scale,but provides latency bounds and uses the benefits of acknowledgements on the link layer.2.TOPOLOGY MAINTENANCEForwarding a detected event without any delay requires maintaining a redundant topology that is robust against link failures.The characteristics of such a redundant topology are discussed subsequently.The topology is based on so called relay nodes,a neighbor that can provide one or more routes towards the sink with a smaller cost metric than the node itself has.Loops are inherently ruled out if packets are always forwarded to relay nodes.For instance,in a simple tree topology,the parent is the relay node and the cost metric is the hop count.In order to provide redundancy,every node is connected with at least two relay nodes,and is called redundantly con-nected.Two neighboring nodes can be redundantly con-nected by being each others relay,although having the same cost metric,only if they are both connected to the sink. This exception allows the nodes neighboring the sink to be redundantly connected and avoids having a link to the sinkas a single point of failure.In a(redundantly)connected network,all deployed nodes are(redundantly)connected.A node’s level L represents the minimal hop count to the sink according to the level of its relay nodes;i.e.,the relay with the least hop count plus one.The level is infinity if the node is not connected.The maximal hop count H to the sink represents the longest path to the sink,i.e.,if at every hop the relay node with the highest maximal hop count is chosen.If the node is redundantly connected,the node’s H is the maximum hop count in the set of its relays plus one, if not,the maximal hop count is infinity.If and only if all nodes in the network have afinite maximal hop count,the network is redundantly connected.The topology management function aims to maintain a redundantly connected network whenever possible.This might not be possible for sparsely connected networks,where some nodes might only have one neighbor and therefore can-not be redundantly connected by definition.Sometimes it would be possible tofind alternative paths with a higher cost metric,which in turn would largely increase the overhead for topology maintenance(e.g.,for avoiding loops).For the cost metric,the tuple(L,H)is used.A node A has the smaller cost metric than node B ifL A<L B∨(L A=L B∧H A<H B).(1) During the operation of the network,DiMo continuously monitors the links(as described in Section3),which allows the detection of degrading links and allows triggering topol-ogy adaptation.Due to DiMo’s redundant structure,the node is still connected to the network,during this neighbor search,and hence in the case of an event,can forward the message without delay.3.MONITORING ALGORITHMThis section describes the main contribution of this paper, a distributed algorithm for topology,link and node monitor-ing.From the underlying MAC protocol,it is required that an acknowledged message transfer is supported.3.1AlgorithmA monitoring algorithm is required to detect failed nodes within a given failure detection time T D(e.g.,T D=5min).A node failure can occur for example due to hardware fail-ures,software errors or because a node runs out of energy. Furthermore,an operational node that gets disconnected from the network is also considered as failed.The monitoring is done by so called observer nodes that monitor whether the target node has checked in by sending a heartbeat within a certain monitoring time.If not,the ob-server sends a node missing message to the sink.The target node is monitored by one observer at any time.If there are multiple observer nodes available,they alternate amongst themselves.For instance,if there are three observers,each one observes the target node every third monitoring time. The observer node should not only check for the liveliness of the nodes,but also for the links that are being used for sending data packets to the sink in case of a detected event. These two tasks are combined by selecting the relay nodes as observers,greatly reducing the network load and maximiz-ing the network lifetime.In order to ensure that all nodes are up and running,every node is observed at all times. The specified failure detection time T D is an upper bound for the monitoring interval T M,i.e.,the interval within which the node has to send a heartbeat.Since failure detec-tion time is measured at the sink,the detection of a missing node at the relay needs to be forwarded,resulting in an ad-ditional maximal delay T L.Furthermore,the heartbeat can be delayed as well,either by message collisions or link fail-ures.Hence the node should send the heartbeat before the relay’s monitoring timer expires and leave room for retries and clock drift within the time window T R.So the monitor-ing interval has to be set toT M≤T D−T L−T R(2) and the node has to ensure that it is being monitored every T M by one of its observers.The schedule of reporting to an observer is only defined for the next monitoring time for each observer.Whenever the node checks in,the next monitoring time is announced with the same message.So for every heartbeat sent,the old monitoring timer at the observer can be cancelled and a new timer can be set according the new time.Whenever,a node is newly observed or not being observed by a particular observer,this is indicated to the sink.Hence the sink is always aware of which nodes are being observed in the network,and therefore always knows which nodes are up and running.This registration scheme at the sink is an optional feature of DiMo and depends on the user’s requirements.3.2Packet LossWireless communication always has to account for possi-ble message losses.Sudden changes in the link quality are always possible and even total link failures in the order of a few seconds are not uncommon[2].So the time T R for send-ing retries should be sufficiently long to cover such blanks. Though unlikely,it is possible that even after a duration of T R,the heartbeat could not have been successfully for-warded to the observer and thus was not acknowledged,in spite of multiple retries.The node has to assume that it will be reported miss-ing at the sink,despite the fact it is still up and running. Should the node be redundantly connected,a recovery mes-sage is sent to the sink via another relay announcing be-ing still alive.The sink receiving a recovery message and a node-missing message concerning the same node can neglect these messages as they cancel each other out.This recov-ery scheme is optional,but minimizes the false positives by orders of magnitudes as shown in Section4.3.3Topology ChangesIn the case of a new relay being announced from the topol-ogy management,a heartbeat is sent to the new relay,mark-ing it as an observer node.On the other hand,if a depre-cated relay is announced,this relay might still be acting as an observer,and the node has to check in as scheduled.How-ever,no new monitor time is announced with the heartbeat, which will release the deprecated relay of being an observer.3.4Queuing PolicyA monitoring buffer exclusively used for monitoring mes-sages is introduced,having the messages queued according to a priority level,in particular node-missing messagesfirst. Since the MAC protocol and routing engine usually have a queuing buffer also,it must be ensured that only one single monitoring message is being handled by the lower layers atthe time.Only if an ACK is received,the monitoring mes-sage can be removed from the queue(if a NACK is received, the message remains).DiMo only prioritizes between the different types of monitoring messages and does not require prioritized access to data traffic.4.EV ALUATIONIn literature,there are very few existing solutions for mon-itoring the health of the wireless sensor network deployment itself.DiMo is thefirst sensor network monitoring solution specifically designed for event detection applications.How-ever,the two prominent solutions of Sympathy[3]and Me-mento[4]for monitoring general WSNs can also be tailored for event gathering applications.We compare the three ap-proaches by looking at the rate at which they generate false positives,i.e.,wrongly inferring that a live node has failed. False positives tell us something about the monitoring pro-tocol since they normally result from packet losses during monitoring.It is crucial to prevent false positives since for every node that is reported missing,a costly on-site inspec-tion is required.DiMo uses the relay nodes for observation.Hence a pos-sible event message and the regular heartbeats both use the same path,except that the latter is a one hop message only. The false positive probability thus determines the reliability of forwarding an event.We point out that there are other performance metrics which might be of interest for evaluation.In addition to false positives,we have looked at latency,message overhead, and energy consumption.We present the evaluation of false positives below.4.1Analysis of False PositivesIn the following analysis,we assume r heartbeats in one sweep for Memento,whereas DiMo and Sympathy allow sending up to r−1retransmissions in the case of unac-knowledged messages.To compare the performance of the false positive rate,we assume the same sweep interval for three protocols which means that Memento’s and Sympa-thy’s sweep interval is equal to DiMo’s monitoring interval. In the analysis we assume all three protocols having the same packet-loss probability p l for each hop.For Sympathy,a false positive for a node occurs when the heartbeat from the node does not arrive at the sink in a sweep interval,assuming r−1retries on every hop.So a node will generate false positive with a possibility(1−(1−p r l)d)n,where d is the hop count to the sink and n the numbers of heartbeats per sweep.In Memento,the bitmask representing all nodes assumes them failed by default after the bitmap is reset at the beginning of each sweep interval. If a node doesn’t report to its parent successfully,i.e.,if all the r heartbeats are lost in a sweep interval,a false positive will occur with a probability of p l r.In DiMo the node is reported missing if it fails to check in at the observer having a probability of p l r.In this case,a recovery message is triggered.Consider the case that the recovery message is not kept in the monitoring queue like the node-missing messages, but dropped after r attempts,the false positive rate results in p l r(1−(1−p l r)d).Table1illustrates the false positive rates for the three protocols ranging the packet reception rate(PRR)between 80%and95%.For this example the observed node is in afive-hop distance(d=5)from the sink and a commonPRR80%85%90%95% Sympathy(n=1) 3.93e-2 1.68e-2 4.99e-3 6.25e-4 Sympathy(n=2) 1.55e-3 2.81e-4 2.50e-5 3.91e-7 Memento8.00e-3 3.38e-3 1.00e-3 1.25e-4 DiMo 3.15e-4 5.66e-5 4.99e-67.81e-8Table1:False positive rates for a node with hop count5and3transmissions under different packet success rates.number of r=3attempts for forwarding a message is as-sumed.Sympathy clearly suffers from a high packet loss, but its performance can be increased greatly sending two heartbeats every sweep interval(n=2).This however dou-bles the message load in the network,which is especially substantial as the messages are not aggregated,resulting in a largely increased load and energy consumption for nodes next to the paring DiMo with Memento,we ob-serve the paramount impact of the redundant relay on the false positive rate.DiMo offers a mechanism here that is not supported in Sympathy or Memento as it allows sending up to r−1retries for the observer and redundant relay.Due to this redundancy,the message can also be forwarded in the case of a total blackout of one link,a feature both Memento and Sympathy are lacking.4.2SimulationFor evaluation purposes we have implemented DiMo in Castalia1.3,a state of the art WSN simulator based on the OMNet++platform.Castalia allows evaluating DiMo with a realistic wireless channel(based on the empiricalfindings of Zuniga et al.[8])and radio model but also captures effects like the nodes’clock drift.Packet collisions are calculated based on the signal to interference ratio(SIR)and the radio model features transition times between the radio’s states (e.g.,sending after a carrier sense will be delayed).Speck-MAC[7],a packet based version of B-MAC,with acknowl-edgements and a low-power listening interval of100ms is used on the link layer.The characteristics of the Chipcon CC2420are used to model the radio.The simulations are performed for a network containing80 nodes,arranged in a grid with a small Gaussian distributed displacement,representing an event detection system where nodes are usually not randomly deployed but rather evenly spread over the observed area.500different topologies were analyzed.The topology management results in a redun-dantly connected network with up to5levels L and a max-imum hop count H of6to8.A false positive is triggered if the node fails to check in, which is primarily due to packet errors and losses on the wireless channel.In order to understand false positives,we set the available link’s packet reception rate(PRR)to0.8, allowing us to see the effects of the retransmission scheme. Furthermore,thisfixed PRR also allows a comparison with the results of the previous section’s analysis and is shown in Figure1(a).The plot shows on the one hand side the monitoring based on a tree structure that is comparable to the performance of Memento,i.e.,without DiMo’s possibil-ity of sending a recovery message using an alternate relay. On the other hand side,the plot shows the false positive rate of DiMo.The plot clearly shows the advantage of DiMo’s redundancy,yet allowing sending twice as many heartbeats than the tree approach.This might not seem necessarily fair atfirst;however,in a real deployment it is always possible(a)Varying number of retries;PRR =0.8.(b)Varying link quality.Figure 1:False positives:DiMo achieves the targeted false positive rate of 1e-7,also representing the reliability for successfully forwarding an event.that a link fails completely,allowing DiMo to still forward the heartbeat.The simulation and the analysis show a slight offset in the performance,which is explained by a simulation artifact of the SpeckMAC implementation that occurs when the receiver’s wake-up time coincides with the start time of a packet.This rare case allows receiving not only one but two packets out of the stream,which artificially increases the link quality by about three percent.The nodes are observed every T M =4min,resulting in being monitored 1.3e5times a year.A false positive rate of 1e-6would result in having a particular node being wrongly reported failed every 7.7years.Therefore,for a 77-node net-work,a false positive rate of 1e-7would result in one false alarm a year,being the targeted false-positive threshold for the monitoring system.DiMo achieves this rate by setting the numbers of retries for both the heartbeat and the recov-ery message to four.Hence the guard time T R for sending the retries need to be set sufficiently long to accommodate up to ten messages and back-offtimes.The impact of the link quality on DiMo’s performance is shown in Figure 1(b).The tree topology shows a similar performance than DiMo,if the same number of messages is sent.However,it does not show the benefit in the case of a sudden link failure,allowing DiMo to recover immedi-ately.Additionally,the surprising fact that false positives are not going to zero for perfect link quality is explained by collisions.This is also the reason why DiMo’s curve for two retries flattens for higher link qualities.Hence,leaving room for retries is as important as choosing good quality links.5.CONCLUSIONIn this paper,we presented DiMo,a distributed algorithm for node and topology monitoring,especially designed for use with event-triggered wireless sensor networks.As a de-tailed comparative study with two other well-known moni-toring algorithm shows,DiMo is the only one to reach the design target of having a maximum error reporting delay of 5minutes while keeping the false positive rate and the energy consumption competitive.The proposed algorithm can easily be implemented and also be enhanced with a topology management mechanism to provide a robust mechanism for WSNs.This enables its use in the area of safety-critical wireless sensor networks.AcknowledgmentThe work presented in this paper was supported by CTI grant number 8222.1and the National Competence Center in Research on Mobile Information and Communication Sys-tems (NCCR-MICS),a center supported by the Swiss Na-tional Science Foundation under grant number 5005-67322.This work was also supported in part by phase II of the Embedded and Hybrid System program (EHS-II)funded by the Agency for Science,Technology and Research (A*STAR)under grant 052-118-0054(NUS WBS:R-263-000-376-305).The authors thank Matthias Woehrle for revising a draft version of this paper.6.REFERENCES[1] A.Mainwaring et al.Wireless sensor networks for habitatmonitoring.In 1st ACM Int’l Workshop on Wireless Sensor Networks and Application (WSNA 2002),2002.[2] A.Meier,T.Rein,et al.Coping with unreliable channels:Efficient link estimation for low-power wireless sensor networks.In Proc.5th Int’l worked Sensing Systems (INSS 2008),2008.[3]N.Ramanathan,K.Chang,et al.Sympathy for the sensornetwork debugger.In Proc.3rd ACM Conf.Embedded Networked Sensor Systems (SenSys 2005),2005.[4]S.Rost and H.Balakrishnan.Memento:A health monitoringsystem for wireless sensor networks.In Proc.3rd IEEE Communications Society Conf.Sensor,Mesh and Ad Hoc Communications and Networks (IEEE SECON 2006),2006.[5]M.Strasser,A.Meier,et al.Dwarf:Delay-aware robustforwarding for energy-constrained wireless sensor networks.In Proceedings of the 3rd IEEE Int’l Conference onDistributed Computing in Sensor Systems (DCOSS 2007),2007.[6]G.Tolle and D.Culler.Design of an application-cooperativemanagement system for wireless sensor networks.In Proc.2nd European Workshop on Sensor Networks (EWSN 2005),2005.[7]K.-J.Wong et al.Speckmac:low-power decentralised MACprotocols for low data rate transmissions in specknets.In Proc.2nd Int’l workshop on Multi-hop ad hoc networks:from theory to reality (REALMAN ’06),2006.[8]M.Zuniga and B.Krishnamachari.Analyzing thetransitional region in low power wireless links.In IEEE SECON 2004,2004.[9]Fire detection and fire alarm systems –Part 25:Componentsusing radio links.European Norm (EN)54-25:2008-06,2008.。
and
We present a software toolbox for symmetric band reduction, together with a set of testing and timing drivers. The toolbox contains routines for the reduction of full symmetric matrices to bandrices to narrower banded or tridiagonal form, with optional accumulation of the orthogonal transformations, as well as repacking routines for storage rearrangement. The functionality and the calling sequences of the routines are described, with a detailed discussion of the \control" parameters that allow adaptation of the codes to particular machine and matrix characteristics. We also brie y describe the testing and timing drivers included in the toolbox. Categories and Subject Descriptors: G.1.3 Numerical Analysis]: Numerical Linear Algebra| Bandwidth reduction, orthogonal transformations, eigenvalues; G.4 Mathematical Software] Additional Key Words and Phrases: symmetric matrices, tridiagonalization, blocked Householder transformations
Categories and Subject Descriptors
Layered Peer-to-Peer Streaming∗Yi Cui,Klara NahrstedtDepartment of Computer Science University of Illinois at Urbana-Champaign{yicui,klara }@ABSTRACTIn this paper,we propose a peer-to-peer streaming solu-tion to address the on-demand media distribution problem.We identify two issues,namely the asynchrony of user re-quests and heterogeneity of peer network bandwidth.Our key techniques to address these two issues are cache-and-relay and layer-encoded streaming.A unique challenge of layered peer-to-peer streaming is that the bandwidth and data availability (number of layers received)of each receiv-ing peer are constrained and heterogeneous,which further limits the bandwidth and data availability of its downstream node when it acts as the supplying peer.This challenge dis-tinguishes our work from existing studies on layered multi-cast.Our experiments show that our solution is efficient at utilizing bandwidth resource of supplying peers,scalable at saving server bandwidth consumption,and optimal at max-imizing streaming qualities of all peers.Categories and Subject DescriptorsC.2.2[Network Protocols ]:Applications; C.2.5[Localand Wide-Area Networks ]:Internet;D.4.4[Communications Management ]:Network Communication;D.4.8[Performance ]:SimulationGeneral TermsAlgorithms,Design,PerformanceKeywordsPeer-to-Peer,Layered Streaming,OverlayThis work was supported by the National Science Founda-tion under contract number 9870736,the Air Force Grant under contract number F30602-97-2-0121,National Science Foundation Career Grant under contract number NSF CCR 96-23867,NSF CISE Infrastructure grant under contract number NSF EIA 99-72884,and NASA grant under con-tract number NASA NAG 2-1250.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.NOSSDAV’03,June 1–3,2003,Monterey,California,USA.Copyright 2003ACM 1-58113-694-3/03/0006...$5.00.1.INTRODUCTIONLarge-scale on-demand multimedia distribution has been shown as one of the killer applications in current and next-generation Internet.In existing solutions,multicast has been extensively employed since it can effectively deliver media data to multiple receivers,while minimizing server and network overhead.However,the nature of multicast is intrinsically in conflict with some important features of media distribution,namely the asynchrony of user requests and heterogeneity of client resource capabilities.For asyn-chrony,a user may request media data at any time,which is against the synchronous transmission manner of multicast.For heterogeneity,clients may request stream of different qualities due to their own resource constraints,especially network bandwidth.Therefore,no single multicast stream can meet everyone’s requirement.These issues are illus-trated in Fig.1.Figure 1:Asynchrony and Heterogeneity in On-Demand Media DistributionDespite the above conflicts and numerous solutions to resolve them[2][9][11],the most serious problem faced by multicast today is the deficiency of its deployment in the wide-area network infrastructure.Moreover,this problem is likely to persist in the foreseeable future.As an alter-native,application-layer multicast [14]is proposed.In this approach,end systems,instead of routers,are organized into an overlay to relay data to each other in a peer-to-peer fash-ion.Besides its initial success in addressing the absence of IP multicast,application-layer overlay is now believed to of-fer us more,because end system is flexible enough to provide more functionalities than simply forwarding packets,such as caching[16],data/service indirection[6],resilient routing[1],peer-to-peer streaming[5][4][13],etc.Bearing this in mind,we now revisit the aforementioned issues of asynchrony and heterogeneity in peer-to-peer streaming.First,recent studies on cache-and-relay[10][16]show promis-ing solutions to resolve the conflict between asynchronous requests and synchronous multicast transmission in peer-to-peer streaming.By delaying the received stream through caching,an end host could relay it to another peer,who re-quests the same data at a later time.Our previous study[16] further showed that this approach introduces less server/network overhead than IP-multicast-based solutions.Second,the layer-encoded streaming approach[11][9][12] has the potential to address the issue of heterogeneity.For example,in layered multicast[11][12],a stream is encoded into multiple layers,then fed into different IP multicast ses-sions.A receiver with constrained bandwidth only needsto receive a subset of all layers to decode the stream with certain degraded quality.However,existing layered streaming solutions cannot be directly applied to peer-to-peer system.The fundamental reason roots at the dual role of the end host as both sup-plying peer and receiving peer.First,as a receiving peer,an end host may receive only a subset of all layers,due toits limited inbound bandwidth or processing capabilities.In peer-to-peer system,this means that its data availability asa supplying peer is also constrained,which further limitsthe data availability of its downstream peers.Second,the outbound bandwidth of relaying nodes are limited and het-erogeneous.This means that as a supplying peer,it has con-strained bandwidth supply to the downstream nodes.These problems never arise in layered multicast,whereby the end host is always the sink of data path.To summarize,these unique challenges distinguish our study from previous onesin layered streaming.The rest of this paper is organized as follows.In Sec.2,we formulate the problem of layerd peer-to-peer streaming and show its NP-complete complexity.In Sec.3,we present our solution.Sec.4evaluates its performance.Sec.5reviewsthe related work.Finally,Sec.6concludes.2.PROBLEM FORMULATIONWe consider the distribution of a layer-encoded stream across a set of peers with heterogeneous inbound and out-bound bandwidths.As shown in Fig.2,a peer can retrievethe stream at any time,requiring arbitrary quality,i.e.,arbi-trary number of layers.Each peer caches the received streamin a local circular buffer for a certain amount of time.In other words,a buffer window is kept along the playbackof the stream,say5minutes.In this way,any later peer (within5minutes)requesting the same stream can receivethe buffered data from the current host.Furthermore,it can retrieve different layers from multiple peers in parallel. For example,in Fig.2,H3is3minutes later than H1and2 minutes later than H2.Thus,H3can stream from H1andH2.On the other hand,H4can only stream from H3sinceit is already outside the buffer windows of H1and H2.We consider the media server(H0)as a special peer,which stays online permanently and has all layers of the stream.A good peer-to-peer streaming solution should consider two factors.Thefirst factor is the overall streaming qualityof all peers,regarded as the system benefit.The second factor is the server bandwidth consumption,regarded as the system cost.Therefore,our goal is to maximize the net benefit(system benefit excluding system cost),under each00:04Figure2:Layered Peer-to-peer Streaming peer’s bandwidth constraint.We introduce the following definitions.•Layer-encoded Stream{l0,l1,l2,...,l L},with l0as the base layer and others as enhancement layers.These layers are accumulative,i.e.,l i can be only decoded if layers l0through l i−1are available.For now,we as-sume that all layers have identical streaming rate.In Sec.3.4,we will relax this assumption.•Peers{H0,H1,H2,...,H N},with H0as the server.H1through H N are sorted based on their requesting times.Furthermore,we use I k and O k to denote the inbound and outbound bandwidths of H k.For the purpose of simplicity,I k and O k are measured as the number of layers H k can receive and send.•Streaming Quality Q k,the streaming quality re-ceived at H k,measured as number of received lay-ers.In particular,Q m k is used to denote the number of layers received from the supplying peer H m.Con-sequently,Q0k is the number of layers received from server H0.•Layer Availability A k,number of layers available at the cache of H k.In order to save cache space,H k is allowed to discard some received layers(always the highest ones,i.e.,the most enhanced ones)after play-back.Therefore,A k≤Q k.•Buffer Length B k,measured as the time length ofH k’s buffer.Note that with the same cache space,B kmay vary depending on how many layers H k caches.•Request Time t k,the time at which H k starts to playback the stream.For two peers H k and H m,if t k<t m and t m−t k≤B k,then H k is qualified asH m’s supplying peer.In other words,H m falls withinthe buffer window of H k,denoted as H k→H m.Given that the server H0can stream to all peers at any given time,we have H0→H k(k=1,...,N).•Supplying Peer Constraint C k,which sets the max-imum number of supplying peers H k can stream from in parallel.We do so to lower the synchronization com-plexity of parallel streaming.If the streaming qualityQ k still cannot be met by all the supplying peers due to their limited outbound bandwidth or layer availabil-ity,we allow the server H 0to send the missing layers to H k .Given above definitions,we can now formalize our goal asmaximize P N k =1(Q k −Q 0k )subject to (1)Q k ≤I k (1≤k ≤N )(2)P H k →H m Q km ≤O k (1≤k ≤N )The first constraint states that the streaming quality (num-ber of layers received)of each peer H k should not exceedits inbound bandwidth.The second constraint is that as a supplying peer,H k cannot output more layers than its out-bound bandwidth allows to send.Theorem 1:Layered Peer-to-peer Streaming problem is NP-complete.Proof is provided in Appendix A.YERED PEER-TO-PEER STREAMINGSOLUTIONWe now present our solution.We have following design objectives.First,each peer H k should configure its own streaming session (what layers to stream from which peer)locally .As Theorem 1showed that having global view and control does not help to reduce the problem complexity,this approach is more practical and cost-effective 1.Second,as the client requests come at different times,our solution should be incremental ,i.e.,the streaming quality of existing peers must be preserved when admitting new peers.As such,a new client H k can only utilize the residual outbound bandwidth of its supplying peers.3.1Basic AlgorithmWe first present the basic algorithm,which assumes that H k is allowed to receive data from unlimited number of senders.The algorithm is a greedy approach,in that it always maximally utilizes the outbound bandwidth of the peer with the smallest number of layers.Executed by H k ,the algorithm takes the following inputs:(1)I k ,the inbound bandwidth of H k ;(2)S ={H 1,...,H M },a set of hosts qualified as the supplying peers of H k .This means that H k falls within the buffer windows of H 1through H M .These peers are sorted such that A 1≤A 2≤...≤A M .The algorithm returns the streaming quality Q k ,and collects the selected supplying peers into set P .Fig.3illustrates our algorithm.H k ’s inbound bandwidth allows to receive 11layers,as represented by the white bar.It requests individual layers from supplying peers H 1through H 4.H 1has 3layers in its cache,as represented by its bar.Likewise,H 2has 4layers and so on.The shadowed squares 1In order to do so,H k needs to know who are qualified as its supplying peers and their layer availability and cur-rent outbound bandwidth.The dissemination and acqui-sition of such information can be done through any pub-lish/subscribe service,which is considered orthogonal and not covered in this paper.Interested readers are also refer-eed to our previous study[15],which proposed a time-based publish/subscribe solution to address this problem.UnconstrainedSenders (I k ,H 1,...,H M )/*Calculation of Q k */1Q k ←02P ←φ3m =14repeat 5Q m k ←min (O m ,A m −Q k ,I k −Q k )6enque (P,H m )7Q k ←Q k +Q m k 8m ←m +19until Q k =I k or m >M /*Layer Allocation */10index ←011repeat12H m ←deque (P )13allocate layers P index +Q m k −1i =index l i to H m14O m ←O m −Q mk15index ←index +Q m k 16until P =φTable 1:Basic Algorithmof H 1through H 4represent the number of layers their out-bound bandwidths allow to send.Note that these shadowed squares only indicates how many layers onecan send.For example,H 3has six layers available in its cache,and is able to output any five of them.Black squares represent layers which are already allocated.(d)(e)(f)Figure 3:Sample Illustrating the Basic Algorithm Initially,Q k at H k is 0(Fig.3(a)).H k first uses up the outbound bandwidth of H 1and increases Q k to 2(Fig.3(b)).Then,although H 2is able to output four layers,H k only needs two layers from it,since the lower two are already allocated to H 1(Fig.3(c)).For the same reason,H 3only needs to output two layers.Note that its allocated layers shift up,since H 3is free to output any layers available in its cache (Fig.3(d)).After H 4is done,S becomes empty and Q k is still two layers lower than the expected quality of H k(Fig.3(e)).Finally,we ask the server to send the missinglayers to H k(Fig.3(f)).Theorem2:The basic algorithm can allocate maximum number of layers for H k.We leave the proof in Appendix B.3.2Enhanced Algorithm under Supplying PeerConstraintWe now turn to a more constrained scenario,where H k can only stream fromfinite number of supplying peers.As-suming the existence of S={H1,...,H M}defined in Sec.3.1, let us denote Q∗k(M,1)as the optimal solution if H k can only choose one supplying peer from H1through H M.This solution is straightforward:we only need tofind the peer which can send the largest number of layers.Then for Q∗k(M,2),assuming Q∗k(m,1)is already known,we canfind the one from H m+1to H M that is able to further contribute the most layers,denoted as Q max(H m+1,...,H M).Then Q∗k(m,1)+Q max(H m+1,...,H M)is a candidate answer to Q∗k(M,2).Repeating this procedure from m=1to M−1, the best solution can be found asQ∗k(M,2)=max[Q∗k(m,1)+Q max(H m+1...H M)]1≤m<MIn general,we haveQ∗k(M,C k)=max[Q∗k(m,C k−1)+Q max(H m+1...H M)]C k−1≤m<MThis is a typical dynamic programming problem.We show our algorithm in Tab.2.Theorem3:Under constraint C k,the enhanced algo-rithm can allocate maximum number of layers for H k.We leave the proof in Appendix C.The algorithm com-plexity is O(C k M2).3.3Node DepartureNode departure can happen frequently,due to user logout, machine crash or network failure.Upon losing a supplying peer H m,the receiving peer H k should reconfigure its ses-sion by rerunning the layer allocation algorithm.However, during this transient period,its streaming quality may de-grade.Here we discuss how our solution can adapt to this situation.First,if H m departs normally,it will notify H k to recon-figure its session.Meanwhile,H m continues to stream data remained in its buffer to H k as normal.Therefore,as long as the reconfiguration of H k’s sessionfinishes before H m’s buffer is drained,H k will stay unaffected.Otherwise,H m can be regarded as failed,which will be addressed below.If H m fails,upon detecting it,H k has two options.First, It can temporally request from the server the layers which were allocated to H m,until its session reconfiguration isfin-ished.In other words,during this time,the server acts as H m.Second,if the server bandwidth is already fully occu-pied,then the streaming quality of H k has to be degraded gracefully.As an example,in Fig.4,H k initially received data from supplying peers H1through H4.When H2fails, H k asks other peers to stream as usual.However,H3’s lay-ers are shifted down to meet the gap left by H2.H4’s layersConstrainedSenders(I k,C k,H1,...,H M)/*Initialization*/1for c←0to C k2for m←0to M3Q∗k(m,c)←04P∗(m,c)←φ/*Calculation of Q∗(M,C k)*/6for c←1toC k7for m←c to M−C k+c8for t←m to M−C k+c9Q ←min(O t,A t−Q∗k(m−1,c−1),I k−Q∗k(m−1,c−1))10if Q∗k(t−1,c)>Q∗k(t,c)or11Q∗k(m−1,c−1)+Q >Q∗k(t,c)12begin13if Q∗k(t−1,c)<Q∗k(m−1,c−1)+Q14then15for i←1to m−116Q i∗k(t,c)←Q i∗k(m−1,c−1)17Q t∗k(t,c)←Q18P∗(t,c)←P∗(m−1,c−1)∪{H t}19Q∗k(t,c)←Q∗k(m−1,c−1)+Q t∗k(t,c) 20else21for i←1to t−122Q i∗k(t,c)←Q i∗k(t−1,c)23P∗(t,c)←P∗(t−1,c)24Q∗k(t,c)←Q∗k(t−1,c)25end/*Layer Allocation*/26index←027repeat28H m←deque(P∗(M,C k))29Q m k←Q m∗k(M,C k)30allocate layersP index+Q mk−1i=indexl i to H m 31O m←O m−Q m k32index←index+Q m∗k(M,C k)33until P∗(M,C k)=φTable2:Enhanced AlgorithmHHHHFailedFigure4:Graceful Degradation of Streaming Qual-ity(when server bandwidth is fully occupied)are shifted down likewise.Thus,H k ’s quality only drops by H 2’s share.Another concern is that the quality degradation of H k could further cause the quality degradation of its children.In this case,H k can be regarded as normal departure.As explained earlier in this subsection,the streaming quality of H k ’s children will not be affected until H k ’s buffer is drained.Therefore,buffering can effectively absorb the propagation of quality degradation.3.4Layer Rate HeterogeneitySo far in this paper,we have assumed that all layers have identical streaming rate.In practice,however,this is often not the case[12].To show the complexity of this problem,we first go through the following (re)definitions.•r i ,the streaming rate of a layer l i (Kbps).•I k and O k ,the inbound and outbound bandwidth of H k ,measured as raw data rate (Kbps).We define the Heterogeneous-Rate Layer Allocation Prob-lem as follows.Given a set of layers {l 0,...,l L }with differ-ent streaming rates {r 0,...,r L },the receiving peer H k ,and a set of supplying peers S ={H 1,...,H M },find an optimal solution,which allocates maximum number of layers for H k .Theorem 4:Heterogeneous-Rate Layer Allocation Prob-lem is NP-complete.We leave the proof in Appendix D.We modify existing algorithms (Tab.1and Tab.2)to accommodate the layer rate heterogeneity.They are shown in Tab.3and Tab.4,respectively.To save space,we only show the modified part of each algorithm.UnconstrainedSenders (I k ,H 1,...,H M )...4repeat5Q m k ←max (n |P Q k +n i =Q kr i ≤O m ,P Q k +ni =0r i ≤I k Q k +n ≤A m )6enque (P,H m )7Q k ←Q k +Q m k 8m ←m +19until P Q ki =0r i >I k or m >M...Table 3:Modified Basic Algorithm for Layer Rate HeterogeneityConstrainedSenders (I k ,C k ,H 1,...,H M )...9Q ←max (n |P Q ∗k (m −1,c −1)+ni =Q ∗k (m −1,c −1)r i ≤O t ,P Q ∗k (m −1,c −1)+ni =0r i ≤I k ,O ∗k (m −1,c −1)+n ≤A t )...Table 4:Modified Enhanced Algorithm for Layer Rate Heterogeneity4.PERFORMANCE EV ALUATIONWe simulate a peer-to-peer streaming system of total 40000peers.We categorize peers into three classes:(1)Modem/ISDN peers,which take 50%of the population with maximum to-tal bandwidth of 112Kbps ;(2)Cable Modem/DSL peers,which take 35%of the population with maximum total band-width of 1Mbps ;and (3)Ethernet peers,which take rest of the population with maximum total bandwidth of 10Mbps .Each peer requests the 60-minute video at different times during the 24-hour run.The layer rate of the video is 20Kbps .Its full-quality streaming rate is 1Mbps ,which consists of 50layers.4.1Overall Streaming Quality and ScalabilityWe compare our solution with versioned streaming ,an-other commonly used solution to address the end host het-erogeneity.In our experiment,the video is encoded into 50versions with different streaming rates.Each version is distributed using an independent application-layer multicast tree.0.10.20.30.40.50.60.70.80.910.60.81 1.2 1.4 1.6 1.82a v e r a g e q u a l i t y s a t i s f a c t i o naverage outbound/inbound bandwidth ratiolayered versionedFigure 5:Overall Streaming Quality (Request Rate=120req/hr ,Buffer Length=5min )We first test these two solutions at utilizing the outbound bandwidth of supplying peers.Since each peer may ex-pect different streaming qualities,we propose a new met-ric Streaming Quality Satisfaction ,which is defined as the ratio of received quality and expected quality of a peer H k ,namely Q k /I k .The maximum value is 1.As shown in Fig.5,when the average ratio of each peer’s outbound/inbound bandwidth is greater or equal to 1,the average quality sat-isfaction of layered approach is almost 1,which means that the peers can virtually self-support.On the other hand,the curve of versioned approach never goes over 0.7.More-over,when the outbound/inbound ratio is below 1,the per-formance of layered approach degrades linearly,which in-dicates that it is always able to fully utilize the marginal outbound bandwidth of supplying peers.In comparison,the curve of versioned approach drops suddenly since most supplying peers’outbound bandwidth cannot send out the entire video.This reveals that the layered approach is more adapted to the bandwidth asymmetricity (outbound band-width less than inbound bandwidth),which is often the case for Cable Modem and ADSL users.We then test the scalability of these two solutions at sav-ing server bandwidth.Fig.6shows that,when client request rate grows,the server bandwidth consumption of layered approach actually drops.The main reason is that,when a requesting peer joins,it also acts as a supplying peer to the01002003004005006007000102030405060708090100s e r v e r b a n d w i d t h (K B y t e s /h o u r )rate (requests/hour)layered versionedFigure 6:Server Bandwidth Consumption (Aver-age Outbound/Inbound Bandwidth Ratio=1,Buffer Length=5min )following requesting peer,which in turn forms a chain.This chain gets longer when the average interarrival time of dif-ferent peers shortens.Such a chain effect also happens in the case of versioned streaming.However,since this approach always requires enough outbound bandwidth to output the entire video,only few supplying peers qualify,which causes the chain to be easily broken.4.2Impact of Design Parameters0.840.860.880.90.920.940.960.9812030405060708090100a v e r a g e q u a l i t y s a t i s f a c t i o nrate (req/hr)No Constraint Constraint=4Constraint=2Figure 7:Impact of Supplying Peer Constraint (Average Outbound/Inbound Bandwidth Ratio=1,Buffer Length=5min )For a receiving peer,limiting the number of supplying peers can help lowering the operation and synchronization complexity.On the other hand,it does not guarantee to maximally utilize the outbound bandwidth of all supplying peers,compared to the unconstrained case.Fig.7shows that constraining the number of senders to 4already ac-quires nearly identical performance to the unconstrained case,in terms of average quality satisfaction.Another important design parameter is the buffer length of each supplying peer.Apparently,longer buffer enables a supplying peer to help more later-coming peers,thus im-proving the overall streaming quality.As revealed in Fig.8,this is true when request rate is low.This can help keep the peers chain (Sec.4.1)from broken.Further increasing buffer size has very little improvement space,since it can help lit-tle at prolonging the chain.This finding suggests that with small-to-medium sized cache space (3or 5minutes out of an 1-hour video),the system can acquire great performance gain.0.450.50.550.60.650.70.750.80.850.90.95020040060080010001200a v e r a g e q u a l i t y s a t i s f a c t i o nbuffer time length (s)60 req/hr 120 req/hr 240 req/hrFigure 8:Impact of Buffer Length (Average Out-bound/Inbound Bandwidth Ratio=0.8)4.3FairnessAs revealed in Fig.5,when the average ratio of each peer’s outbound/inbound bandwidth is below 1,the average qual-ity satisfaction drops correspondingly,i.e.,not every peer’s streaming quality can be as good as expected.As such,a fair solution should ensure that such deviation does not greatly vary from one peer to another.c u m u l a t i v e p e r c e n t a g e o f r e q u e s t squality satisfaction(a)Different Outbound/Inbound Bandwidth Ratios0.20.40.60.8100.20.40.60.81c u m u l a t i v e p e r c e n t a g e o f r e q u e s t squality satisfactionModem/ISDN Cable Modem/DSLEthernet(b)Different Peer Classes (Outbound/Inbound Ratio=1)Figure 9:Cumulative Distribution of Qual-ity Satisfaction (Request Rate=120req/hr ,Buffer Length=5min )We plot the cumulative distribution of peers with differ-ent quality satisfaction in Fig.9(a).When the average out-bound/inbound ratio is 0.5,about 50%of the peers acquire the expected streaming quality.Then the quality satisfac-tion decreases almost linearly among the rest of the peers.We observe the similar trend when increasing the average outbound/inbound ratio.However,when the ratio becomes greater or equal than 1,only 90%of the population receivethe full quality satisfaction.Furthermore,this percentage stays unimproved when we further enlarge the outbound bandwidth of supplying peers.We find the answer in Fig.9(b).In Fig.9(b),we study the distribution of quality sat-isfaction over different peer classes when the average out-bound/inbound bandwidth ratio is 1.Although all Mo-dem/ISDN peers receive the full quality satisfaction,this is not the case for 5%of Cable Modem/DSL peers.For Ethernet peers,over 40%of them do not receive the stream quality as expected.The main reason is that when a peer of higher class (e.g.,Ethernet)joins,it can happen that all its supplying peers belong to the lower classes (e.g.,Cable Modem or ISDN).Therefore,even when these peers have available outbound bandwidth,they still do not have higher stream layers,which are requested by the peer of higher class.c u m u l a t i v e p e r c e n t a g e o f r e q u e s t sbandwidth contribution(a)Different Outbound/Inbound Bandwidth Ratios0.20.40.60.8100.20.40.60.81c u m u l a t i v e p e r c e n t a g e o f r e q u e s t sbandwidth contributionModem/ISDN Cable Modem/DSLEthernet(b)Different Peer Classes (Outbound/Inbound Ratio=1)Figure 10:Cumulative Distribution of Outbound Bandwidth Contribution(Request Rate=120req/hr ,Buffer Length=5min )We then evaluate whether our solution enables each peer to fairly contribute its outbound bandwidth.As shown in Fig.10(a),when the outbound/inbound ratio is 0.5,each peer contributes all of its bandwidth.When the ratio is 1,only 90%of all peers contribute all of its bandwidth.The contribution decreases linearly among the rest of the peers.Again,this can be explained when we plot the distribution of bandwidth contribution over different peer classes in Fig.10(b).Fig.10(b)exhibits the similar pattern with Fig.9(b).All Modem/ISDN peers contribute all of their bandwidths.This is mainly due to the greedy nature of our layer allocation algorithm,which always first exploit the peers with smallest number of layers.Almost 40%of the Ethernet peers only partially contribute their bandwidth.This is mainly becausethat they mostly stream to the lower-class peers,who always first request layers from supplying peers of the same class,if any.To this end,we conclude that both data availability constraint and bandwidth availability constraint of supplying peers have impact on the issue of fairness.4.4RobustnessTo test the robustness of our solution,we inject random node departures/failures into our simulation.We are mainly interested with the ability of our solution at absorbing the transient failure during stream session reconfiguration via buffering (Recall Sec.3.3).In our experiment,50%of the supplying peers depart early before the playback is finished.These peers are further categorized into normal departure peers and failed peers .A normal departure peer notifies its children upon leaving,but continues to stream until its buffer is drained.The children will stay unaffected if they can finish reconfiguring their sessions before the buffer is drained.Otherwise,they have to experience temporal qual-ity degradation,as depicted in Fig.4.On the other hand,if a peer fails,its children will be definitely affected.We use Failure Ratio to denote the percentage of failed ones among all departure peers.0.20.40.60.815101520253035404550p e r c e n t a g e o f a f f e c t e d p e e r sreconfiguration time (s)No Constraint, Failure Ratio 1.0Constraint=2, Failure Ratio 1.0No Constraint, Failure Ratio 0.5Constraint=2, Failure Ratio 0.5Figure 11:Percentage of Affected Peers (Request Rate=120req/hr ,Buffer Length=5min ,Average Out-bound/Inbound Bandwidth Ratio=1)As shown in Fig.11,buffering can effectively “mask”more than half of the peer departures,when the average session reconfiguration time is small (5seconds).The effect of buffering diminishes as the failure ratio grows.Eventu-ally,it is rendered useless when all departure peers are failed ones.Also,one can impose supplying peer constraint to ef-fectively lower the percentage of affected peers.However,as a side effect,the average quality degradation is higher than the unconstrained case (Fig.12).The reason is that when the number of supplying peers is constrained,in order to maximize the streaming quality,the enhanced layer allo-cation algorithm (Sec.3.2)always chooses supplying peers that can contribute most number of layers.Therefore,when one of them departs or fails,it is likely to incur more quality degradation.4.5Layer Rate HeterogeneityEncoding a stream into more layers can help us better utilize the marginal inbound/outbound bandwidth of peers,therefore increases the average streaming quality and helps save server cost.However,the price is that we have to put re-dundant information into each layer.Such inefficiency adds up as we increase the number of layers.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Experimental Study of Market Reputation MechanismsKay-Yut Chen Hewlett-Packard Labs Kay-Yut.Chen@Tad HoggHewlett-Packard LabsTad.Hogg@Nathan WoznyCalifornia Institute of TechnologyABSTRACTWe experimentally compare low-information, high-information and self-reporting reputation mechanisms. The results indicate players strategically reacted to the reputation mechanisms, with higher information mechanisms increasing market efficiency. Categories and Subject DescriptorsJ.4 [Computer Applications]: SOCIAL AND BEHAVIORAL SCIENCESGeneral TermsEconomics, Experimentation, Human FactorsKeywordsexperimental economics, reputation, markets1. Reputation and MarketsReputations can help ensure promised actions are taken without the expense of external enforcement or third party monitoring [6]. The Internet and subsequent development of e-commerce allow an increasing number of small players to engage in buying and selling. However, this environment increases the importance of establishing trust in a market where everyone can choose to be anonymous. One approach is eBay’s feedback mechanism in which participants rate the performance of the other party in their transactions.Establishing trust is possible through repeated interactions, e.g., the tit-for-tat strategy in the iterated Prisoner’s Dilemma [1]. The effects of various reputation mechanisms have been experimentally studied in simplified contexts. One approach [5] uses the “trust game” among pairs of players, where one player can choose to send money to a second, this amount is then substantially increased and the second player can choose to share some of that gain with the first player. By removing many of the complexities involved in market transactions, this game can study the effect of different policies of past behaviors revealed to participants. For questions involving reputation's effect on market efficiency, more complex experimental scenarios are needed. One example is a fixed-price market in which sellers have the option of not fulfilling their contracts [2]. Players are placed in pairs by the experimenter, and randomly assigned roles of buyer or seller. The buyer chooses whether to send the purchase price to the seller and, if so, the seller then decides whether to deliver the purchase or just keep the buyer's money. Revealing the seller's history of fulfillment then provides reputation information for the buyer. A similar one-sided market, but allowing variable prices, arises in an experimental study of a principal/agent market [4]. In this case the agents choose their level of service after principals have committed to their contracts. In this experiment, the agents face a market choice, maximizing the difference between their fee and expense on providing their service, but the payoff for the principal is probabilistic rather than directly determined by the choice made by the agent.In the e-commerce context, although a given person may engage in many transactions, only a few may be with a particular person. In such cases, people face the question of whether a proposed transaction is likely to proceed as agreed. Moreover, unlike the Prisoner’s Dilemma, people can choose not to do business with those deemed untrustworthy, or offer different terms based on the perceived level of trust. Furthermore, individuals usually cannot spread risk among many transactions, unlike large companies. This may lead to risk-averse people avoiding transactions that could benefit both parties, and thus result in lower market efficiency. Thus an important question is to what extent reputation mechanisms can aid this process. Analysis of eBay-like markets suggests that while feedback has desirable features in theory [3], such a market may not be efficient, fair and stable in practice.To help address these issues, we designed experiments to provide a broader set of endogenous choices for the players than in the prior experimental work described above. First, the players can explicitly decide who they wish to do business with rather than being paired with a single other player by the experimenter. Thus we can examine whether people choose to use reputation information to ostracize those with low reputations or give them poor prices based on their higher perceived risk. Second, both buyers and sellers make fulfillment choices and so reputations are relevant to both sides of the market. In the context of self-reported information, this allows players the opportunity to choose to misreport their experience as possible punishment for a poor report on their own reputation. More generally, it allows for the formation of clusters of mutually high-reputation trading arrangements. Third, our experiments include a full market so prices and trading volumes are determined endogenously, providing a broader view of the macroeconomic consequences of different information policies than is possible in more restricted scenarios. On the other hand, the additional complexity of a full market and players selecting who to do business with makes for a more complicated theoretical analysis.We choose to study reputation in the laboratory due to the uncontrollable nature of real world marketplaces. The key issues in designing reputation mechanisms are the nature of information to collect, its reliability and how it is disseminated to the participants. This paper reports on an experimental comparison of mechanisms revealing differing amounts of information on the transaction history of the players. We found that subjects responded to amount of information strategically. In addition, we observed the endogenously generated consequences for market price and volume.COPYRIGHT IS HELD BY THE AUTHOR/OWNER(S). EC’04, MAY 17–20, 2004, NEW YORK, NEW YORK, USA. ACM 1-58113-711-0/04/0005.2. Experimental DesignLaboratory economic experiments involve small groups interacting for only a few hours. Thus experiments with reputation mechanisms require a simple underlying market so participants can quickly build up enough transaction history to distinguish behaviors. Furthermore, the value of a high reputation decreases toward the end of an experiment, leading experienced subjects to not fulfill contracts. We thus need enough time to see at least some behavior relatively unaffected by this end-of-game effect.The main component of the experiment is an exchange economyof a single homogenous good. Each unit of good a buyer purchased can be redeemed for a pre-determined amount of money. Each unit of good a seller sold costs a pre-determined amount of money. In each period, buyers and sellers receive tables listing their redemption values and costs, respectively. The aggregate supply and demand is kept constant across periods, and this is told to participants before each experiment. However, redemption values and costs were assigned to random individualsin each period.We chose a discrete double auction as the market institution. Each period consists of a fixed number of rounds. Buyers and sellers took turns making offers and accepting offers made by others. Players were permitted to have only one offer at a time, although they may offer to buy or sell multiple units. In addition, we allowed the subjects to filter their offer, i.e., allowing only some agents to accept their offer. When an offer was accepted, it became a contract – an agreement for the seller to send the goods and for the buyer to send payment. The contracts were not binding. After the last round of exchanging offers, players were given a list of contracts they had accepted. They then decided whether or not to fulfill each contract. We included noise, as a fixed probability that either payments or goods are lost in transit. The information policy determines the past transaction behavior made available to participants. We used three information policies, announced at the start of each experiment:1. Low information: Players knew only their own transactions.2. High information: Players were told about all transactions that took place between any buyer and any seller.3. Self-reported ratings: After contract fulfillment, players could give trading partners a positive or negative rating. A value-weighted score of the feedback is then made public.Prior to the experiment, participants completed a short training program, with self-check quizzes, via the web (/econexperiment/MarketInfo/instructions.htm.)3. ResultsWe conducted 8 experimental sessions. The first had 8 subjects. The rest had at least 12 subjects. In all experiments, market prices converged reasonably well to equilibrium within 3 periods. While rapid convergence is expected for the market [7], this may not have been the case with the our addition of non-binding contracts.As expected, all experiments exhibit strong end-game effects. Subjects were told when the game would end two periods ahead of time. Fulfillment decreased sharply around 4 periods before the end of an experiment.We expect people are more likely to fulfill contracts when more information about their actions is available to people deciding whether to transact future business with them. This matches our observation of lower fulfillment with the low information policy, where subjects can safely reason that only people with whom they had unfulfilled contracts know of their “bad” record. Thus, not fulfilling a contract is less costly to future business than the case with full information. This is also strong evidence that people react to strategic implications of how information is used by other people. The figure shows an example of our experimental results.Fulfillment rates in the self-reporting treatment are similar to the high information treatment. This is consistent with observations on Internet auction sites such as eBay where the amount of negative feedback is only about 1%. This is not direct evidence that cheating is rare since feedback does not have to be 100% accurate. Similarly, reports in our experiment were not always accurate. However, they were, on average, a good representation of how likely a subject is going to fulfill contracts.Our experimental design allowed us to also observe endogenous macroeconomic effects: when fulfillment decreased, the contracted volume also increased but prices remained nearly constant. Market efficiencies responded to the level of fulfillment in a highly nonlinear fashion.4. References[1] R. Axelrod and W. Hampton, The Evolution of Cooperation, Science211:1390-1396 (1981).[2] G. Bolton et al., How Effective are Online Reputation Mechanisms?, Max Planck Institute paper 25-2002 (2002)[3] C. Dellarocas, Analyzing the Economic Efficiency of eBay-like Online Reputation Mechanism, in Proc of 3rd ACM Conf on E-Commerce, Oct 2001.[4] D. DeJong, R. Forsythe and R. Lundholm, Ripoffs, Lemons and Reputation Formation in Agency Relationships: A Laboratory Market Study, Journal of Finance40:809-823 (1985).[5] C. Kesser, Experimental Games for the Design of Reputation Management Systems, IBM Systems J. 42:498 (2003).[6] D. Klein, Reputation: Studies in the Voluntary Elicitation of Good Conduct, Univ. of Michigan Press 1997.[7] V. Smith, Bargaining and Market Behavior: Essays in Experimental Economics, Cambridge Univ. Press, 2000.。