Paul S. Wang. Kent State University

Size: px
Start display at page:

Download "Paul S. Wang. Kent State University"

Transcription

1 The Evolving MCP Design Paul S. Wang Institute for Computational Mathematics Kent State University mcp-design-1 Contents æ Background IAMC æ MCP server-side and client-side requirements æ MCP protocol design æ MCP headers æ MCP sample messages æ MCP Java implementation API mcp-design-2

2 MCP Issues and Considerations æ Supporting IAMC: mathematical data encodings, computation controls æ Simple, powerful, and æexible æ Meeting client-to-server and server-to-client requirements æ Using diæerent types of data-transfer encodings æ Employing stream connection between client and server æ Assuming peer-to-peer interactions æ Charging, authentication, security usual æ Object-oriented designimplementation java? mcp-design-3 Client Requirements æ Sending computation commands æ Receiving computational results, in various forms of encoding æ Store results in æles and resend stored results to other servers later æ Sending control commands to server æ Receiving control responses e.g. server status information æ Sending client status æ Receiving commands from server æ Responding to commands from server æ Issuing commands both synchronously waiting for result before next command and asynchronously may issue next command without waiting for result of previous command mcp-design-4

3 æ Receiving results out of order A result identiæes its command æ Interrupting an on-going computation may be several on-going æ Disconnecting immediately or after all results are in mcp-design-5 Server Requirements æ Receiving computation requests, in literal ascii string or standard encoded forms æ Sending computed results, in various encoded forms MathML, MP, OpenMath, gif, pdf,... æ Handling both sync and async requests æ Sending control requests to client æ Receiving control responses e.g. client status information æ Sending server status æ Sending results back as they are produced æ Responding to control requests from client æ Disconnecting mcp-design-6

4 MCP Protocol MCP message format: æ First line: Command MCP version Control MCP version Result MCP version æ Header and body format HTTP style æ Header Key-value pairs HTTP style æ Consider features of HTTP-NG with session layer mcp-design-7 Some Available Hearders This will have to be consdered carefully and will evolve æ Status: normal, error no, ready, busy, terminating æ ControlRequest: string æ ControlResponse: string æ Accept: types of result æ CanDo: computing capabilities æ EngineID: compute engine identiæcation æ ClientID: IAMC client identiæcation æ Mode: sync or aync æ Sequence: linear sequence number to match results with commands mcp-design-8

5 æ Content-Type: body type e.g. applicationx-math-mp, or textmathml default textplain æ Content-length: bytes æ Transfer-Encoding: if any, default none useful for transfer mcp-design-9 Example Client Computation Request Command MCP 1.0 Mode: sync or async, default sync Sequence: 1 Content-Type: applicationx-math-mp or -infix, or -openmath éécontent-type: applicationx-math-asciiéé Content-length: 356 Body mcp-design-10

6 Example Server Computation Response Result MCP 1.0 Status: normal Sequence: 1 Content-Type: applicationx-math-mp Content-length: 4000 Body mcp-design-11 Example Client Control Request Control MCP 1.0 ControlRequest: connect Accept: mp,mathml ClientID: XXXX mcp-design-12

7 Example Server Control Response Control MCP 1.0 ControlResponse: connect-confirmation CandDo: factoring,differentiation,integration,plotting EngineID: Maxima mcp-design-13 Server to Client Control Requests æ Prompts for input from the user æ Choices for userclient selection æ Dialogue for userclient input æ Setting Cookie æ Disconnecting mcp-design-14

8 MCP Layer Interfaces Client API MCP Layer Server API MCP Layer MCP Protocol mcp-design-15 Java Classes æ These will emerge as the OOD for MCP gets going. But for API considerations we see two classes: í Mcp class í McpMsg class mcp-design-16

9 MCP Java API for IAMC Server æ public McpString cando, String Accept Constructor. Initializes an object, in class Mcp, to receive input from standard input System.in and produce output to standard output System.out. The standard IO streams will be used for binary IO readingwriting bytes. æ public McpString cando, String Accept, InputStream in, OutputStream out Constructor. Initializes an Mcp object to perform IO with the given streams. æ McpMsg getcommand Retrieves the next command from client as an McpMsg. æ boolean putresultmcpmsg m Sends the computational result packed in the message m to the client. mcp-design-17 æ McpMsg getanswermcpmsg question Retrieves the answer from client to the given question. æ void readyboolean flag Indicating to client that server is ready for additional work after aborting for example or is not ready engine is down for example. æ void terminate Indicating to client that server is ænished and disconnecting. æ void pingclient Requesting client status. Assumes clinet is dead after a preset timeout interval. æ Stringëë acceptlist Returning the accept list from the client. mcp-design-18

10 MCP Java API for IAMC Client æ public McpString Accept, String server Constructor. Constructor. Initializes an Mcp object to connect to the given server domain name. æ public McpString Accept, int server Constructor. Constructor. Initializes an Mcp object to connect to the given server IP address. æ boolean synccommandmcpmsg cmd Sends the command, given as an McpMsg, to the server in synchronous mode. æ int asynccommandmcpmsg cmd Sends the command, given as an McpMsg, to the server in asynchronous mode. Returns the sequence number as id for the command. æ McpMsg getmsg Retrieves the computational result, a question from the server. mcp-design-19 æ boolean abortëint ië Aborts the on-going synccommand call or the indicated asynccomand. This also sends a control msg to the server to abort the target computation. Returns true on server acknowdedgement. æ void terminate Indicating to server that client is ænished and disconnecting. æ void pingserver Requesting server status. Assumes server is dead after a preset timeout interval. æ Stringëë candolist Returning the can-do list from the server. mcp-design-20

11 Further Work æ More thorough requirement analysis æ OOD of MCP Layer æ Testing the design agast requirements æ OOP of Java-based MCP Layer æ Implementing and testing MCP Layer prototype mcp-design-21

Internet Accessible Mathematical Computation A Progress Report

Internet Accessible Mathematical Computation A Progress Report Internet Accessible Mathematical Computation A Progress Report Paul S. Wang Institute for Computational Mathematics Kent State University http://horse.mcs.kent.edu/ pwang FMC-1 Contents Math Communication

More information

MathML in IAMC Prototype

MathML in IAMC Prototype MathML in IAMC Prototype IAMC Project Group Institute of Computational Mathematics Dept. of Math & Computer Science Kent State University Kent, Ohio 44242 Table of Content 1. IAMC Overview 2. IAMC Prototype

More information

Lecture 11.1 I/O Streams

Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 1 OBJECT ORIENTED PROGRAMMING Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 2 Outline I/O Basics Streams Reading characters and string 21/04/2014 Ebtsam AbdelHakam

More information

Abstract Open Mathematical Engine Interface (OMEI) aims to establish a uniform application programming interface specication (API) for heterogeneous m

Abstract Open Mathematical Engine Interface (OMEI) aims to establish a uniform application programming interface specication (API) for heterogeneous m Specication of OMEI V1.0: Open Mathematical Engine Interface Institute for Computational Mathematics Department of Computer Science Kent State University Kent, Ohio 44242, U.S.A. Abstract Open Mathematical

More information

JAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication

JAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication JAVA Network API To be discussed 1 - java.net... 1 2 - Connection-Oriented vs. Connectionless Communication... 1 3 - Connectionless:... 1 4 - Networking Protocols... 2 5 - Sockets... 2 6 - Multicast Addressing...

More information

Composer Help. Web Request Common Block

Composer Help. Web Request Common Block Composer Help Web Request Common Block 7/4/2018 Web Request Common Block Contents 1 Web Request Common Block 1.1 Name Property 1.2 Block Notes Property 1.3 Exceptions Property 1.4 Request Method Property

More information

Basic Java IO Decorator pattern Advanced Java IO. Java IO - part 2 BIU OOP. BIU OOP Java IO - part 2

Basic Java IO Decorator pattern Advanced Java IO. Java IO - part 2 BIU OOP. BIU OOP Java IO - part 2 Java IO - part 2 BIU OOP Table of contents 1 Basic Java IO What do we know so far? What s next? 2 Example Overview General structure 3 Stream Decorators Serialization What do we know so far? What s next?

More information

File IO. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 20

File IO. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 20 File IO Computer Science and Engineering College of Engineering The Ohio State University Lecture 20 I/O Package Overview Package java.io Core concept: streams Ordered sequences of data that have a source

More information

Dining philosophers (cont)

Dining philosophers (cont) Administrivia Assignment #4 is out Due Thursday April 8, 10:00pm no late assignments will be accepted Sign up in labs this week for a demo time Office hour today will be cut short (11:30) Another faculty

More information

I/O streams. Byte Streams Character Streams InputStream ByteArrayInputStream FileInputStream FilterInputStream

I/O streams. Byte Streams Character Streams InputStream ByteArrayInputStream FileInputStream FilterInputStream Course Name: Advanced Java Lecture 9 Topics to be covered I/O streams Byte Streams Character Streams InputStream ByteArrayInputStream FileInputStream FilterInputStream Introduction A Stream is a sequence

More information

JavaScript CoAPRequest API

JavaScript CoAPRequest API JavaScript CoAPRequest API Abstract The CoAPRequest specification defines an API that provides scripted client functionality for transferring data between a CoAP client and a CoAP server. Table of Contents

More information

PIC 20A Streams and I/O

PIC 20A Streams and I/O PIC 20A Streams and I/O Ernest Ryu UCLA Mathematics Last edited: December 7, 2017 Why streams? Often, you want to do I/O without paying attention to where you are reading from or writing to. You can read

More information

Review Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

Review Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Review Chapters 1 to 4 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Introduction to Java Chapters 1 and 2 The Java Language Section 1.1 Data & Expressions Sections 2.1 2.5 Instructor:

More information

Character Stream : It provides a convenient means for handling input and output of characters.

Character Stream : It provides a convenient means for handling input and output of characters. Be Perfect, Do Perfect, Live Perfect 1 1. What is the meaning of public static void main(string args[])? public keyword is an access modifier which represents visibility, it means it is visible to all.

More information

Protocols SPL/ SPL

Protocols SPL/ SPL Protocols 1 Application Level Protocol Design atomic units used by protocol: "messages" encoding reusable, protocol independent, TCP server, LinePrinting protocol implementation 2 Protocol Definition set

More information

Generating the Server Response: HTTP Response Headers

Generating the Server Response: HTTP Response Headers Generating the Server Response: HTTP Response Headers 1 Agenda Format of the HTTP response Setting response headers Understanding what response headers are good for Building Excel spread sheets Generating

More information

תוכנה 1 4 תרגול מס' שימוש במחלקות קיימות: קלט/פלט )IO(

תוכנה 1 4 תרגול מס' שימוש במחלקות קיימות: קלט/פלט )IO( תוכנה 1 4 תרגול מס' שימוש במחלקות קיימות: קלט/פלט )IO( OOP and IO IO Input/Output What is IO good for? In OOP services are united under Objects IO is also handled via predefined classes These objects are

More information

Lecture 8. Object Oriented Design

Lecture 8. Object Oriented Design Lecture 8 Object Oriented Design The Challenge of Making Software Did a lot of JMan for you Classes already completed Detailed specifications Lengthy instructions You just fill in blanks The Real World

More information

Socket 101 Excerpt from Network Programming

Socket 101 Excerpt from Network Programming Socket 101 Excerpt from Network Programming EDA095 Nätverksprogrammering Originals by Roger Henriksson Computer Science Lund University Java I/O Streams Stream (swe. Ström) - A stream is a sequential ordering

More information

IAMC Architecture and Prototyping: A Status Report

IAMC Architecture and Prototyping: A Status Report IAMC Architecture and Prototyping: A Status Report P. Wang, S. Gray, N. Kajler, D. Lin, W. Liao, X. Zou Institute for Computational Mathematics Kent State University Kent, Ohio 44242, U.S.A. Abstract Internet

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

A Public Converter for MathML, MP, and Infix

A Public Converter for MathML, MP, and Infix A Public Converter for MathML, MP, and Infix Xiao Zou Paul S. Wang Email: {xzou,pwang}@mcs.kent.edu Institue of Computational Mathematics Deparment of Mathematics & Computer Science Kent State University

More information

THANK YOU. Control System Communication Protocol Manual RackLink. Monitor Control Alert Report Analyze. Thank you for purchasing a RackLink product.

THANK YOU. Control System Communication Protocol Manual RackLink. Monitor Control Alert Report Analyze. Thank you for purchasing a RackLink product. Control System Communication Protocol Manual RackLink Monitor Control Alert Report Analyze THANK YOU Thank you for purchasing a RackLink product. I-00472 Rev D TABLE OF CONTENTS PROTOCOL TRANSPORTS...

More information

EXPERIMENTS WITH INTERNET ACCESSIBLE MATHEMATICAL COMPUTATION A thesis submitted to Kent State University in partial fulællment of the requirements fo

EXPERIMENTS WITH INTERNET ACCESSIBLE MATHEMATICAL COMPUTATION A thesis submitted to Kent State University in partial fulællment of the requirements fo Wei Wu, M.S., May, 1998 COMPUTER SCIENCE EXPERIMENTS WITH INTERNET ACCESSIBLE MATHEMATICAL COMPUTATION è55 pp.è Director of Thesis: Dr. Paul S. Wang The goal of Internet Accessible Mathematical Computation

More information

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI Remote Invocation Today l Request-reply, RPC, RMI Next time l Overlay networks and P2P Types of communication " Persistent or transient Persistent A submitted message is stored until delivered Transient

More information

New York University Computer Science Department Courant Institute of Mathematical Sciences

New York University Computer Science Department Courant Institute of Mathematical Sciences New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:

More information

PROTOCOL TRANSPORTS 4 RS232 SPECIFICATIONS 4 RS232 CABLING 4 TCP/IP 4 PROTOCOL DOCUMENT NOTES 4 COMMUNICATION 4

PROTOCOL TRANSPORTS 4 RS232 SPECIFICATIONS 4 RS232 CABLING 4 TCP/IP 4 PROTOCOL DOCUMENT NOTES 4 COMMUNICATION 4 Table of Contents PROTOCOL TRANSPORTS 4 RS232 SPECIFICATIONS 4 RS232 CABLING 4 TCP/IP 4 PROTOCOL DOCUMENT NOTES 4 COMMUNICATION 4 PROTOCOL MESSAGE STRUCTURE 5 GENERAL MESSAGE FORMAT 5 CHECKSUM 6 ELONGATED

More information

What HTTP is : it forms elements (.html..xml) with programs (processes) running on the server (e.g. java) and on clients (e.g. javascript), cookies).

What HTTP is : it forms elements (.html..xml) with programs (processes) running on the server (e.g. java) and on clients (e.g. javascript), cookies). Beyond HTTP Up to this point we have been dealing with software tools that run on browsers and communicate to a server that generates files that can be interpreted by the browser What HTTP is : it forms

More information

09-1. CSE 143 Java GREAT IDEAS IN COMPUTER SCIENCE. Overview. Data Representation. Representation of Primitive Java Types. Input and Output.

09-1. CSE 143 Java GREAT IDEAS IN COMPUTER SCIENCE. Overview. Data Representation. Representation of Primitive Java Types. Input and Output. CSE 143 Java Streams Reading: 19.1, Appendix A.2 GREAT IDEAS IN COMPUTER SCIENCE REPRESENTATION VS. RENDERING 4/28/2002 (c) University of Washington 09-1 4/28/2002 (c) University of Washington 09-2 Topics

More information

Peer Instruction 1. Elementary Programming

Peer Instruction 1. Elementary Programming Peer Instruction 1 Elementary Programming 0 Which of the following variable declarations will not compile? Please select the single correct answer. A. int i = 778899; B. double x = 5.43212345; C. char

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 31 April 6 th, 2016 I/O Chapter 28 Poll Did you finish HW 07 PennPals? 1. Yes! 2. I turned it in on time, but there are a few things I couldn't figure

More information

Smashing Node.JS: JavaScript Everywhere

Smashing Node.JS: JavaScript Everywhere Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing

More information

Techniques of Java Programming: Streams in Java

Techniques of Java Programming: Streams in Java Techniques of Java Programming: Streams in Java Manuel Oriol May 8, 2006 1 Introduction Streams are a way of transferring and filtering information. Streams are directed pipes that transfer information

More information

Simple Java Input/Output

Simple Java Input/Output Simple Java Input/Output Prologue They say you can hold seven plus or minus two pieces of information in your mind. I can t remember how to open files in Java. I ve written chapters on it. I ve done it

More information

SELF-STUDY. Glossary

SELF-STUDY. Glossary SELF-STUDY 231 Glossary HTML (Hyper Text Markup Language - the language used to code web pages) tags used to embed an applet. abstract A class or method that is incompletely defined,

More information

TCP/IP Transport Layer Protocols, TCP and UDP

TCP/IP Transport Layer Protocols, TCP and UDP TCP/IP Transport Layer Protocols, TCP and UDP Learning Objectives Identify TCP header fields and operation using a Wireshark FTP session capture. Identify UDP header fields and operation using a Wireshark

More information

Week 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O

Week 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O Week 12 Streams and File I/O Overview of Streams and File I/O Text File I/O 1 I/O Overview I/O = Input/Output In this context it is input to and output from programs Input can be from keyboard or a file

More information

Starting Out with Java: From Control Structures Through Objects Sixth Edition

Starting Out with Java: From Control Structures Through Objects Sixth Edition Starting Out with Java: From Control Structures Through Objects Sixth Edition Chapter 11 I/O File Input and Output Reentering data all the time could get tedious for the user. The data can be saved to

More information

Files and IO, Streams. JAVA Standard Edition

Files and IO, Streams. JAVA Standard Edition Files and IO, Streams JAVA Standard Edition Java - Files and I/O The java.io package contains nearly every class you might ever need to perform input and output (I/O) in Java. All these streams represent

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

IAMC Architecture and Prototyping: A Progress Report

IAMC Architecture and Prototyping: A Progress Report IAMC Architecture and Prototyping: A Progress Report P. Wang,S.Gray, N. Kajler,D.Lin,W.Liao,X.Zou ICM, Kent State University Kent, Ohio 44242, U.S.A. ABSTRACT Internet Accessible Mathematical Computation

More information

Introduction to Java.net Package. CGS 3416 Java for Non Majors

Introduction to Java.net Package. CGS 3416 Java for Non Majors Introduction to Java.net Package CGS 3416 Java for Non Majors 1 Package Overview The package java.net contains class and interfaces that provide powerful infrastructure for implementing networking applications.

More information

Byte and Character Streams. Reading and Writing Console input and output

Byte and Character Streams. Reading and Writing Console input and output Byte and Character Streams Reading and Writing Console input and output 1 I/O basics The io package supports Java s basic I/O (input/output) Java does provide strong, flexible support for I/O as it relates

More information

CS 251 Intermediate Programming Java I/O Streams

CS 251 Intermediate Programming Java I/O Streams CS 251 Intermediate Programming Java I/O Streams Brooke Chenoweth University of New Mexico Spring 2018 Basic Input/Output I/O Streams mostly in java.io package File I/O mostly in java.nio.file package

More information

Introduction to computer networking

Introduction to computer networking Introduction to computer networking First part of the assignment Academic year 2017-2018 Abstract In this assignment, students will have to implement a client-server application using Java Sockets. The

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Object-Based Programming. Programming with Objects

Object-Based Programming. Programming with Objects ITEC1620 Object-Based Programming g Lecture 8 Programming with Objects Review Sequence, Branching, Looping Primitive datatypes Mathematical operations Four-function calculator Scientific calculator Don

More information

Multi-threaded Web Server (Assignment 1) Georgios Georgiadis

Multi-threaded Web Server (Assignment 1) Georgios Georgiadis Multi-threaded Web Server (Assignment 1) Georgios Georgiadis Overview Multi-threaded Web Server What to do and how to do it HTTP messages Processes and threads ComputerComm '09 2 Multi-threaded Web Server

More information

TECH TIP. Tritex Modbus Protocol Specification

TECH TIP. Tritex Modbus Protocol Specification Tritex Modbus Protocol Specification Introduction This document describes Tritex s implementation of the MODBUS communication protocol used for transferring data between a serial host and an Exlar drive.

More information

Ajax HTML5 Cookies. Sessions 1A and 1B

Ajax HTML5 Cookies. Sessions 1A and 1B Ajax HTML5 Cookies Sessions 1A and 1B JavaScript Popular scripting language: Dynamic and loosely typed variables. Functions are now first-class citizens. Supports OOP. var simple = 2; simple = "I'm text

More information

Data Avenue REST API. Ákos Hajnal, Zoltán Farkas November, 2015

Data Avenue REST API. Ákos Hajnal, Zoltán Farkas November, 2015 Data Avenue REST API Ákos Hajnal, Zoltán Farkas November, 2015 What is REST? REST (Representational State Transfer) is an architectural style (Roy Fielding, 2000) client-server model, stateless (individually

More information

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p.

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. Preface p. xiii Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. 5 Client-Side JavaScript: Executable Content

More information

The name of the Show What will you enjoy learning?

The name of the Show What will you enjoy learning? The Day of celebration The name of the Show What will you enjoy learning? 1 The tale of programming A walk down the memory lane! 1) Programming - How did it all start and evolve? 2) What should you learn

More information

Programming for the Web with PHP

Programming for the Web with PHP Aptech Ltd Version 1.0 Page 1 of 11 Table of Contents Aptech Ltd Version 1.0 Page 2 of 11 Abstraction Anonymous Class Apache Arithmetic Operators Array Array Identifier arsort Function Assignment Operators

More information

Data Link Protocols DATA LINK PROTOCOLS. Asynchronous Protocols. Types of Data Link Protocols XMODEM. Asynchronous Protocols.

Data Link Protocols DATA LINK PROTOCOLS. Asynchronous Protocols. Types of Data Link Protocols XMODEM. Asynchronous Protocols. Data Link Protocols DATA LINK PROTOCOLS Data Link Protocols are sets of rule and regulations used to implement data link layer. They contain rules for: Line Discipline Gursharan Singh Tatla mailme@gursharansingh.in

More information

Overview CSE 143. Input and Output. Streams. Other Possible Kinds of Stream Converters. Stream after Stream... CSE143 Wi

Overview CSE 143. Input and Output. Streams. Other Possible Kinds of Stream Converters. Stream after Stream... CSE143 Wi CSE 143 Overview Topics Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 2/3/2005 (c) 2001-5, University of Washington 12-1 2/3/2005 (c) 2001-5,

More information

Socket programming. Complement for the programming assignment INFO-0010

Socket programming. Complement for the programming assignment INFO-0010 Socket programming Complement for the programming assignment INFO-0010 Outline Socket definition Briefing on the Socket API A simple example in Java Multi-threading and Synchronization Example : HTTP protocol

More information

COMP-202: Foundations of Programming. Lecture 12: Linked List, and File I/O Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 12: Linked List, and File I/O Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 12: Linked List, and File I/O Sandeep Manjanna, Summer 2015 Announcements Assignment 4 is posted and Due on 29 th of June at 11:30 pm. Course Evaluations due

More information

Java Support for developing TCP Network Based Programs

Java Support for developing TCP Network Based Programs Java Support for developing TCP Network Based Programs 1 How to Write a Network Based Program (In Java) As mentioned, we will use the TCP Transport Protocol. To communicate over TCP, a client program and

More information

File. Long term storage of large amounts of data Persistent data exists after termination of program Files stored on secondary storage devices

File. Long term storage of large amounts of data Persistent data exists after termination of program Files stored on secondary storage devices Java I/O File Long term storage of large amounts of data Persistent data exists after termination of program Files stored on secondary storage devices Magnetic disks Optical disks Magnetic tapes Sequential

More information

Web Server Project. Tom Kelliher, CS points, due May 4, 2011

Web Server Project. Tom Kelliher, CS points, due May 4, 2011 Web Server Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will develop a Web server in two steps. In the end, you will have built

More information

Session Capabilities in OBEX

Session Capabilities in OBEX Session Capabilities in OBEX Version 0.14 July 16, 2002 Authors: David Suvak Contributors: Kevin Hendrix Extended Systems Extended Systems Revision History Revision Date Comments 0.1 30-May-01 Initial

More information

ObjectRiver. Metadata Compilers. WebSockets. JavaOne 2014 Steven Lemmo

ObjectRiver. Metadata Compilers. WebSockets. JavaOne 2014 Steven Lemmo ObjectRiver Metadata Compilers Programmatic WebSockets JavaOne 2014 Steven Lemmo 1 Sockets for the Web Finally! Before the Web ( Internal applications behind the firewall. Sockets RPC ( Sun ONC/RPC ) DCE

More information

The Simple API for Grid Applications (SAGA)

The Simple API for Grid Applications (SAGA) The Simple API for Grid Applications (SAGA) Thilo Kielmann Vrije Universiteit, Amsterdam kielmann@cs.vu.nl A Grid Application Execution Scenario Functional Properties of a Grid API What applications need

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 30 April 2, 2012 Streams & IO HW 09 will be available today Announcements Covers Java libraries: colleclons & IO Last automalcally graded HW assignment

More information

Tirgul 1. Course Guidelines. Packages. Special requests. Inner classes. Inner classes - Example & Syntax

Tirgul 1. Course Guidelines. Packages. Special requests. Inner classes. Inner classes - Example & Syntax Tirgul 1 Today s topics: Course s details and guidelines. Java reminders and additions: Packages Inner classes Command Line rguments Primitive and Reference Data Types Guidelines and overview of exercise

More information

VueMetrix Firmware Uploader

VueMetrix Firmware Uploader VueMetrix Firmware Uploader Release 1.0 Date of this document: August 20. 2010 The Firmware Uploader is a set of C language programming tools that uploads a new version of firmware into any VueMetrix controller.

More information

Software Practice 1 - File I/O

Software Practice 1 - File I/O Software Practice 1 - File I/O Stream I/O Buffered I/O File I/O with exceptions CSV format Practice#6 Prof. Joonwon Lee T.A. Jaehyun Song Jongseok Kim (42) T.A. Sujin Oh Junseong Lee 1 (43) / 38 2 / 38

More information

Overview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE. Representation of Primitive Java Types. CSE143 Sp

Overview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE. Representation of Primitive Java Types. CSE143 Sp Overview CSE 143 Topics Data representation bits and bytes Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 4/27/2004 (c) 2001-4, University of

More information

Overview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE

Overview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE CSE 143 Overview Topics Data representation bits and bytes Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 10/20/2004 (c) 2001-4, University of

More information

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl...

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl... Page 1 of 13 Units: - All - Teacher: ProgIIIJavaI, CORE Course: ProgIIIJavaI Year: 2012-13 Intro to Java How is data stored by a computer system? What does a compiler do? What are the advantages of using

More information

COMP 213. Advanced Object-oriented Programming. Lecture 19. Input/Output

COMP 213. Advanced Object-oriented Programming. Lecture 19. Input/Output COMP 213 Advanced Object-oriented Programming Lecture 19 Input/Output Input and Output A program that read no input and produced no output would be a very uninteresting and useless thing. Forms of input/output

More information

Distributed Programming

Distributed Programming Distributed Programming Processes don t share memory. Processes share channels over which messages are passed Channels may be Global, receiver specific, or sender & receiver specific. One or two way. c

More information

INTRODUCTION. a Data File

INTRODUCTION.  a Data File INTRODUCTION E-mail Utilities is a product that will perform various E-mail and E-commerce functions. It s main features are: E-mail data, spool, or IFS files to Internet users Write data or spool files

More information

Special error return Constructors do not have a return value What if method uses the full range of the return type?

Special error return Constructors do not have a return value What if method uses the full range of the return type? 23 Error Handling Exit program (System.exit()) usually a bad idea Output an error message does not help to recover from the error Special error return Constructors do not have a return value What if method

More information

Text User Interfaces. Keyboard IO plus

Text User Interfaces. Keyboard IO plus Text User Interfaces Keyboard IO plus User Interface and Model Model: objects that solve problem at hand. User interface: interacts with user getting input from user giving output to user reporting on

More information

File Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos.

File Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos. File Input/Output Tuesday, July 25 2006 CSE 1020, Summer 2006, Overview (1): Before We Begin Some administrative details Some questions to consider The Class Object What is the Object class? File Input

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies Streams A stream is a sequence of data. In Java a stream is composed of bytes. In java, 3 streams are created for us automatically. 1. System.out : standard output stream 2. System.in : standard input

More information

Advanced Scripting Techniques

Advanced Scripting Techniques Advanced Scripting Techniques This chapter describes advanced variables and techniques you can use when designing custom scripts in the Cisco Unity Express Script Editor. This chapter contains the following

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 30 April 4, 2018 I/O & Histogram Demo Chapters 28 HW7: Chat Server Announcements No penalty for late submission by tomorrow (which is a HARD deadline!)

More information

Basic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO)

Basic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO) I/O and Scannar Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 I/O operations Three steps:

More information

Interlude. Object Oriented Design

Interlude. Object Oriented Design Interlude Object Oriented Design Announcements for This Lecture This Week Today is an Interlude Nothing today is on exam Another Big Picture talk Relevant to Assignment 6 Review for exam posted New Review

More information

The TCP Protocol Stack

The TCP Protocol Stack The TCP Protocol Stack Michael Brockway February 16, 2018 Introduction - Layered archtecture Networking software is desgined in a layered fashion The bottom layer is the services offered by the underlying

More information

Stream Control Transmission Protocol (SCTP)

Stream Control Transmission Protocol (SCTP) Stream Control Transmission Protocol (SCTP) Definition Stream control transmission protocol (SCTP) is an end-to-end, connectionoriented protocol that transports data in independent sequenced streams. SCTP

More information

Table of Contents 1 FTP and SFTP Configuration TFTP Configuration 2-1

Table of Contents 1 FTP and SFTP Configuration TFTP Configuration 2-1 Table of Contents 1 FTP and SFTP Configuration 1-1 Introduction to FTP and SFTP 1-1 Introduction to FTP 1-1 Introduction to SFTP 1-1 FTP Configuration 1-2 FTP Configuration: A Switch Operating as an FTP

More information

Course Content. Objectives of Lecture 22 File Input/Output. Outline of Lecture 22. CMPUT 102: File Input/Output Dr. Osmar R.

Course Content. Objectives of Lecture 22 File Input/Output. Outline of Lecture 22. CMPUT 102: File Input/Output Dr. Osmar R. Structural Programming and Data Structures Winter 2000 CMPUT 102: Input/Output Dr. Osmar R. Zaïane Course Content Introduction Objects Methods Tracing Programs Object State Sharing resources Selection

More information

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object CHAPTER 1 Introduction to Computers and Programming 1 1.1 Why Program? 1 1.2 Computer Systems: Hardware and Software 2 1.3 Programs and Programming Languages 8 1.4 What is a Program Made of? 14 1.5 Input,

More information

Co-processor Math Processor. Richa Upadhyay Prabhu. NMIMS s MPSTME February 9, 2016

Co-processor Math Processor. Richa Upadhyay Prabhu. NMIMS s MPSTME February 9, 2016 8087 Math Processor Richa Upadhyay Prabhu NMIMS s MPSTME richa.upadhyay@nmims.edu February 9, 2016 Introduction Need of Math Processor: In application where fast calculation is required Also where there

More information

CS September 2017

CS September 2017 Machine vs. transport endpoints IP is a network layer protocol: packets address only the machine IP header identifies source IP address, destination IP address Distributed Systems 01r. Sockets Programming

More information

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming

More information

Stream. Two types of streams are provided by Java Byte and Character. Predefined Streams

Stream. Two types of streams are provided by Java Byte and Character. Predefined Streams Stream Stream is a sequence of bytes that travel from the source to destination over a communication path. For example, source might be network, destination might be a file on the file system. We may want

More information

UNIVERSITY POLYTECHNIC B.I.T., MESRA, RANCHI. COURSE STRUCTURE (W.E.F Batch Students) (Total Unit 7.0) Sessional Unit Code. Theory Unit Course

UNIVERSITY POLYTECHNIC B.I.T., MESRA, RANCHI. COURSE STRUCTURE (W.E.F Batch Students) (Total Unit 7.0) Sessional Unit Code. Theory Unit Course COURSE STRUCTURE (W.E.F. 2011 Batch Students) (Total Unit 7.0) Course Theory Unit Course Sessional Unit Code Code DCP 5001 Data Communication and 1.0 DCP 5002 Networking Lab. 0.5 Networking DCP 5003 Introduction

More information

Program Elements -- Introduction

Program Elements -- Introduction Program Elements -- Introduction We can now examine the core elements of programming Chapter 3 focuses on: data types variable declaration and use operators and expressions decisions and loops input and

More information

Learning objectives: Enhancing Classes. CSI1102: Introduction to Software Design. More about References. The null Reference. The this reference

Learning objectives: Enhancing Classes. CSI1102: Introduction to Software Design. More about References. The null Reference. The this reference CSI1102: Introduction to Software Design Chapter 5: Enhancing Classes Learning objectives: Enhancing Classes Understand what the following entails Different object references and aliases Passing objects

More information

Core Java Contents. Duration: 25 Hours (1 Month)

Core Java Contents. Duration: 25 Hours (1 Month) Duration: 25 Hours (1 Month) Core Java Contents Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing a Java Application at command prompt Java

More information

Java Input/Output. 11 April 2013 OSU CSE 1

Java Input/Output. 11 April 2013 OSU CSE 1 Java Input/Output 11 April 2013 OSU CSE 1 Overview The Java I/O (Input/Output) package java.io contains a group of interfaces and classes similar to the OSU CSE components SimpleReader and SimpleWriter

More information

CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS

CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS WHY CONVERTIGO SDK? Abstracts Mobile app developer from protocol complexity Gives simple cross-platform API to access Convertigo MBaaS

More information

Programming with Java

Programming with Java Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 31 November 17, 2017 I/O & Histogram Demo Chapters 28 Announcements HW8: SpellChecker Available on the website and Codio Due next Tuesday, November

More information

Aim behind client server architecture Characteristics of client and server Types of architectures

Aim behind client server architecture Characteristics of client and server Types of architectures QA Automation - API Automation - All in one course Course Summary: In detailed, easy, step by step, real time, practical and well organized Course Not required to have any prior programming knowledge,

More information