stringtranslate.com

Flujo de datos distribuido

Una ilustración de los conceptos básicos involucrados en la definición de un flujo de datos distribuido.

El flujo de datos distribuido (también abreviado como flujo distribuido ) se refiere a un conjunto de eventos en una aplicación o protocolo distribuido .

Los flujos de datos distribuidos tienen un propósito análogo al de las variables o parámetros de métodos en lenguajes de programación como Java , ya que pueden representar un estado almacenado o comunicado por una capa de software. A diferencia de las variables o parámetros, que representan una unidad de estado que reside en una única ubicación, los flujos distribuidos son dinámicos y distribuidos: aparecen simultáneamente en múltiples ubicaciones dentro de la red al mismo tiempo. Como tal, los flujos distribuidos son una forma más natural de modelar la semántica y el funcionamiento interno de ciertas clases de sistemas distribuidos. En particular, la abstracción del flujo de datos distribuidos se ha utilizado como una forma conveniente de expresar las relaciones lógicas de alto nivel entre partes de protocolos distribuidos. [1] [2] [3]

Propiedades informales

Un flujo de datos distribuido satisface las siguientes propiedades informales.

Representación formal

Formalmente, representamos cada evento en un flujo distribuido como un cuádruple de la forma (x, t, k, v), donde x es la ubicación (por ejemplo, la dirección de red de un nodo físico) en la que ocurre el evento, t es el momento en el que esto sucede, k es una versión o un número de secuencia que identifica el evento en particular, y v es un valor que representa la carga útil del evento (por ejemplo, todos los argumentos pasados ​​en una llamada de método). [1] [5] Cada flujo distribuido es un conjunto (posiblemente infinito) de dichos cuádruples que satisface las siguientes tres propiedades formales.

Además de lo anterior, los flujos pueden tener una serie de propiedades adicionales.

Referencias

  1. ^ ab Ostrowski, K., Birman, K., Dolev, D. y Sakoda, C. (2009). "Implementación de flujos de eventos confiables en sistemas grandes a través de flujos de datos distribuidos y delegación recursiva", 3.ª Conferencia internacional de la ACM sobre sistemas distribuidos basados ​​en eventos (DEBS 2009) , Nashville, TN, EE. UU., del 6 al 9 de julio de 2009, http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf Archivado el 6 de junio de 2011 en Wayback Machine.
  2. ^ Ostrowski, K., Birman, K. y Dolev, D. (2009). "Distributed Data Flow Language for Multi-Party Protocols", 5th ACM SIGOPS Workshop on Programming Languages ​​and Operating Systems (PLOS 2009) , Big Sky, MT, EE. UU., 11 de octubre de 2009, http://www.cs.cornell.edu/~krzys/krzys_plos2009.pdf Archivado el 6 de junio de 2011 en Wayback Machine.
  3. ^ abc Ostrowski, K., Birman, K., Dolev, D. (2009). "Programación de objetos distribuidos en vivo con flujos de datos distribuidos", enviado a la Conferencia internacional sobre programación orientada a objetos, sistemas, lenguajes y aplicaciones (OOPSLA 2009) , http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf Archivado el 16 de agosto de 2009 en Wayback Machine.
  4. ^ abc De Francesco, N.; Perego, G.; Vaglini, G.; Vanneschi, M. (1 de diciembre de 1980). "Un marco para el procesamiento distribuido de flujo de datos". Calcolo . 17 (4): 333–363. doi :10.1007/BF02578622. ISSN  1126-5434.
  5. ^ abc Reif, John H.; Smolka, Scott A. (febrero de 1990). "Análisis del flujo de datos de procesos de comunicación distribuidos" (PDF) . Revista internacional de programación paralela . 19 (1): 1–30. doi :10.1007/BF01407862.
  6. ^ Gallizzi, Edmund; Zondervan, Quinton (1992). "Sistema de computación de flujo de datos distribuidos". Actas de la 30.ª conferencia regional anual del sudeste sobre - ACM-SE 30 . ACM Press. p. 421. doi :10.1145/503720.503770. ISBN 978-0-89791-506-9.