Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Richard Sharp is active.

Publication


Featured researches published by Richard Sharp.


international conference on mobile systems, applications, and services | 2005

WALRUS: wireless acoustic location with room-level resolution using ultrasound

Gaetano Borriello; Alan L. Liu; Tony Offer; Christopher Palistrant; Richard Sharp

In this paper, we propose a system that uses the wireless networking and microphone interfaces of mobile devices to determine location to room-level accuracy. The wireless network provides a synchronizing pulse along with information about the room. This is accompanied by an ultrasound beacon that allows us to resolve locations to the confines of a physical room (since audio is mostly bounded by walls). We generate the wireless data and ultrasound pulses from the existing PCs in each room; a PDA carried by a user listens for both signals. Thus, our approach does not require special hardware. We do not use ultrasound to send data. As a result we dramatically reduce the computational burden on the mobile device while also decreasing the latency of location resolution. Our results indicate that (i) ultrasound detection is robust even in noisy environments with many reflective surfaces; and (ii) that we can determine the correct room within a couple of seconds with high probability even when the ultrasound emitting PCs are not synchronized.


Mobile Computing and Communications Review | 2005

Using visual tags to bypass Bluetooth device discovery

David J. Scott; Richard Sharp; Anil Madhavapeddy; Eben Upton

One factor that has limited the use of Bluetooth as a networking technology for publicly accessible mobile services is the way in which it handles Device Discovery. Establishing a Bluetooth connection between two devices that have not seen each other before is slow and, from a usability perspective, often awkward. In this paper we present the implementation of an end-to-end Bluetooth-based mobile service framework designed specifically to address this issue. Rather than using the standard Bluetooth Device Discovery model to detect nearby mobile services, our system relies on machine-readable visual tags for out-of-band device and service selection. Our work is motivated by the recent proliferation of cameraphones and PDAs with built-in cameras. We have implemented the described framework completely for Nokia Series 60 cameraphones and demonstrated that our tag-based connection-establishment technique (i) offers order of magnitude time improvements over the standard Bluetooth Device Discovery model; and (ii) is significantly easier to use in a variety of realistic scenarios. Our implementation is available for free download.


compiler construction | 2005

Task partitioning for multi-core network processors

Robert Ennals; Richard Sharp; Alan Mycroft

Network processors (NPs) typically contain multiple concurrent processing cores. State-of-the-art programming techniques for NPs are invariably low-level, requiring programmers to partition code into concurrent tasks early in the design process. This results in programs that are hard to maintain and hard to port to alternative architectures. This paper presents a new approach in which a high-level program is separated from its partitioning into concurrent tasks. Designers write their programs in a high-level, domain-specific, architecturally-neutral language, but also provide a separate Architecture Mapping Script (AMS). An AMS specifies semantics-preserving transformations that are applied to the program to re-arrange it into a set of tasks appropriate for execution on a particular target architecture. We (i) describe three such transformations: pipeline introduction, pipeline elimination and queue multiplexing; and (ii) specify when each can be safely applied. As a case study we describe an IP packet-forwarder and present an AMS script that partitions it into a form capable of running at 3Gb/s on an Intel IXP2400 Network Processor.


european symposium on programming | 2004

Linear Types for Packet Processing

Robert Ennals; Richard Sharp; Alan Mycroft

We present PacLang: an imperative, concurrent, linearly-typed language designed for expressing packet processing applications. PacLang’s linear type system ensures that no packet is referenced by more than one thread, but allows multiple references to a packet within a thread. We argue (i) that this property greatly simplifies compilation of high-level programs to the distributed memory architectures of modern Network Processors; and (ii) that PacLang’s type system captures that style in which imperative packet processing programs are already written. Claim (ii) is justified by means of a case-study: we describe a PacLang implementation of the IPv4 unicast packet forwarding algorithm.


international conference on pervasive computing | 2006

Secure mobile computing via public terminals

Richard Sharp; James Scott; Alastair R. Beresford

The rich interaction capabilities of public terminals can make them more convenient to use than small personal devices, such as smart phones. However, the use of public terminals to handle personal data may compromise privacy. We present a system that enables users to access their applications and data securely using a combination of public terminals and a more trusted, personal device. Our system (i) provides users with capabilities to censor the public terminal display, so that it does not show private data; (ii) filters input events coming from the public terminal, so that maliciously injected keyboard/pointer events do not compromise privacy; and (iii) enables users to view personal information and perform data-entry via their personal device. A key feature of our system is that it works with unmodified applications. A prototype implementation of the system has been publicly released for Linux and Windows. The results arising from a pilot usability study based on this implementation are presented.


ubiquitous computing | 2003

Context-Aware Computing with Sound

Anil Madhavapeddy; David J. Scott; Richard Sharp

We propose audio networking: using ubiquitously available sound hardware (i.e. speakers, sound-cards and microphones) for low-bandwidth, wireless networking. A variety of location- and context-aware applications that use audio networking are presented including a location system, a pick-and-drop interface and a framework for embedding digital attachments in voice notes or telephone conversations. Audio networking has a number of interesting characteristics that differentiate it from existing wireless networking technologies: (i) it offers fine-grained control over the range of transmission (since audio APIs allow fine-grained volume adjustment); (ii) walls of buildings are typically designed specifically to attenuate sound waves so one can easily contain transmission to a single room; (iii) it allows existing devices that record or play audio to be brought into the user interface; and (iv) it offers the potential to unify device-to-device and device-to-human communication.


IEEE Pervasive Computing | 2005

The 2005 UbiApp Workshop: What Makes Good Application-Led Research?

Richard Sharp; Kasim Rehman

Some members of the ubiquitous computing community feel that application-led research needs to make more coherent progress. Their perception is that with few exceptions, such research is neither systematically building on what little new knowledge it has derived so far nor setting specific challenges and benchmarks to guide its progress. In light of these concerns, the 2005 UbiApp workshops tenet was that ubiquitous computing research could benefit from better metrics for the selection, analysis, and evaluation of applications and common infrastructure. The workshop aimed to identify methodological problems in the way researchers conduct application-led research and to recommend how to address these problems.


international workshop on model checking software | 2005

SPLAT: a tool for model-checking and dynamically-enforcing abstractions

Anil Madhavapeddy; David J. Scott; Richard Sharp

Conventional software model-checking involves (i) creating an abstract model of a complex application; (ii) validating this model against the application; and (iii) checking safety properties against the abstract model. To non-experts, steps (i) and (ii) are often the most daunting. Firstly how does one decide which aspects of the application to include in the abstract model? Secondly, how does one determine whether the abstraction inadvertently “hides” critical bugs? Similarly, if a counter-example is found, how does one determine whether this is a genuine bug or just a modelling artifact?


IEEE Pervasive Computing | 2005

Using smart phones to access site-specific services

Eleanor F. Toye; Richard Sharp; Anil Madhavapeddy; David J. Scott


ubiquitous computing | 2007

Interacting with mobile services: an evaluation of camera-phones and visual tags

Eleanor F. Toye; Richard Sharp; Anil Madhavapeddy; David J. Scott; Eben Upton; Alan F. Blackwell

Collaboration


Dive into the Richard Sharp's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alan Mycroft

University of Cambridge

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge