IBP Client APIs Storage Management IBP_allocate , IBP_manage

Slides:



Advertisements
Similar presentations
Introduction to Sockets Jan Why do we need sockets? Provides an abstraction for interprocess communication.
Advertisements

R4 Dynamically loading processes. Overview R4 is closely related to R3, much of what you have written for R3 applies to R4 In R3, we executed procedures.
CS 450 Module R4. R4 Overview Due on March 11 th along with R3. R4 is a small yet critical part of the MPX system. In this module, you will add the functionality.
Unions The storage referenced by a union variable can hold data of different types subject to the restriction that at any one time, the storage holds data.
CSE 333 – SECTION 8 Networking and sockets. Overview Network Sockets IP addresses and IP address structures in C/C++ DNS – Resolving DNS names Demos.
Module R2 Overview. Process queues As processes enter the system and transition from state to state, they are stored queues. There may be many different.
Union, bitfield, typedef, enum union nama_u{ }; union nama_u{ struct nama_s byte; }; enum{ }; Tipedef var BYTE.
Internet Backplane Protocol: Storage in the Network James S. Plank, Micah Beck, Wael Elwasif, Terry Moore, Martin Swany, Rich Wolski University of Tennessee.
Operating system services Program execution I/O operations File-system manipulation Communications Error detection Resource allocation Accounting Protection.
CS1061 C Programming Lecture 4: Indentifiers and Integers A.O’Riordan, 2004.
Data Type. A data type defines a set of values that a variable can store along with a set of operations that can be performed on that variable. Common.
POSIX: Files Introduction to Operating Systems: Discussion 1 Read Solaris System Interface Guide: Ch. 5.1 Basic File I/O.
Assignment 3 A Client/Server Application: Chatroom.
2011 Embedded Systems Software Training Center BluRapport SDK.
1 Client API Goals: evolvable, easy to use Design decision: –event-driven, non-blocking programming model –Data items are immutable Main data structure:
University of Calgary – CPSC 441. C PROGRAM  Collection of functions  One function “main()” is called by the operating system as the starting function.
ACE Address Configuration Executive. Why ACE? ACE provides access to several address resolution protocols under a single API ACE is the only API available.
CP104 Introduction to Programming File I/O Lecture 33 __ 1 File Input/Output Text file and binary files File Input/output File input / output functions.
C Tokens Identifiers Keywords Constants Operators Special symbols.
File System Review bottomupcs.com J. Kubiatowicz, UC Berkeley.
1 Server Design Discuss Design issues for Servers Review Server Creation in Windows.
 2007 Pearson Education, Inc. All rights reserved C File Processing.
Remote Shell CS230 Project #4 Assigned : Due date :
FTP Server API Implementing the FTP Server Registering FTP Command Callbacks Data and Control Port Close Callbacks Other Server Calls.
Stan Smith Intel SSG/DPD February, 2015 Kernel OpenFabrics Interface Initialization.
Socket Programming Tutorial Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki
Remote Procedure Calls CS587x Lecture Department of Computer Science Iowa State University.
 Complex data types  Structures  Defined types  Structures and functions  Structures and pointers.
S OCKET P ROGRAMMING IN C Professor: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
File Processing Part 2. Random Access File In sequential access file, record in a file created with the formatted output function fprintf are not necessarily.
DMA Driver APIs DMA State Diagram Loading Driver and Opening Channel DMA Channel Attributes Loading Data to a Channel Unloading Data from a Channel.
Group 2 Web Service For Collaborative editing Uses scalable Client-Server architecture to minimize network communication and improve reliability Provides.
1 Remote Procedure Calls External Data Representation (Ch 19) RPC Concept (Ch 20)
Learners Support Publications Working with Files.
ENEE150 – 0102 ANDREW GOFFIN Dynamic Memory. Dynamic vs Static Allocation Dynamic  On the heap  Amount of memory chosen at runtime  Can change allocated.
Kelly Davis Monitoring and Event System Kelly Davis AEI.
Java Programming Language Lecture27- An Introduction.
Sockets API Developing Applications using the Sockets API.
Lecture 15. Modem Controller Register 4310 DTR 0 = Polling Operator 1 = Interrupts Enabled RTS 1 =Self Test 0 =Normal.
MQX GPIO.
LINKED LISTS.
The C++ Data Types Fundamental Data Types
Assignment 3 A Client/Server Application: Chatroom
File Processing Part 2.
Lecture 11 File input/output
TMF1414 Introduction to Programming
Introduction to Computer Programming Lecture 18 Binary Files
CSCI206 - Computer Organization & Programming
Socket Programming in C
typedef typedef int Index; typedef char Letter; Index i; i = 17;
The Hardware Interface
DATA HANDLING.
Lecture 22.
LINKED LISTS.
NetSilicon & Digi Confidential
UNIX Sockets Outline Homework #1 posted by end of day
Beginning C Lecture 11 Lecturer: Dr. Zhao Qinpei
Processes Chapter 3.
File Transfer Protocol
CS-401 Computer Architecture & Assembly Language Programming
Unix programming Term: Unit-V I PPT Slides
SystemVerilog for Verification
Programming Language C Language.
Processes Chapter 3.
Processes Chapter 3.
FILE handeling.
C Language B. DHIVYA 17PCA140 II MCA.
CSCE 206 Lab Structured Programming in C
EECE.2160 ECE Application Programming
Generic SAI Counters and Resources
Presentation transcript:

IBP Client APIs Storage Management IBP_allocate , IBP_manage Data Transfer IBP_store, IBP_load, IBP_copy, IBP_mcopy Depot Management IBP_status NFU IBP_nfu_op

IBP Capability Format ibp://hostname:port/<resourceid>#key/WRMkey/WRM Example Read Cap: ibp://rod.cs.utk.edu:6714/0#abcd….6789/0123456789/READ Write Cap: ibp://rod.cs.utk.edu:6714/0#abcd….6789/9876543210/WRITE Manage Cap: ibp://rod.cs.utk.edu:6714/0#abcd….6789/2345678901/MANAGE

Data Structure IBP_depot typedef struct { char host[MAX_LENGTH]; // hostname int port; // port number int rid; // resource id } *IBP_depot;

Data Structure IBP_attributes typedef struct { time_t duration; // expiration time ( -1 for permanent ) int reliability; // IBP_HARD or IBP_SOFT int type; // access mode } *IBP_attributes ; Four Access Modes: IBP_BYTEARRAY, IBP_BUFFER, IBP_FIFO, IBP_CIRQ

Data Structure IBP_timer typedef struct ibp_timer { int ClientTimeout; int ServerSync; } *IBP_timer;

Data Structure IBP_CapStatus typedef struct { int readRefCount; int writeRefCount; unsigned long int currentSize; unsigned long int maxSize; struct ibp_attributes attrib ; } *IBP_CapStatus;

IBP_allocate IBP_set_of_caps IBP_allocate( IBP_depot depot, IBP_timer timer, unsigned long int size, IBP_attributes attribute ) Allocate a size bytes remote storage area on the depot with specific attribute. On success, IBP_allocate returns a set of capabilities. Otherwise a NULL is returned with IBP_errno indicating error number.

IBP_Store unsigned long int IBP_store ( IBP_cap cap , IBP_timer timeout, char *data, unsigned long int size); Upload size bytes of data to the depot. On success, IBP_store returns number of bytes written. Otherwise 0 is returned with IBP_errno indicating error number.

IBP_load unsigned long int IBP_load ( IBP_cap cap , IBP_timer timeout, char *data, unsigned long int size, unsigned long int offset ); Download size bytes of data, starting at offset, from the depot. On success, IBP_load returns number of bytes read. Otherwise 0 is returned with IBP_errno indicating error number.

IBP_copy unsigned long int IBP_copy ( IBP_cap srcCap , IBP_cap dstCap, IBP_timer srcTimeout, IBP_timer dstTimeout, unsigned long int size, unsigned long int offset ); Move size bytes of data , starting at offset, from srcCap to dstCap . On success, IBP_copy returns number of bytes written. Otherwise 0 is returned with IBP_errno indicating error number.

IBP_mcopy unsigned long int IBP_mcopy ( IBP_cap srcCap , IBP_cap dstCaps[], unsigned int nDstCaps; IBP_timer srcTimeout, IBP_timer dstTimeout, unsigned long int size, unsigned long int offset int type[], int port[], int service);

IBP_mcopy Move size bytes of data , starting at offset, from srcCap to an array of dstCaps . On success, IBP_mcopy returns number of bytes written. Otherwise 0 is returned with IBP_errno indicating error number.

IBP_manage unsigned long int IBP_manage ( IBP_cap cap , IBP_timer timeout, int cmd, int capType, IBP_CapStatus status ); 4 Commands: IBP_INCR IBP_DECR IBP_CHNG IBP_PROBE On success, IBP_manage returns 0, otherwise -1 is returned with IBP_errno indicating error number.

IBP_status IBP_dptInfo IBP_status ( IBP_depot depot, int cmd, IBP_timer timeout, char *passwd, unsigned long int hardSize, unsigned long int softSize, long duration ); 2 Commands: IBP_ST_INQ IBP_ST_CHANGE On success, IBP_manage returns a pointer to IBP_dptInfo structure, otherwise NULL is returned with IBP_errno indicating error number.

IBP_nfu_op int IBP_nfu_op ( IBP_depot depot , int opcode, int nParameters, PARAMETER *paras, IBP_timer timeout); Invoke a NFU(opcode) on the depot. On success, IBP_nfu_ops returns IBP_OK. Otherwise error number is returned and also IBP_errno is set.

PARAMETER structure typedef struct { }PARAMETER; typedef enum { IOTYPE ioType; void *data; int offset; int length; }PARAMETER; typedef enum { IBP_REF_RD, IBP_REF_WR, IBP_REF_RDWR, IBP_VAL_IN, IBP_VAL_OUT,IBP_VAL_INOUT } IOTYPE;

Parameter Type Call-by-reference Call-by-value Use IBP capabilities as parameters. At IBP depot side, NFU reads/writes data from/to allocations. Call-by-value User data are sent to IBP depot for input parameters and results are sent back from depot for output parameters.