CAN Implementation– Proxy Module Qun Cao October 14, 2002.

Slides:



Advertisements
Similar presentations
SOAP.
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Design and Implementation of HTTP-Gnutella Gateway Baoning Wu (baw4) Wei Zhang (wez5) CSE Department Lehigh University.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CSCI 4550/8556 Computer Networks Comer, Chapter 3: Network Programming and Applications.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
OSI Model.
TCP Splicing for URL-aware Redirection
S A B D C T = 0 S gets message from above and sends messages to A, C and D S.
STFTP (Simplified Trivial File Transfer Protocol) MODULE #1.
Project Progress Presentation GENERATION OF NS2 TRACE FILES FOR SATELLITE-WIRELESS NETWORKS CS603 - Wireless Communications & Networks Summer II 2003 Wasim.
1 Classification: Genpact Internal.  Tool From Oracle  Works with Oracle Database  PL/SQL Based  Widely Used with Oracle Applications  Can be Used.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
NDN NAC Chengyu Fan 1. Motivation Currently, NDN users need manual configuration before they can publish or consume content NDN Auto-configuration (NAC)
PerfSONAR Client Construction February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
The Design Discipline.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
1 HRS2422 Web Services JAX-WS and SOAP Introduction  Web service – A software component stored on one computer that can be accessed via method.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Web Services Week 7 Aims: A detailed look at the underlying mechanisms for communication between web services Objectives: SOAP, WSDL, UDDI.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
David Adams ATLAS AJDL: Analysis Job Description Language David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
Authentication Mechanism for Port Control Protocol (PCP) draft-wasserman-pcp-authentication-01.txt Margaret Wasserman Sam Hartman Painless Security Dacheng.
GNRS Assisted Inter-Domain Routing SUJA SRINIVASAN.
Distributed Systems Concepts and Design Chapter 4.
1 WS-Routing. 2 Why WS-Routing? SOAP (by itself) doesn’t define a message path –Header blocks describe functions to be performed by intermediaries that.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
IS473 Distributed Systems CHAPTER 5 Distributed Objects & Remote Invocation.
Chapter 7: Creating and Consuming XML Web Services Understanding XML Web Services Creating XML Web Services Deploying and Discovering XML Web Services.
ERP Course: Enterprise Application Integration Readings: Chapter 3 from Gustavo Alonso et al Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Web Services An Introduction Copyright © Curt Hill.
Field Programmable Port Extender (FPX) 1 Software Tools for the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
CAN Implementation Sub-project: Content Manager Amol Bakshi CSCI October 2002.
SOAP, Web Service, WSDL Week 14 Web site:
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CHAPTER 3 Architectures for Distributed Systems
Programming Models for Distributed Application
Implementation CAN Communication Engine
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Bina Ramamurthy Chapter 9
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Distribution Infrastructures
Remote Procedure Call Hank Levy 1.
WEB SERVICES From Chapter 19, Distributed Systems
Remote Procedure Call Hank Levy 1.
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Remote Procedure Call Hank Levy 1.
Message Passing Systems Version 2
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Message Passing Systems
Presentation transcript:

CAN Implementation– Proxy Module Qun Cao October 14, 2002

CAN Infrastructure Content Manager Content Manager Routing Manager Routing Manager PROXY Communication Engine Communication Engine Message Lookup result Message PROXY Next Node Node Manager Node Manager Replicate Manager Replicate Manager Message Dispatcher Message Dispatcher DB

Proxy Module The Role of Proxy - Proxy plays as the bridge between CAN nodes to client. The CAN internal structure is transparent to client. Proxy serves as a web service to the client. - Proxy collects information from client and make a CAN message package for the usage of other CAN modules.

Proxy API namespace MyCAN { public class Proxy { public Proxy() { } public bool AddContent (string Key, byte[] value) { …} public byte[] GetContent(string key) { …} public bool DeleteContent(string key) {… } } }

CAN Internal Message Works as the standard message flowing between CAN modules, carries all the information of client request, generated by Proxy Module. Structure: * a.l : arbitrary length. If an item is a.l, we use the first 4 bytes to store its length and followed by its content. MsgType OP P Key SrcIP SrcMsgChannel Value 4bytes 4 20 a.l 4 20 a.l

Message Format MsgType (4 bytes): The message dispatcher dispatches this message to the appropriate module in term of MsgType. All content-related messages have MsgType=1. OP (4 bytes): Content manager uses this type to perform add, delete, and lookup operations. We define OP Operations 1 Add a piece of content 2 Delete a piece of content 3 Lookup a piece of content

Message Format P (20 bytes): P= SHA(key). Key (a.l): a string with arbitrary length. It’s used in add, delete and lookup a piece of content. SrcIP (4 bytes): the IP address of the proxy instance who issues the message. SrcMsgChannel (20 bytes): The message channel where this proxy instance receives messages. Other CAN nodes who receive this message may use the SrcIP and SrcMsgChannel to send messages back to this particular proxy instance. SrcMsgChannel is generated by some UUID generation algorithm. Value (a.l): a byte array containing the value of a piece of content.

Pseudo Code - AddContent { byte[20] UUID=UUIDgen(); byte[20] p = SHA(key); packing message; SendMsg(buf, IP, 1); bool reply = RecvMsg(UUID); return reply(T/F); }

Pseudo Code - GetContent { byte[20] UUID=UUIDgen(); byte[20] p = SHA(key); packing message; SendMsg(buf, IP, 1); bool reply = RecvMsg(UUID); return reply(T/F); }

Pseudo Code - DeleteContent { byte[20] UUID=UUIDgen(); byte[20] p = SHA(key); packing message; SendMsg(buf, IP, 1); byte[] buf = RecvMsg(UUID); parse buf; return content; }

Return Message Format The operation result message issued from CAN nodes to Proxy Structure: OP ResultCode Description value OP (4 bytes): It has the same meaning as the above OP. ResultCode (1 byte): 1 indicates the operation succeeds. 0 indicates it fails. Description (a.l): A description string to the result code. For example, if ResultCode is 0, this string describes the error in detail. Value (a.l.): The value for the key, if OP is 3.