2
y forma parte de la mejor universidad tecnológica de España en el ranking de Shanghái Estudia en la Grado en Diseño y Tecnologías Creativas Artes y Humanidades Facultad de Bellas Artes Edificio 3M Campus de Vera (València) 4 cursos 240 créditos 100 plazas Castellano y valenciano [email protected] +34 963 877 220 www.upv.es/titulaciones/GDTC/ Crédito 16,41 € (2019/2020) Permite acceder a becas Nota de corte 11,558 11,036 10,838 2019 2018 2017 Presentación del grado Continuación de estudios Salidas profesionales Movilidad internacional MU en Artes Visuales y Multimedia MU en Producción Artística otros MU + nivelación m á s t e r e s u n i v e r s i t a r i o s U P V GDTC Disfruta de enormes campus y espacios diseñados para ti, como la Casa del Alumno. Practica hasta 70 deportes distintos en nuestras instalaciones. Infinidad de servicios a tu disposición: clases de idiomas, descuentos en transporte público, orientación psicopedagógica, ayuda a la inserción laboral… Existen sectores empresariales muy diversos que precisan un perfil claro formado en diseño y tecnologías creativas, con altos niveles de preparación y conocimientos multidisciplinares. La demanda, en los últimos años, de especialistas en diseño gráfico, ilustración, animación 2D y 3D, infografía, diseño de sitios web o desarrollo de aplicaciones para dispositivos móviles ha crecido exponencialmente; también el número de empresas puestas en marcha de forma emprendedora por estos nuevos profesionales. Así pues, las personas tituladas podrán trabajar en ámbitos de la creación artística aplicada como el diseño gráfico, el diseño audiovisual, el diseño editorial, el diseño web y de aplicaciones móviles, el diseño de videojuegos, la ilustración, la animación, la creación publicitaria, etc. Prácticas en empresas Las prácticas, que son de carácter voluntario, suponen un primer contacto con el mundo empresarial, válido para el currículo profesional. Además, se pueden convalidar por créditos. Pueden participar los estudiantes matriculados en el tercer curso y se realizan en empresas de diseño industrial, textil, cerámico, audiovisual o gráfico; editoriales, estudios de decoración y fotografía; galerías de arte, fundaciones culturales, museos; y en agencias de publicidad. Existen varios programas de prácticas en empresas en el extranjero cuyas convocatorias se abren todos los años (Erasmus Prácticas, Leonardo y Blasco Ibáñez). Este grado permite el acceso a: El Grado en Diseño y Tecnologías Creativas se enmarca en el ámbito profesional derivado de la aplicación de los procesos artísticos en las industrias culturales, que se desarrollan de forma independiente de la práctica artística. Estas industrias culturales se dirigen a la producción de bienes y servicios relacionados con el encargo profesional y con la creación, la producción y la comercialización de contenidos creativos de naturaleza cultural. Este uso profesional y aplicado de los procesos artísticos implica hoy un conocimiento profundo de los usos visuales en los diferentes medios y formas de comunicación, el entendimiento de soluciones funcionales y estéticas, así como la utilización de técnicas variadas, que implican en muchos casos nuevas tecnologías. Puedes pasar de tres a diez meses (es decir, un curso académico completo) en alguna de las 120 universidades de 35 países diferentes con las que la Facultad tiene convenios de intercambio.

Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Automatic Noise Simulation in UDP

Eitan Farchi, Yoel Krasny, Yarden Nir

Page 2: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Outline

� UDP transport

� Difficulties in testing UDP based application

� ConTest/UDP – Automatic noise simulation in UDP

� Comparing ConTest/UDP to white box testing in testing of group communication

Page 3: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� Transport protocols over IP

� TCP� Connection based� Reliable� Analogous to making a telephone call� Usage examples: FTP, HTTP

� UDP� Not connection based� Unreliable� Analogous to sending a letter� Usage examples: Ping, Multicast, Stocks Quote server

� Java programs use TCP or UDP through the java.net package

UDP VS TCP

Java.netTransport(TCP/UDP)Network

(IP)Link

(device driver)

Page 4: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Link

IP

UDP

Application

Java

Link

IP

UDP

Application

Java

NetworkNetwork

1

Unreliable flow in UDP – Losing messages

AB

Page 5: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Link

IP

UDP

Application

Java

Link

IP

UDP

Application

Java

NetworkNetwork

Unreliable flow in UDP – Duplicating messages

22

2 2

2

AB

Page 6: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Link

IP

UDP

Application

Java

Link

IP

UDP

Application

Java

NetworkNetwork

Unreliable flow in UDP – Changing the order

44

2 42 3

3

4334

3

AB

Page 7: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Link

IP

UDP

Application

Java

Link

IP

UDP

Application

Java

NetworkNetwork

Unreliable flow in UDP – Delaying messages

55

2 42 3 5

AB

Page 8: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Testing UDP based applications

� A UDP based application must handle network noises�For example – Any reliable component on top of UDP

� Testing scenarios of network noise is compulsory

� The probability to encounter such scenarios during testing in normal environment is low

Page 9: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Automatic Simulation of Noise by ConTest/UDP

� ConTest/UDP addresses the difficulties in testing UDP applications

� ConTest/UDP simulates UDP noise and network failures

� ConTest/UDP creates an intermediary layer above the Java API

� ConTest/UDP is part of the ConTest suite, that aims to increase the probability of exposing concurrent bugs

Page 10: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

ConTest/UDP Options

� Remote Nodes – apply noise on messages from/to certain nodes

� Direction – incoming and/or outgoing messages

� Mode �No noise�Delay – packets are accumulated by the tool�Block – packets are lost�Random noise – packets are tampered randomly

� Strength – determines the random noise level

Page 11: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Mode = DelayDirection = Out

Link

IP

UDP

Application

Java

Tool

Link

IP

UDP

Application

Java

ConTest/UDP

Link

IP

UDP

Java

Tool

Link

IP

UDP

Application

Java

ConTest/UDP

Delaying messages with ConTest/UDP

NetworkNetwork

123

AB

Page 12: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Mode = No-Noise

Link

IP

UDP

Application

Java

Tool

Link

IP

UDP

Application

Java

Link

IP

UDP

Java

Link

IP

UDP

Application

Java

Delaying messages with ConTest/UDP

NetworkNetwork

123

1 2 3 4

4

AB

ConTest/UDP ConTest/UDP

Page 13: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Mode = BlockDirection = Out

Link

IP

UDP

Application

Java

Tool

Link

IP

UDP

Application

Java

Link

IP

UDP

Java

Link

IP

UDP

Application

Java

Losing messages with ConTest/UDP

NetworkNetwork

123 XXX

AB

ConTest/UDP ConTest/UDP

Page 14: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Mode = No-Noise

Link

IP

UDP

Application

Java

Tool

Link

IP

UDP

Application

Java

Link

IP

UDP

Java

Link

IP

UDP

Application

Java

Losing messages with ConTest/UDP

NetworkNetwork

123 XXX

4

4

AB

ConTest/UDP ConTest/UDP

Page 15: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Outline

� UDP transport

� Difficulties in testing UDP based application

� ConTest/UDP – Automatic noise simulation in UDP

� Comparing ConTest/UDP to white box testing of a group communication application

Page 16: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� Multi-point to multi-point communication for a dynamic group of processes

� Supplies a group membership service that tracks the set of groupmembers – view

� Supports various guarantees for its messages delivery:� FIFO delivery� Virtual Synchrony� Total Order

Group Communication

Page 17: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� Multi-point to multi-point communication for a dynamic group of processes.

� Supplies a group membership service that tracks the set of groupmembers – view

� Supports various guarantees for its messages delivery:� FIFO delivery� Virtual Synchrony� Total Order

Group Communication

A

BC

View Id 1{A}View Id 2{A, B}View Id 3{A, B, C}

Page 18: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

Transport layer

Membership Layer� VRI – Java implementation based on Clue (AS400)

� All layers support a generic interface

� Every layer is responsible for a certain taskVirtual Synchrony

Application Layer

Versatile Replication Infrastructure

Page 19: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� The Transport Layer provides reliable Multicast delivery over UDP

� Testing the reliability is possible using Contest/UDP and a Verification Layer

� Running with the Random mode provides powerful automatic testing

Testing the reliability of the Transport Layer

Transport Layer

Virtual Synchrony

Application Layer

Membership Layer

ConTest/UDP

Verification Layer

Page 20: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

VRI

UDP

D

VRI

UDP

C

VRI

UDP

B

VRI

UDP

A

{A, B, C, D}

{A, B, C, D} {A, B, C, D}

{A, B, C, D}

Network connection is broken

X

Testing partitions – required scenario

Page 21: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

VRI

UDP

D

VRI

UDP

C

VRI

UDP

B

VRI

UDP

A

{A, B, C, D}

{A, B, C, D} {A, B, C, D}

{A, B, C, D}

X

After some time the group should be

partitioned

Testing partitions – required scenario

{A, B}

{A, B}

{C, D}

{C, D}

Page 22: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

VRI

ConTest

UDP

B

VRI

ConTest

UDP

C

VRI

ConTest

UDP

D

VRI

ConTest

UDP

A

{A, B, C, D}

{A, B, C, D}

{A, B, C, D}

{A, B, C, D}

Connection is brokenBlock

(C, D)

Block(C, D)

Block(A, B)

Block(A, B)

Testing partitions – simulated scenario

Page 23: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

{A, B, C, D} {A, B, C, D}{A, B} {C, D}

After some time the group should be

partitioned

{A, B, C, D} {A, B, C, D}{A, B} {C, D}

Testing partitions – simulated scenario

VRI

ConTest

UDP

A

VRI

ConTest

UDP

B

VRI

ConTest

UDP

C

VRI

ConTest

UDP

D

Page 24: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� Follows the white box testing strategy

� Responsible for injecting noise into the VRI stack

� Implements the generic interface of a layer in the stack

The Manipulator Layer

Transport Layer

Virtual Synchrony

Application Layer

Membership Layer

Manipulator

Manipulator

Page 25: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� This scenario illustrates that sometimes it is hard to create certain scenario with ConTest/UDP.

� When a new view is established in a certain member C before another member B, C should queue view messages from B until the new view is established

View message synchronization

Page 26: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

NewView

VRI

Transport

A

NewView

View N{A, B, C, D}

View N{A, B, C, D}

View N{A, B, C, D}

View N{A, B, C, D}

View message synchronization – required scenario

VRI

Transport

B

VRI

Transport

C

VRI

Transport

DX

Page 27: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

View N{A, B, C, D}

View N{A, B, C, D}

View N+1{A, B, C}

View N+1{A, B, C}

VRI

Transport

A

VRI

Transport

B

VRI

Transport

D

View N{A, B, C, D}

View N{A, B, C, D}

NewView

View message synchronization – required scenario

VRI

Transport

C

X

Page 28: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

VRI

Transport

C

View N{A, B, C, D}

View N{A, B, C, D}

View N+1{A, B, C}

View N+1{A, B, C}

VRI

Transport

A

VRI

Transport

B

NewView

View N{A, B, C, D}

11

1

1

View message synchronization – required scenario

VRI

Transport

D

View N{A, B, C, D}

X

Page 29: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

View N{A, B, C, D}

View N+1{A, B, C}

VRI

Transport

C

View N+1{A, B, C}

View N+1{A, B, C}

NewView

NewView

1

1

View message synchronization – required scenario

VRI

Transport

A1

VRI

Transport

B

VRI

Transport

D

View N{A, B, C, D}

X

Page 30: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

VRI

Transport

B

VRI

Transport

C

NewView

NewView

View N{A, B, C, D}

View N{A, B, C, D}

View N{A, B, C, D}

View message synchronization – Simulated scenario

Manip

View N{A, B, C, D}

VRI

Transport

DX

VRI

Transport

A

Page 31: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

View N{A, B, C, D}

View N+1{A, B, C}

VRI

Transport

B

View N{A, B, C, D}

View N+1{A, B, C}

VRI

Transport

A

VRI

Transport

C

View N{A, B, C, D}

View message synchronization – Simulated scenario

Manip

Delay New View Call

View N{A, B, C, D}

VRI

Transport

DX

Page 32: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

VRI

Transport

C

Manip

View N{A, B, C, D}

View N+1{A, B, C}

VRI

Transport

A

View N{A, B, C, D}

View N+1{A, B, C}

View N{A, B, C, D}

11

1

1

View message synchronization – Simulated scenario

VRI

Transport

B

View N{A, B, C, D}

VRI

Transport

DX

Page 33: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

View N{A, B, C, D}

View N{A, B, C, D}

View N+1{A, B, C}

View N+1{A, B, C}

VRI

Transport

A

VRI

Transport

B

Transport

C

View N{A, B, C, D}

1

1

1

View message synchronization – Simulated scenario

Manip

VRIDelay Over

View N{A, B, C, D}

VRI

Transport

DX

Page 34: Automatic Noise Simulation in UDP - IBM Research · Analogous to making a telephone call Usage examples: FTP, HTTP UDP Not connection based Unreliable ... packets are lost Random

IBM Labs in Haifa

� ConTest/UDP - provides a powerful utility to test UDP-based programs

� ConTest/UDP - easy to use with no effect on the application code

� ConTest/UDP - not always suitable to test application specific scenarios�Such scenarios require specifically tailored testing code

Conclusions