Some Results on Greedy Embeddings in Metric Spaces Geographic Routing is a family of routing algorithms that uses geographic point locations as addresses for the purposes of routing. Such routing algorithms have proven to be both simple to implement and heuristically effective when applied to wireless sensor networks. Greedy Routing is a natural abstraction of this model in which nodes are assigned virtual coordinates in a metric space, and these coordinates are used to perform point-to-point routing.Here we resolve a conjecture of Papadimitriou and Ratajczak that every 3-connected planar graph admits a greedy embedding into the Euclidean plane. This immediately implies that all 3-connected graphs that exclude K 3,3 as a minor admit a greedy embedding into the Euclidean plane. Additionally, we provide the first non-trivial examples of graphs that admit no such embedding. These structural results provide efficiently verifiable certificates that a graph admits a greedy embedding or that a graph admits no greedy embedding into the Euclidean plane. The study of routing has a long and rich history. But for many important classes of routing problems, routing schemes that are both simple and provably effective have so far been elusive. In particular, scalable wireless sensor networks require point-to-point communication but such ad-hoc networks admit no global hierarchical addressing scheme and there are still no broadly accepted, scalable point-to-point routing schemes despite numerous proposals. Geographic Routing is a family of routing algorithms that uses geographic point locations as addresses for the purposes of routing. Such routing algorithms have proven to be * This research was supported in part by an MIT (Akamai) Presidential Fellowship both simple to implement and heuristically effective when applied to wireless sensor networks.. Recent work on routing protocols for wireless sensor networks [2] , [8] has focused particular attention on a class of 'greedy' algorithms wherein a packet at a node u that is destined for a node v is simply forwarded to any neighbor u of u for which d(u , v) < d(u, v) where d(x, y) is the Euclidean distance between the locations of x and y in the plane. For such an algorithm to guarantee delivery it must be the case that for every u and v, such a u exists (i.e. that wherever a packet is in the network, there is always a next hop that gets the packet closer in Euclidean distance to its ultimate destination).. Rao et al. [13] proposed a natural abstraction of this model in which nodes are assigned virtual coordinates in a metric space, and these coordinates are used to perform point-to-point routing.. Definition 1. A graph G = (V, E) is said to have a greedy embedding into a metric space (X, d) if there is a function f : V → X such that for every pair of distinct nodes u, v ∈ V, there exists a neighbor u of u in G such that d( f (u ), f (v)) < d( f (u), f (v)).. Papadimitriou and Ratajczak [11] considered the case where (X, d) is the Euclidean plane and gave simple examples of graphs which have a greedy embedding (e.g., Hamiltonian graphs) and graphs that admit no greedy embedding into the Euclidean plane (e.g., K r,6r+1 ). Papadimitriou and Ratajczak conjectured that all 3-connected planar graphs admit a greedy embedding into the Euclidean plane.. Kleinberg [9] considered the case in which (X, d) is the hyperbolic plane and showed that every tree (and consequently every graph) has a greedy embedding in the hyperbolic plane. However random geometric graph processes in the Euclidean plane are one of the fundamental models for reasoning about wireless ad-hoc networks [4] , [7] , [12] . And it remains a central question as to whether these generative models result in graphs that can be embedded in a metric space that is fundamentally the same as the metric space in which these graphs were generated.. Dhandapani [3] recently proved that all triangulated 3-connected planar graphs have greedy embeddings in the Euclidean plane, a relaxation of the Papadimitriou-Ratajczak conjecture. His proof made use of Schnyder Realizers, and used the geometric properties of Schnyder Drawings to find a greedy embedding.

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


Immersive structural biology: a new approach to hybrid modeling of macromolecular assemblies Abstract Advanced biophysical imaging techniques, such as cryo-electron microscopy or tomography, enable 3D volumetric reconstructions of large macromolecular complexes in a near-native environment. However, pure volumetric data is insufficient for a detailed understanding of the underlying protein-protein interactions. This obstacle can be overcome by assembling an atomic model of the whole protein complex from known atomic structures, which are available from either X-ray crystallography or homology modeling. Due to many factors such as noise, conformational variability, experimental artifacts, and inexact model structures, existing automatic docking procedures are known to report false positives for a significant number of cases. The present paper focuses on a new technique to combine an offline exhaustive search algorithm with interactive visualization, collision detection, and haptic rendering. The resulting software system is highly immersive and allows the user to efficiently solve even difficult multi-resolution docking problems. Stereoscopic viewing, combined with head tracking and force feedback, generates an ideal virtual environment for true interaction with and solution of hybrid biomolecular modeling problems. A key to understand the function of biological systems is the visualization of their natural state, ideally in a natural environment. At a molecular level, this is challenging. Traditional experimental techniques, such as X-ray crystallography, can provide the atomic structure of proteins, but only by removing them from their native surroundings and forcing them into a crystal lattice. Over the past decade, microscopy techniques have emerged as alternatives to these traditional structure determination methods, with the advantage of visualizing large multi-component molecules in a near-native state. Given the current focus of structural biology on interactions between proteins and better understanding of large protein complexes, cryo-electron microscopy (cryo-EM) has become a valuable tool (Frank 2002) . Both image acquisition techniques and the computational synthesis of 3D volumetric models from micrographs have advanced considerably. 3D reconstructions of large protein complexes or even individual proteins can now be obtained (Fig. 1) . While cryo-EM, thus, offers numerous advantages (small sample size, no need to crystallize, no packing effects, etc.), its main drawback is its inability to attain atomic resolution. Related techniques, such as cryo-electron tomography (cryo-ET; Lučić et al. 2005 ) and small-angle X-ray scattering (SAXS; Petoukhov and Svergun 2007) , also yield non-atomic resolution 3D reconstructions of protein complexes and the methods discussed in this paper are equally applicable.. The failure to achieve atomic resolution with cryo-EM, cryo-ET, or SAXS is not as big a stumbling block as one might expect. Often, crystal structures or good homology models are available for individual subunits. These known atomic structures can be docked into experimental volumetric reconstructions, yielding an atomic model of the whole complex (Steven and Baumeister 2008; Wriggers and Chacón 2001; Rossmann et al. 2005) . Currently, various docking approaches exist, the results of which have lead to a significantly better understanding of the structure and interaction of proteins and protein complexes. However, the multi-resolution docking problem poses a series of challenges, which are detailed in Sect. 2. Those challenges cannot be dealt with by fully automated, exhaustive search-based, pattern matching algorithms. User input is vital and an immersive environment is key to allow the user to efficiently dock high-resolution structures into experimental volumetric data sets. The goal of our present work is to provide a fully immersive docking environment, which utilizes stereoscopic viewing, head tracking, and haptic rendering. Only such a truly interactive approach allows an in-depth, exhaustive, and efficient exploration of a given docking problem.. The present report first discusses both docking challenges and existing fitting methods, and then describes our novel technique. The IGD approach, presented here, combines the best features of non-interactive exhaustive search techniques and purely interactive visualization methods. It provides the user with both visual and haptic feedback about global docking scores, steric clashes, and good protein-protein interfaces. The additional information supplied during IGD allows biologists to not only rely on their personal knowledge of the system but also draw on objective, software-generated, fitting information. The currently available indicators represent only the first steps for incorporating more information into multi-resolution docking procedures. In the future, we plan to include contact information from mutation experiments, distances from NMR or FRET quenching measurements, as well as improving the existing scoring functions. Finally, the ORC-Cdc6 binding example demonstrates how our new approach allows for an efficient solution of a docking problem where traditional exhaustive search techniques fail. The highly immersive environment, provided by IGD, greatly facilitates this docking task for the user.

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


Snap and share your photobooks The sharing of photos with others, friends and family, has become even more popular with digital photography and Internet applications such as email or Web albums. At the same time, the physical touch of printed photos is still appreciated and customers use different services to print their photos on post cards, calendars or photobooks, often to give them as a present or to create a physical souvenir. Once printed, however, the sharing of photos with others becomes difficult as there is no link back from the now physical item to its digital counterpart. With Bookmarkr, we developed a system that employs a mobile camera phone to bridge the gap between the printed photo and its digital counterpart. The user takes an image of a photo in a photobook with the mobile phone's camera. The image is transmitted to a photobook server, which employs image analysis techniques to retrieve the corresponding photo. The photo is sent back to the user and establishes the digital-physical match. Bookmarkr allows the user to interact with printed photos in a similar way as interacting with digital photos by using a point-and-shoot metaphor. Our performance evaluation shows that the system is able to return the correct photo in up to 99% of all cases. A conducted user study revealed that the designed interaction is suitable for the participants and their printed photobooks. In the last hundred years consumer photography became a widely used tool to document events and share personal memories. Before emergence of digital photography most photos had to be printed to paper or reversal film. With the advent of digital photography the way people use photos changed dramatically. The number of photos taken increased enormously and left the user with the problem of how to manage these collections and which ones to share with friends using which media. One can observe that after a few years in which consumers mostly shared their photos digitally by uploading them to Web albums or sending them by mail; the actual physical print is again in fashion. Europe's largest photofinisher CeWe Color 1 , for example, produced 2.8 billion colour prints in 2007 in total. On the edge from analogue to digital photography, the amount of digital photos printed by CeWe Color increased by 35.9% to 1.5 billion digital photos in 2007 [8] .. From the market development it can be observed that digital photography has not replaced printed photos. Rather physical photo products complemented digital photos. Many value added services evolved that allow customers to print their digital photos on postcards, calendars, mugs and many more. A very specific and successful product is the photobook. Supported by authoring software users can arrange their photos and annotations over the pages of a photobook and have it printed by a provider such as CeWe Color. Such photobooks, as illustrated in Figure 1 are a convenient way to preserve events. The photobook market rapidly increased in the last years. Sales figures of photobooks produced by CeWe Color, for example, exceeded one million photobooks in 2007 [7] .. Photo sharing online community sites such as Flickr 2 that hosted over two billion photos [1] in November 2007 are another rapidly increasing market. Exchanging photos with friends and colleagues with only minimal cost is a distinctive feature of digital photos compared to printed photos. To exchange a printed photo, its physical reproduction had to be produced for every recipient. By uploading digital photos to an online community site photos can be shared with a virtually unlimited number of people. However, once printed to paper exchanging and processing the now analogue photos easily is not longer possible. There is no connection between the printed photo and its digital counterpart. Users have to search their digital photo collection manually based on the analogue printout which might be a time consuming task especially for inexperienced users. What is missing is a link that connects the analogue printout with its digital representation.. We developed a system, Bookmarkr, which uses printed photobooks as anchors to their digital representation. The Bookmarkr enables users to retrieve a high resolution digital photo based on a snapshot from a printed photobook using a mobile camera phone. The user selects a photo in a photobook by shooting an image of the respective photo. The image is transmitted to a photobook server that analyses the image and compares it to the digital sources of the photobook. Using image analysis techniques the corresponding digital photo is retrieved and transmitted back to the user's mobile phone. Thus, users can snap a photo to use and share it.. In Section 2, we present related work in the field of photowork, interaction with photo collections, and computer supported interaction with the real world. The concept of the Bookmarkr system and how it supports the tasks of accessing digital photos is described in Section 3, followed by an overview of the system design and implementation in Section 4. We present a performance test of the technical solution and the user evaluation of the system in Section 5. We close this paper with a conclusion and outlook to future work in Section 6. In this paper, we presented the Bookmarkr system that enables sharing of digital photos using printed photobooks. Using a point-and-shoot metaphor, digital photos in photobooks can be selected by taking an image with a mobile phone's camera. The taken image is compared with a photo repository and the user retrieves the photographed digital photo. Using a two-stage process the photobook is selected first to narrow the search-space. Users can experience the advantages and haptic sensation of printed photobooks while enjoying the benefits of digital photos. Our performance evaluation shows that digital photos can be retrieved with a high probability if the resolution of the photo collection and the mobile phone's camera is sufficient. The conducted user study shows that all participants can use the point-andshoot technique to select photos without any problems.. The main aim of our future development is to further narrow the gap between physical and digital media. A promising approach is to bring together printed photos and online photo sharing communities that enables to share and annotate digital photos. However, we assume that a pointand-shoot interaction technique is not the best technique to access and create digital annotation. A magic lens as it has been implemented with markers for paper maps [33] seems to be the better approach. However, for objects that captivate with their visual appeal, such as printed photos, photobooks, and posters marker based approaches are clearly not acceptable. Thus we will investigate options to implement a markerless magic lens for photos. Furthermore integration with our ongoing work on Contextual Bookmarks [15] will enable the use of one system to access information related to diverse media. The system returned 179 correct photos out of 180 photos (i.e., more than 99 percent) with a pre-processing resolution of 960 pixels and a resolution of 1024 pixels for the images taken by the mobile phone. For these resolutions it took 1.9 seconds on average to retrieve a photo. Errors observed with lower resolution revealed which kinds of images are difficult to match. Typical images that lead to incorrect results are the two images shown in Figure 10 . Common for these images was that the number of detected keypoints was low due to noise and large homogeneous or blurry areas. The small number of keypoints resulted in a small number of matches below the threshold used to consider a photo as a match.. In theory the time to retrieve a photo from a collection of photos is independent of the number of photos in this collection and needs constant time due to the used heuristic. The needed memory, however, increases linear with the number of photos. In practise the robustness of the photo recognition will degrade with the number of photos in one photo collection because of the nature of the best-bin-first heuristic. Scalability of the used techniques beyond 2000 photos is not addressed in the conducted performance test. However, as described in section 3.3 the search space can be reduced if the user must select the photobook first. Thus, robust recognition for 2000 photos is sufficient if the search space can be reduced to photobooks selected by the user.. Another source of error resulted from similar photos as the two shown in Figure 11 . Such photos are very common if photographers do not remove similar photos from their photo collection. We, however, assume it is unlikely that real photobooks contain very similar photos or photos with large blurry areas. Thus, it can be concluded that we can expect even better results for user generated photobooks.. The system returned the correct result for 96.7% out of 121 images. Subtracting the two images that were only shot to stress test the system's capabilities the system returned 98.3% out of 117 images. This can be considered a promising result in particular regarding the blurriness of the taken images. One cause for the blurriness is the auto-focus mechanism of the Nokia N95 that is not able to focus on very close objects. We assume that the auto-focus abilities of mobile phones will improve in the future.. It could not be observed that different light conditions affect the robustness of the system. However, the influence of light condition was not explicitly tested but user's need proper light condition to view the photobook itself. We assume that the light conditions sufficient for users are almost covered by the system. SIFT keypoints can be matched robustly under different light conditions and using the phone's integrated flash is possible for photobooks not printed on high-gloss paper.. A remarkable aspect is that all participants even the elderly, that do not own a mobile phone nor use a computer were able to understand and use the system. However, in particular older persons might not see the system's benefit because many of them believe to have no use for digital photos in general. The average processing time to retrieve one photo out of 2000 was between 0.68 and 3.39 seconds. It took 0.68 seconds for a resolution of 480 pixels for the pre-processed photos and a resolution of 640 pixels for the image taken by the mobile phone. For a pre-processing resolution of 1440 pixels and an image size of 1280 pixels it took 3.39 seconds. The average processing time per image is shown in Figure 8 .. In addition, the number of images without a match (because all photos' number of matches was below a threshold) and the number wrong matches was recorded. Figure 9 shows the number of errors for the four image sizes 640 pixels, 800 pixels, 1024 pixels, and 1280 pixels and a fixed photo collection size of 960 pixels on the left. On the right the number of errors is shown for the four photo collection sizes 480 pixels, 640 pixels, 960 pixels, and 1440 pixels with a fixed image size of 1024 pixels. The highest number of wrongly returned photos was four wrong photos for a resolution of 480 pixels used for pre-processing the photo collection. In addition, with this resolution the system returned no photo for two request images. With a resolution of 960 pixels used for pre-processing the photo collection and an image size of 1024 pixels 179 photos were determined correctly and for one image no photo could be determined.. Each participants took twelve images on average resulting in 121 images. For 117 taken images the system returned the correct result (96.7%). For the remaining four images (3.3%) the system returned no result. Two participants signalized that they would like to stress test the system's capabilities (e.g. "Lets see if this also works") before taking an image that could not be recognized. Figure 13 shows four examples of images taken by the participants. On the top are two examples that were correctly recognized and on the bottom are two examples that could not be recognized. Another photo taken during the evaluation that was correctly recognized is shown in Figure 4 . In general the vast majority of Figure 13 : Examples of images taken with a Nokia N95 during the user study.. the taken images are very blurred. It could be observed that most images were close-ups consisting of only a fraction of the respective printed photo.. Two participants mentioned that they are afraid of using the system after the system was explained. They stated that they are not used to handling mobile phones. For these two and an additional participant it was difficult to handle the mobile phone with one hand. They repeatedly held their fingers in front of the phone's camera while trying to take an image. Apart from holding the phone and pressing it's keys no participant had difficulties in using the system. For one participant the introduction to the system was not sufficient. After taking four images she realized that the photos shown on the phone's display are not the images she took with the phone's camera.. The questionnaires revealed the following insights. Tools participants use to show their photos at home are diverse. Most often mentioned tools are printed photos (9 times), notebooks (7 times), digital cameras (7 times), and desktop computers (3 times). Participants stated that they would like to receive photos from others either occasionally or often (M = 2.3, SD = 0.82). They are occasionally promised to receive photos they never obtained (M = 2, SD = 1.15). All but two participants rated the system as easy or very easy to use (M = 3.2, SD = 0.79). Most participants could envision using the system (M = 2.5, SD = 1.08). They would like to use the photos received on the mobile phone to order printed photos (8 times), send them via e-mail (5 times) or to their desktop computer (2 times), and view them on the mobile phone (2 times). Most participants envision letting others use the system to annotate their photos (M = 2.9, SD = 0.99). Personal photo collections in general have received a great share of attention in the research fields of multimedia and human computer interaction. Most attention has been given to the question of how people create and manage their photos (e.g. [31, 29, 22] ). Since we aim to support (co-located) sharing of photos we focus on this aspect in the following.. An investigation of how people use printed and digital photos has been carried out by Frohlich et al. [14] . They derived requirements for "Photoware" (tools that support tasks performed with photos) from interviews with eleven families and emphasise the necessity of tools for remote and co-located photo sharing. Crabtree et al. [10] carried out another study of printed photo use and identified an aversion amongst many users towards collaborative sharing through the use of existing digital technologies. They report that people tend to print photos in order to share them with others co-presently. Both Crabtree and Frohlich highlight that co-located photo sharing is a highly communicative process. A survey from the Photo Marketing Association [30] shows that the main reasons for taking pictures with a digital cam-era are to preserve memories and to share photos with others. Miller and Edwards conducted a study of the digital photo-sharing site Flickr [26] . They identified two user categories the "Kodak Culture" people that communicate primarily within their existing social group and the "Snaprs" representing a hybrid of traditional amateur photography, Kodak Culture, and blogging.. Some systems have been developed that support the sharing of photos. Balabanovic et al. [2] present a handheld device that aims to offer some of the advantages of printed and digital photos by enabling recording and playback of stories. Hilliges et al. developed a system to interact with photo collection in an instrumented environment [17] . Counts and Fellheimer designed and evaluated a mobile photo sharing tool based on Pocket PCs [9] . Likewise, Van House et al. investigated peoples use of a camera phone application that automatically uploads taken photos to a website [18] . Nunes et al. mention that within the home digital photos are hard to access and lack the physical benefits that makes sharing easy and opportunistic [28] . Consequently they developed a system that links digital photo sets to physical memorabilia.. To not completely displace the physical artefacts, such as printed photos, by their digital counterpart several approaches to enhance the interaction with physical artefacts exists. These can be distinguished in direct interactions such as touching or pointing and indirect interactions such as using the mobile phone as a remote control (e.g. [3, 34] ). Fitzmaurice was one of the first who predicted the use of mobile devices for pointing based interactions. He described for instance an application with which the user could point onto certain locations on a map in order to get additional information [13] . In recent years more systems emerged that provide information related to physical objects. Mobile devices are used more and more for this kind of interaction. A common way to implement such systems is to mark objects either with visual markers [32] or with electronic tags [36] . Barcodes can be seen as the first implementation of visual markers back in 1948. Since special barcode readers are needed to read barcodes traditional barcodes are not used by common consumers. Thus, 2D barcodes such as QR codes [20] have been developed that can be read using the latest mobile phones. Some of the newer mobile phones also have integrated RFID reader that can be used to access related digital information and services.. Another approach is using digital images of objects to find the corresponding digital information using content based image analysis. Liu et al. use the camera of a mobile phone to select documents displayed on computer screens [24] . Erol and Hull use mobile phones' cameras to enable the user to select presentation slides by taking images of the slides [11] . Fan et al. developed a multimodal search engine which takes a photo and a textual query to find related images and web pages [12] . Finally, Zhou et al. developed a system to acquire information related to sights by taking a photo [37] and Henze et al. developed a system to access services related to posters and public displays using image and context analysis [15] . The main parts of the Bookmarkr system are the preprocessing of photo collections and the matching of received images created by a mobile phone's camera with preprocessed photos. These two steps are described in the following sections. Afterwards the implementation of the system is outlined.

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


Tracing Many Users With Almost No Rate Penalty Abstract-For integers n; r 2 and 1 k r, a family F of subsets of [n] = f1;...;ng is called k-out-of-r multiple-user tracing if, given the union of any` r sets from the family, one can identify at least min(k;`) of them. This is a generalization of superimposed families (k = Let [n] = f1; 2; . ..; ng, and let F 2. [n] be a family of subsets of [n] . F is called r-superimposed if given the union of up to r sets from F , one can identify all those sets. The problem of determining or estimating f (n; r)-the maximum possible cardinality of an r-superimposed family of subsets of [n] has been considered in various papers [1] - [6] . This problem can be posed as a group testing problem, which is motivated by practical problems in molecular biology. Examples include the quality control of DNA chips, closing the remaining gaps in the genome at the end of a sequencing project, and clone library screening. For more details see [7] and references therein. As shown in [1] , [6] , [3] A weaker requirement is that, given the union of up to r sets, one will be able to identify at least one of those sets. Such families are called r-single-user tracing superimposed (r-SUT), and were introduced by Csúrös and Ruszinkó [7] . This problem is also motivated by applications in molecular biology, where, for example, a group of DNA sequences that carry relevant genomic information is under study, and the objective is to find at least one sequence with this information. Let g(n; r) denote the maximum possible cardinality of an r-SUT family of subsets of [n] . The rate of such families is log g(n; r) n = 2 1 r :. The upper bound was proved in [7] and the lower bound in [8] . In this correspondence, we improve their result and show that there exist absolute constants c1; c2; c3; c4 > 0 such that min Throughout the correspondence, log stands for the binary logarithm, and we omit all floor and ceiling signs whenever these are not crucial.

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


Tuning Struggle Strategy in Genetic Algorithms for Scheduling in Computational Grids AbstractJob Scheduling on Computational Grids is gaining With the emerging paradigm of Grid Computing and the development of Grid infrastructures, Grid-based applications are becoming a common approach for solving many complex problems. A key issue in this kind of applications is scheduling jobs into Grid resources efficiently, which is known to be computationally hard and much more difficult than its standard version for sequential or LAN computation environments.. Job Scheduling on Computational Grids is gaining importance due to the need for efficient large-scale Grid-enabled applications, e.g. in Optimization (Casanova et al. [1] , Goux et al. [2] and Wright [3] ), Collaborative/eScience Computing (Newman et al. [4] , Paniagua et al. [5] ) and many applications arising from concrete types of eScience Grids such as Science Grids, Access Grids, Knowledge Grids and in DataIntensive Computing (Beynon al. [6] ). Scheduling is a challenging problem in a Grid environment due its dynamic nature and the large number of resources to be managed and jobs to be scheduled. Furthermore, resources can have their own local policies (regarding access, cost etc.) to be taken into account. The problem is multi-objective in its general definition, as there are several optimization criteria to be matched, such as makespan, flowtime, and resource utilization.. Several approaches are being addressed in the literature for the problem (Abraham et al. [7] , Braun et al. [8] , Xhafa [9] , Xhafa et al. [10, 11] , Zomaya et al. [12] ) aiming to obtain schedulers capable of delivering fast planning of jobs to computational resources of the grid system. In particular, Genetic Algorithms (GA) [13] have proved to be a good alternative for solving a wide variety of hard combinatorial optimization problems. GAs are a population-based approach where individuals represent possible solutions, which are successively evaluated, selected, crossovered, mutated and replaced by simulating the Darwinian evolution found in nature.. The research work on GAs has shown that a key issue in GAs is the convergence of the algorithm: a fast convergence of the population would stagnate the search to local optima whereas slower convergence would require a considerably longer time towards suboptimal solutions. The convergence of GAs is achieved by means of selection and replacement strategies and it is, therefore, very important to carefully tune these strategies. In particular, the selective pressure directly affects the tradeoff between the exploration and exploitation of the search space. Indeed, if the population converges rapidly GA would give more priority to the exploitation and, vice-versa, when the population is kept diverse, other regions of the search space would be explored aspiring thus to find better solutions.. In this work, we focus on the importance of tuning the replacement mechanism of GA for scheduling in computational grids. The interest in investigating this aspect is motivated by the need to design efficient schedulers that will be able to deliver fast and quality planning of jobs to resources rather optimal solutions in a dynamic environment. More precisely, we study the tuning of the Struggle strategy (Grueninger [14] ), which is known for its effectiveness but suffers from a high computational cost.. The rest of the paper is organized as follows. In Section 2, we briefly present the scheduling of independent jobs considered in this work. The Struggle strategy together with similarity measures are introduced in Section 3. The experimental study and some computational results are given in Section 4. We conclude in Section 5 with some remarks and indications for future work. In this paper we have presented some results on tuning Struggle GAs the problem of scheduling of independent jobs in computational grids. This version of the scheduling requires fast reduction of makespan due to the changeability of the computational environment. In this work we have proponed hashbased implementations of the struggle genetic operator for the Gas for the problem. The resulting struggle operator showed several good properties:. • It is efficient: the quadratic computational time (in terms of the population time) is reduced to a linear time and hence the overall proper search time of the GA is increased.. • It allows to efficiently tackling large scale scheduling problems by considering larger size populations, due to the linear factor computational time.. • It achieves to introduce new individuals of better genetic information into new generation.. • It is robust: the resulting Struggle GA performed very well on almost all considered instances representing different heterogeneous computing environments. In our future work, we plan to consider other similarity measures, now based on binary representations of taskresource allocation. Also, we would like to consider clustering-like techniques, for instance, K-clustering, to increase the performance of the struggle operator.

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


Document-oriented heterogeneous business process integration through collaborative e-marketplace In this paper, we studied the semantic consistency maintenance issue between heterogeneous contexts, that is, how a firm" business process of one e-marketplace can be transformed to another firm"s business process of another e-marketplace in a semantically consistent way. The proposed solution of this paper uses XML Product Map (XPM) of collaborative concept to represent semantically consistent business processes, and adopts common action concept pool and XPM documents to design heterogeneous business processes that are suitable for heterogeneous business process transformation. We motivated the approach with a realworld PVC poncho trade problem and explained it in architecture of collaborative process design and automatic service provision. We reported the implementation specification within a hybrid human-agent framework, where four layers of system modules are specified. The approach is evaluated based on a new semantic impact chain method particularly for evaluating concept consistency in meaning representation between heterogeneous contexts of business processes. Business process is an important research area in e-commerce. A better understanding of business process helps us create automatic enterprises [3] , enable e-business collaboration between firms [14] , enhance customer relationship [11] , forge stronger supply chain [15] and improve business knowledge management [2] .. In general, business processes are defined as "a set of logically related tasks performed to achieve a defined business task" [4] . Technically, business process is often defined as a collection of activities, where each activity composes an input, a method and an output. By this definition, business process standards are often promoted to enable business activities to be performed between business partners. For example, popular business process standards can be found in OMG.org (e.g. BMM, BPDM and BPMN), OASIS-open.org (e.g. WSBPEL), Microsoft (e.g. BizTalk), and ebXML.org (e.g. ebBP). These business process languages assume that business partners are able to interoperate with each other in their given business process standards.. In real-world business practices, a business process proceeds forward in a way of exchanging different business documents between known or unknown trading partners. For example, a trading process is initiated from sending an inquiry sheet by the inquirer to potential bidders. Then if any bidder is interested in the received inquiry, it will make an offer and send back to the inquirer. After that, counteroffers may follow back and forth between the inquirer and the bidder until the process stops or the acceptance is made by either the inquirer or the bidder for writing the formal contract to legally bind what they have agreed. This trading process implies that the essence of a business process is the exchange of different yet causally related documents such that an antecedent business document is an input of an action that produces a posterior business document. Very obviously, many actions between different antecedent and posterior documents constitute a business process. Another implication of this example is that the used documents between the inquirer and the bidders may be different in formats and term usages. In a traditional paperbased business process, it may not be a problem because a received business document, though it may be different in term usages, human can find out ways to flexibly interpret them exactly or send back for clarification. However, in a modern electronic business process, it will be a problem because computers cannot disambiguate term meanings without any predefined rules.. In the rest of this section, we will exemplify the problem of ebusiness process by describing a real PVC poncho trade process. In this paper, we studied the semantic consistency maintenance issue between heterogeneous contexts, that is, how a firm" business process of one e-marketplace can be transformed to another firm"s business process of another e-marketplace in a semantically consistent way. The proposed solution of this paper uses XML Product Map (XPM) of collaborative concept to represent semantically consistent business processes, and adopts common action concept pool and XPM documents to design heterogeneous business processes that are suitable for heterogeneous business process transformation. We motivated the approach with a realworld PVC poncho trade problem and explained it in architecture of collaborative process design and automatic service provision. We reported the implementation specification within a hybrid human-agent framework, where four layers of system modules are specified. The approach is evaluated based on a new semantic impact chain method particularly for evaluating concept consistency in meaning representation between heterogeneous contexts of business processes.. Our approach has advantages comparing with known solutions. (1) We do not rely on single business process standards that cannot cope with the issue of semantic consistency maintenance, but a set of collaboratively designed and mapped cross-domain business processes for enabling heterogeneous business process transformation. ( 2) The architecture we provide is collaborative, distributed, role-based and service-oriented. It is highly flexible for many semantically different systems to both join and leave without unfavorable consequences. Technically, the flexibility is reflected in the freedom of multiple e-marketplace participation and multiple levels of personalization in basic concepts (including products), composite document concepts and complex process pattern concepts. (3) The categorization of complex concepts into basic, composiste, action and reified concepts help understand what the essential components are for a generic business process.. (4) We introduce a common action concept pool to collaboratively design common business processes that are apt for localize and use in heterogeneous business contexts. This pool enables heterogneous business processes to be freely and semantically reassembled using different action concepts. (5) We devise electronic document oriented and PRODUCT MAP based busines processes to ease the integration and transformation of heterogeneous business processes. (6) We use XPM to represent business processes. It helps the separation of business process structure representation from business process concept representation, which enhances the design reusability of both process structures and process concepts. (6) The evaluation method of semantic impact chain we provide helps find possible problems of the designed system in semantic consistency between heterogeneous business processes.. The main limitations of our work are: (1) a considerable large set of system participants should be included for evaluating the impact of possible semantic consistency. (2) XPM specification for business process has not been evolved to include public reusable action logic (i.e. public executables defined in <logic>). Action logics must be designed individually in different firms by themselves when they localized the common business processes.. Based on COPEX approach, there could be many future works that could be extended. For example, in legal aspect, how to guarantee an e-document (e.g. an offer/quotation) is legally binding by following which laws when it is corss two legal territory. In information security aspect, how to guarantee the confidentiality and integrity of the transmitting XPM e-documents. In the aspect of international process standard interoperability, how to enable XPM-based COPEX business processes to be interoperable with the exisiting business process standards (currently we simply regard an international standard as a business process specification of a local FIRM).. Nevertheless, in the near future, we only intend to extend the work in the following directions: (1) Provide a demonstratible heterogeneous business process transformer. (2) Provide a demonstratible collaborative business process editor and a demonstratible business process localizer. (3) Publish a stable XPM specification for guiding the design of business process. Yet we hope this work could attract more people to work towards COPEX related research issues.

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


Perceptually-supported image editing of text and graphics This extended abstract reprises our UIST '03 paper on "Perceptually-Supported Image Editing of Text and Graphics." We introduce a novel image editing program, called ScanScribe, that emphasizes easy selection and manipulation of material found in informal, casual documents such as sketches, handwritten notes, whiteboard images, screen snapshots, and scanned documents. A longstanding goal in graphics has been to develp "smart" image editors that reflect awareness, at some perceptual or semantic level, of the content of the image material being manipulated. These would enable easy selection of complex objects or sets of related objects, recognition and conversion of hand writing and drawing into structured entities, and "follow-my-example" acceleration of multi-step and repeated operations. This work focuses on the first of these, convenient selection, in a targeted imagery domain, document images.. Photographic image editors such as Adobe Photoshop gain power to the extent that they employ "smart scissors" and other techniques for establishing selection regions. But professional-level image editors are overly complicated for many purposes and are not designed to facilitate editing of document image material in particular. Their notion of image layers provides an organizing principle for the critical function of grouping collections of pixels together. But conventional image layers can be difficult to learn and use, and demand significant attention of the user.. We have implemented a prototype document image editor, called ScanScribe, whose goal is WYPIWYG image editing: "What You Perceive Is What You Get." The tool is designed to maintain representations of the image objects and visual structures the user is likely to perceive as sensible chunks or objects to select, and make these readily available via the interface. In general this can entail image analysis and recognition which can become arbitrarily complex. ScanScribe's architecture provides a framework in which recognition algorithms can be brought in incrementally, and are not required to work perfectly to provide useful results.. ScanScribe offers four significant advances. First, it presents a new, intuitive model for maintaining image objects and groups, along with underlying logic for updating these in the course of an editing session. Independent objects are formally equivalent to image layers, and groups, to collections of layers. These are advantageously implemented beneath the level of the users' conscious awareness, and without consuming screen space for complicated layer control apparatus.. Second, ScanScribe takes advantage of newly developed image processing algorithms to separate foreground markings from a white or light background, and thus can automatically render the background transparent so that image material can be rearranged without occlusion by background pixels.. Third, ScanScribe introduces new interface techniques for selecting image objects with a pointing device without resorting to a palette of tool modes. Lasso, rectangle drag, and point-and-click selection are overloaded so that they are all immediately available. The success of this design depends on the foreground/background separation previously mentioned. Additionally, selection among alternative groupings of atomic level primitive objects is integrated seamlessly with the point-and-click selection protocol.. Fourth, ScanScribe presents a platform for exploiting image analysis and recognition methods to make perceptually significant structure readily available to the user. In contrast to the conventional hierarchical tree model for grouping, ScanScribe employs a lattice model whereby any atomic image element may participate in multiple groups. This design respects the richness and compositional structure of human perception of visual scenes. Perceptual structuring occurs in two stages. First, the original undifferentiated bitmap is segmented into primitive image objects by an automatic mechanism. Second, sensible groupings of these primitives are formed through algorithms mimicing the Gestalt laws of perceptual organization. These are expressed as groups in the lattice and are accessible through the selection protocols outlined above. Although our current perceptual structuring algorithms are crude, they delineate the powerful role that computer vision algorithms will have in creating smart image editors, as they mature.. As a package, the ScanScribe document image editor combines new user interface techniques, a novel arrangement of extant methods, and newly developed image processing algorithms, amounting to a uniquely distinct user experience and a framework for enhancing this experience as document image analysis techniques improve over time.. In its research prototype form, ScanScribe has proven useful in the work of members of our laboratory, and has been released for user testing and evaluation. The program runs in Java and may be downloaded at "http://www.parc.com/scanscribe.". Saund, E., Fleet, D., Larner, D., and Mahoney, J. 2003. Perceptually-Supported Image Editing of Text and Graphics. In Proceedings ACM UIST 2003, 183-192.

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


Indexing and retrieval of scientific literature The web has greatly improved access to scientific literature. However, scientific articles on the web are largely disorganized, with research articles being spread across archive sites, institution sites, journal sites, and researcher homepages. No index covers all of the available literature, and the major web search engines typically do not index the content of Postscript/PDF documents at all. This paper discusses the creation of digital libraries of scientific literature on the web, including the efficient location of articles, full-text indexing of the articles, autonomous citation indexing, information extraction, display of query-sensitive summaries and citation context, hubs and authorities computation, similar document detection, user profiling, distributed error correction, graph analysis, and detection of overlapping documents. The software for the system is available at no cost for non-commercial use. The progress of science has often been hampered by the inefficiency of traditional methods of disseminating scientific information. Publication delays, and the difficulty in easily locating all relevant literature, mean that researchers are not always working with the most up-to-date and comprehensive information available. The World Wide Web, along with search engines such as AltaVista, have greatly improved the dissemination and retrieval of an increasingly large body of information [ 1, 20, 211 . However the major web search engines such as AltaVista do not index the content of a large body of scientific literature on the publicly indexable web:. 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 advant -age 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. CIKM '99 11199 Kansas City, MO, USA 0 1999 ACM l-58113-146-1/99/0010...$5.00. Postscript or PDF copies of research articles. This article discusses the creation of an index of scientific literature on the web, called CiteSeer, along with several features that improve access to scientific literature.. The purpose of this paper is to outline the CiteSeer project, to provide details of several aspects of the project not contained in the previous papers that focus on the citation indexing component [3, 131 , and to encourage work on the CiteSeer project or related projects (the software and data from CiteSeer is available at no cost for non-commercial use). There are many freely available indices of scientific literature on the web, examples include the LANL e-Print archive, NCSTRL, UCSTRI, ML Papers, LTRS, NZDL, CORA, and CORR. There are also many commercial services, one of the most well-known being the Science Citation Index (http: //www . isinet . corn/). The effectiveness of the available services varies according to discipline. The most successful free service appears to be the LANL e-Print archive [ 141, which has had great success in the physics community (a plan to shut down the service could not be carried out due to the response from the user community). These services are mostly complementary, providing different levels of comprehensiveness, recency, and features. None of the indices are comprehensive, so using multiple indices increases coverage, similar to using multiple web search engines [20, 2 1, 241. 3 CiteSeer The CiteSeer project at NEC Research Institute [13] aims to improve the dissemination, retrieval, and accessibility of scientific literature. Specific areas of focus include the effective use of the capabilities of the web, and the use of machine learning. CiteSeer locates scientific articles on the web, extracts information such as the citations, citation context, article title, etc., and performs full-text indexing and autonomous citation indexing. Rather then providing just another digital library, CiteSeer provides algorithms, techniques, and software that can be used in other digital libraries. The project encompasses areas including: Page et al. [22, 6] and Kleinberg [ 171, CiteSeer aims to identify "hubs" and "authorities" in the scientific literature. 9. Userprojiling. CiteSeer has a user profiling system which tracks the interests of users and recommends new citations and documents when they appear. 10. Distributed error correction. CiteSeer allows users of the system to correct errors in the database. 11. External links. Where possible, CiteSeer links to articles in external databases. 12. Universal article access. Access to details, statistics, and external links for articles using a standard article key.. The following sections provide more details on these areas of the CiteSeer project. CiteSeer uses a more efficient approach to the location of articles on the publicly indexable web. Specifically, CiteSeer uses web search engines such as AltaVista to directly locate pages likely to contain research articles. Multiple queries are used to the search engines using various keywords likely to match pages containing scientific articles (e.g. "Postscript", "PDF', "technical report", "conference", "proceedings", etc.). Multiple search engines are used because this substantially improves the coverage of the web [20, 21] . This method has a number of advantages. The method avoids the duplication of work involved in crawling the web, and allows the combination of search engines which substantially improves coverage over any single crawler currently available. The method also allows easy customization of the database to specific areas of the literature by including appropriate keywords in the queries. Hundreds of thousands of scientific articles can be quickly and efficiently located using this technique.. CiteSeer also supports crawling functionality, designed to be used from start pages located similar to the techniques above. We are not yet using this functionality because of the success of the more directed approach. Additionally, CiteSeer monitors mailing lists, automatically indexing new documents as they are posted.. Once services like CiteSeer become common, we expect that many researchers will register their papers directly, making all of these techniques less necessary (thousands of papers have already been registered with CiteSeer). CiteSeer aims to be as up to date as possible. Therefore the indexing is designed for continuous operation, so that updates can be performed continuously, without building or merging a new index. Index organization is similar to previous work [8, 11, 271 . CiteSeer maintains the usual hash table of words (inverted index) where each entry contains a compressed version of the word and a pointer to a block in a variable length record file that contains the matching documents and corresponding positions within the documents (compressed into a single bit stream with variable length identifiers). As the entries for each word grow the space allocated for them grows as a power of 2. CiteSeer supports full Boolean, phrase and proximity retrieval, using a standard recursive descent parser.. CiteSeer does not use any "stop" words (common words like "the", "a", etc. that are typically excluded from indexing). This is important for allowing higher precision search. One example where this is important is when searching for a specific author. Often author names are only specified in citations using initials instead of the full name. When looking for information on an author with a common last name it is important to be able to restrict the results only to those items that contain the correct first name or author initials. Thus, it is necessary to be able to search for phrases containing initials.. With a test database of about 200,000 documents and over 2.5 million citations, queries are typically executed in a fraction of a second on a Pentium Pro 200 machine. Performance degrades to about one second or longer when queries include phrases that contain very common words. In the demonstration database, queries using author initials (for example, "m jordan" or "m i jordan") are common, accounting for about 20% of all queries. These queries were often taking severai seconds due to the very frequent occurrence of initials in citations. In order to speed up these queries we cache the list of word positions and maintain a hash table for each initial indexed by document identifier (each entry contains the list of positions within the document). Proximity comparisons including initials typically do not need to examine the entire document list anymore. We randomly selected 25 queries that did not use initials and 25 that did in order to quantify the speedup. Table 1 shows the results. Without the speedup queries with initials were 7 times slower than other queries on average. With the speedup the queries with initials executed faster than the other queries.

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


On-line arbitrarily vertex decomposable trees A tree T is arbitrarily vertex decomposable if for any sequence of positive integers adding up to the order of T there is a sequence of vertex-disjoint subtrees of T whose orders are given by . An on-line version of the problem of characterizing arbitrarily vertex decomposable trees is completely solved here. A tree T is said to be arbitrarily vertex decomposable if for any sequence (t 1 , . . . , t k ) of positive integers adding up to |T | = |V (T )| (the order of T) there is a sequence (T 1 , . . . , T k ) of vertex-disjoint subtrees of T such that |V (T i )| = t i for i = 1, . . . , k.. The notion of an arbitrarily vertex decomposable (avd for short) tree has been introduced independently by Barth et al. in [1] and Horňák and Woźniak in [4, 5] .. It is useful to redefine the standard notation for integer intervals: for p, q ∈ Z we put [p, q] := {z ∈ Z : p z q} and [p, ∞) := {z ∈ Z : p z}. We denote by deg T

B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On total domination vertex critical graphs of high connectivity A graph is called γ -critical if the removal of any vertex from the graph decreases the domination number, while a graph with no isolated vertex is γ t -critical if the removal of any vertex that is not adjacent to a vertex of degree 1 decreases the total domination number.A γ t -critical graph that has total domination number k, is called k-γ t -critical. In this paper, we introduce a class of k-γ t -critical graphs of high connectivity for each integer k ≥ 3. In particular, we provide a partial answer to the question ''Which graphs are γ -critical and For many graph parameters, criticality is a fundamental question. Much has been written about those graphs where a parameter (such as connectedness or chromatic number) goes up or down whenever an edge or vertex is removed or added. In this paper, we continue the study of total domination vertex critical graphs introduced by Goddard, Haynes, Henning, and van der Merwe [3] .. Total domination in graphs was introduced by Cockayne, Dawes, and Hedetniemi [2] and is now well studied in graph theory. The literature on this subject has been surveyed and detailed in the two excellent domination books by Haynes, Hedetniemi, and Slater [5, 6] .. For notation and graph theory terminology we in general follow [5] . Specifically, let G = (V , E) be a graph with vertex set V of order n and edge set E. We denote the degree of v in G by d G (v) The minimum cardinality of a total dominating set is the total domination number, denoted as γ t (G). A total dominating set of cardinality γ t (G) we call a γ t (G)-set.. Let G = (V , E) be a graph and let S ⊆ V and v ∈ S. We denote the subgraph of G induced by S by G [S] . The minimum degree of G is denoted by δ(G). A vertex w ∈ V is an S-private neighbor of v if N(w) ∩ S = {v}. Further, the S-private neighborhood of v, denoted as pn(v, S), is the set of all S-private neighbors of v.. We say that a vertex v in a graph G is critical if γ t (G − v) < γ t (G). Since total domination is undefined for a graph with isolated vertices, we say that a graph G is total domination vertex critical, or just γ t -critical, if every vertex of G that is not adjacent to a vertex of degree 1 is critical. In particular, if δ(G) ≥ 2, then G is γ t -critical if every vertex of G is critical. If G is γ t -critical, and γ t (G) = k, then we say that G is k-γ t -critical. For example, the 5-cycle is 3-γ t -critical as is the complement of the Petersen graph, and the 6-cycle is 4-γ t -critical. We also note that K 2 is trivially 2-γ t -critical. We remark that our terminology used for total domination vertex critical graphs is similar to that used for domination vertex critical graphs. For. The study of γ -critical graphs was begun by Brigham, Chinn, and Dutton [1] .. In [3] Our aim in this paper is twofold. Our first aim is to introduce for each integer k ≥ 3, a class of k-γ t -critical graphs of high connectivity. Our second aim is to provide a partial answer to Question 1, by presenting an infinite family of graphs that are γ t -critical but not γ -critical.

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


High-Performance Remote Access to Climate Simulation Data: A Challenge Problem for Data Grid Technologies In In numerous scientific disciplines, terabyte and soon petabyte-scale data collections are emerging as critical community resources. A new class of so-called Data Grid infrastructure is required to support management, transport, distributed access to, and analysis of these datasets by potentially thousands of users. One group of researchers that faces this challenge is the Climate Modeling community. Climate modeling is a challenging problem as extremely long-duration computations are accompanied by frequent output of very large files that are needed to analyze the simulated climate variability. The simulations then must be compared with what is known about the observed variability.. As the complexity and size of the simulations grow, the ability to generate model output threatens to outpace the ability to archive the output and to transport it from site to site. As an example, running a high-resolution ocean model on present-day computers with peak speeds in the 100-gigaflop range can generate a dozen multi-gigabyte files in a few hours at an average rate of about 2 MB/second. Computing a century of simulated time takes more than a month to complete and produces about 10 TB of archival output. Archival systems capable of storing hundreds of terabytes are required to support calculations of this scale on a regular basis. Moving to one-teraflop systems and beyond is expected to multiply these figures by a factor of ten or more, making Petabyte archives essential.. This tremendous volume of simulation data has the potential to revolutionize our understanding of complex climate processes. However, in order for this potential to be realized, geographically distributed teams of researchers must be able to effectively and rapidly develop new knowledge from these massive, distributed data holdings and share the results with a wider community. Fundamentally new methodologies for managing, accessing, recombining, analyzing and intercomparing distributed data are required if target research goals are to be realized. To address this critical problem, we established the Earth System Grid (ESG) project, with the goal of creating a next generation environment that harnesses the combined potential of massive distributed data resources, remote computation, and high-bandwidth wide-area networks as an integrated resource available to the research scientist.. In this article, we describe progress made to date in the ESG project. In particular, we describe the end-toend functionality of our current ESG prototype, which integrates a number of advanced analysis and Data Grid technologies such as replica management, data transfer, request management, and others to support high-performance, interactive analysis of replicated data. As part of the prototype demonstration at the SC'2000 conference in November 2000, we conducted extensive usability and performance experiments, in which we demonstrated our ability to manage the location and movement of large datasets from the user's desktop. In addition to demonstrating the end-to-end functionality of the prototype, we evaluated the performance of one of its main components: our secure, efficient data transfer protocol. We focused on data transfer performance because transfers tend to dominate overall application performance for dataintensive applications such as climate modeling. We report on a national-scale experiment conducted over the SciNET network at the SC'2000, during which we achieved a peak performance of 1.55 Gb/s and sustained performance of 512.9 Mb/s for transfers of ESG climate model data between Dallas, Texas and Berkeley, California. DODS, the Distributed Oceanographic Data System [12] , has focused on the complementary problem of providing remote access to a data file. DODS has a multi-tier client/server architecture. On the client side, DODS APIs may be linked into an application, thus enabling it to access remote data via URL. DODS servers provide filters for a number of different data formats (e.g. netCDF, HDF, JGOFS, MATLAB, and Freeform) that provide subsetting and format translation of managed data in response to client requests. DODS was designed with a heavy emphasis on generality and relies solely upon HTTP as a transport protocol. While this approach facilitates easy deployment, it is not well-suited to HPC applications or very large data movement over high-bandwidth wide-area networks. In addition, DODS does not currently address wide-area security requirements, replica management, access to secondary storage, or distributed catalog functions.. The Storage Resource Broker (SRB) [3] from the San Diego Supercomputing Center is middleware infrastructure that provides a uniform, UNIX-style file I/O interface for accessing heterogeneous storage resources distributed over the wide area network. Using its Metadata Catalog (MCAT), SRB provides collection-based access to data based on high-level attributes rather than on physical filenames. SRB also supports automatic replication of files on storage systems controlled by SRB. In contrast to the layered Globus architecture with direct user and application control over replication, SRB uses an integrated architecture, with all access to data via the SRB interface and MCAT and with SRB control over replication and replica selection.

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