Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El servicio INFO gestiona un conjunto de recursos potencialmente muy grande, al que los
usuarios pueden acceder a través de Internet mediante una clave (un nombre de cadena). Discuta un
enfoque para el diseño de los nombres de los recursos que logra la pérdida mínima de rendimiento a
medida que aumenta el número de recursos en el servicio. Sugiera cómo se puede implementar el
servicio INFO para evitar cuellos de botella en el rendimiento cuando el número de usuarios se vuelve
muy grande.
R//
Los algoritmos que usan estructuras jerárquicas se escalan mejor que aquellos que usan estructuras
lineales. La solución debería sugerir un esquema jerárquico de nombres. Un ejemplo puede ser que cada
recurso tiene un nombre de la forma "A, B, C, D, etc. “, donde el tiempo se pueden tener un total de “N”
recursos en el sistema.
Para permitir un gran número de usuarios, los recursos se podrían dividir entre varios servidores,
organizando por los nombres comenzando con A en el servidor 1, con B en el servidor 2 y así
sucesivamente. Podría haber más de un nivel de particionamiento como en DNS.
Para evitar cuellos de botella en el rendimiento, el algoritmo para buscar un nombre debe estar
descentralizado. Es decir, el mismo servidor no debe participar en la búsqueda de cada nombre. (Una
solución centralizada usaría un solo servidor raíz que contiene una base de datos de ubicación que
asigna partes de la información a servidores particulares). También se puede, por ejemplo:
Pregunta 12. Un proceso de servidor mantiene un objeto de información compartida como el objeto
BLOB del ejercicio 1.7. Proporcione argumentos a favor y en contra de permitir que el servidor ejecute
simultáneamente las solicitudes del cliente. En el caso de que se ejecuten simultáneamente,
proporcione un ejemplo de posible "interferencia" que pueda ocurrir entre las operaciones de
diferentes clientes. Sugiera cómo se puede prevenir dicha interferencia.
R//
Para estas ejecuciones que son concurrente el elemento a valor que se tiene es el rendimiento en el
servidor, que ayuda a despachar un numero rápido de clientes. Sin embargo, el contra que tendríamos
un problema muy grande y es la interferencia entre operación concurrentes.
Especificando mejor la situación al ejecutar simultáneamente las solicitudes del cliente podríamos tener
una mezcla en las solicitudes causando que la información cambie de objeto, debido a que cada solicitud
que se haga en concurrencia sea un objeto diferente. Si imaginamos que estas solicitudes son de un
banco y los dos clientes son usuarios que están retirando o depositando dinero y estas solicitudes se
llegaran a mezclar, se tendría un error muy grande en los datos.
Para superar la interferencia, se debe usar alguna forma de control de concurrencia. Por ejemplo, para
un servidor Java se usan operaciones sincronizadas.
Pregunta 14. Los recursos en la World Wide Web y otros servicios se nombran mediante URL. ¿Qué
denotan las iniciales URL? Dé ejemplos de tres tipos diferentes de recursos web que pueden ser
nombrados por URL.
R//
Los tres tipos diferentes de recursos web que pueden ser nombrados por URL son los siguientes: un
archivo o una imagen, películas, sonido, cualquier cosa que se pueda representar, una consulta a una
base de datos o un motor de búsqueda.
Pregunta 15. Dé un ejemplo de una URL HTTP. Enumere los componentes principales de una URL HTTP,
indicando cómo se denotan sus límites e ilustrando cada uno de su ejemplo. ¿En qué medida es una
ubicación HTTP URL transparente?
R//
http://www.google.com/buscar/distrital/index.html
• El resto se refiere a información sobre ese host, nombrado dentro del directorio de nivel superior
utilizado por ese servidor web buscar / distrital / index.html.
Conclusiones