Sei sulla pagina 1di 3

Jose Francisco Gonzalez Gurrola

06 de Octubre del 2014

Comunicacin por RPC


El Remote Procedure Call (RPC) (del ingls, Llamada a Procedimiento Remoto) es
un protocolo que permite a un programa de ordenador ejecutar cdigo en otra
mquina remota sin tener que preocuparse por las comunicaciones entre ambos.
El protocolo es un gran avance sobre los sockets usados hasta el momento. De
esta manera el programador no tena que estar pendiente de las comunicaciones,
estando stas encapsuladas dentro de las RPC.
Las RPC son muy utilizadas dentro de la comunicacin cliente-servidor. Siendo el
cliente el que inicia el proceso solicitando al servidor que ejecute cierto
procedimiento o funcin y enviando ste de vuelta el resultado de dicha operacin
al cliente.
Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el
RPC de Sun denominado ONC RPC (RFC 1057), el RPC de OSF denominado
DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft
DCOM, aunque ninguno de estos es compatible entre s. La mayora de ellos
utilizan un lenguaje de descripcin de interfaz (IDL) que define los mtodos
exportados por el servidor.
Hoy en da se est utilizando el XML como lenguaje para definir el IDL y el HTTP
como protocolo de red, dando lugar a lo que se conoce como servicios web.
Ejemplos de stos pueden ser SOAP o XML-RPC.

Comunicacin por socket


Socket designa un concepto abstracto por el cual dos programas (posiblemente
situados en computadoras distintas) pueden intercambiar cualquier flujo de datos,
generalmente de manera fiable y ordenada.
El trmino socket es tambin usado como el nombre de una interfaz de
programacin de aplicaciones (API) para la familia de protocolos de Internet
TCP/IP, provista usualmente por el sistema operativo.
Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de
datos provenientes de la tarjeta de red a los procesos o hilos apropiados. Un
socket queda definido por un par de direcciones IP local y remota, un protocolo de
transporte y un par de nmeros de puerto local y remoto.
Para que dos programas puedan comunicarse entre s es necesario que se
cumplan ciertos requisitos:

Jose Francisco Gonzalez Gurrola

06 de Octubre del 2014

Que un programa sea capaz de localizar al otro.


Que ambos programas sean capaces de intercambiarse cualquier
secuencia de octetos, es decir, datos relevantes a su finalidad.

Para ello son necesarios los dos recursos que originan el concepto de socket:

Un par de direcciones del protocolo de red (direccin IP, si se utiliza el


protocolo TCP/IP), que identifican la computadora de origen y la remota.
Un par de nmeros de puerto, que identifican a un programa dentro de cada
computadora.

Los sockets permiten implementar una arquitectura cliente-servidor. La


comunicacin debe ser iniciada por uno de los programas que se denomina
programa "cliente". El segundo programa espera a que otro inicie la comunicacin,
por este motivo se denomina programa "servidor".
Un socket es un proceso o hilo existente en la mquina cliente y en la mquina
servidora, que sirve en ltima instancia para que el programa servidor y el cliente
lean y escriban la informacin. Esta informacin ser la transmitida por las
diferentes capas de red.

Comunicacin en grupo
La comunicacin en grupo tiene que permitir la definicin de grupos, as como
caractersticas propias de los grupos, como la distincin entre grupos abiertos o
que permiten el acceso y cerrados que lo limitan, o como la distincin del tipo de
jerarqua dentro del grupo. Igualmente, los grupos han de tener operaciones
relacionadas con su manejo, como la creacin o modificacin.

Sincronizacin
La sincronizacin en sistemas de un nico ordenador no requiere ninguna
consideracin en el diseo del sistema operativo, ya que existe un reloj nico que
proporciona de forma regular y precisa el tiempo en cada momento. Sin embargo,
los sistemas distribuidos tienen un reloj por cada ordenador del sistema, con lo
que es fundamental una coordinacin entre todos los relojes para mostrar una
hora nica. Los osciladores de cada ordenador son ligeramente diferentes, y como
consecuencia todos los relojes sufren un desfase y deben ser sincronizados
continuamente. La sincronizacin no es trivial, porque se realiza a travs de
mensajes por la red, cuyo tiempo de envo puede ser variable y depender de
muchos factores, como la distancia, la velocidad de transmisin o la propia
saturacin de la red, etc.

Jose Francisco Gonzalez Gurrola

06 de Octubre del 2014

El reloj
La sincronizacin no tiene por qu ser exacta, y bastar con que sea
aproximadamente igual en todos los ordenadores. Hay que tener en cuenta, eso
s, el modo de actualizar la hora de un reloj en particular. Es fundamental no
retrasar nunca la hora, aunque el reloj adelante. En vez de eso, hay que ralentizar
la actualizacin del reloj, frenarlo, hasta que alcance la hora aproximadamente.
Existen diferentes algoritmos de actualizacin de la hora, tres de ellos se exponen
brevemente a continuacin.

Potrebbero piacerti anche