Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una Cloud
Una Cloud
COMPUTING OPORTUNISTA
Director:
Ph. D. Harold Enrique Castro Barrera
Profesor Asociado
TABLA DE CONTENIDO
1. INTRODUCCIN .............................................................................................. 9
1.1. CONTEXTO................................................................................................. 13
1.2. OBJETIVO PRINCIPAL ............................................................................... 15
1.3. OBJETIVOS ESPECFICOS ....................................................................... 15
2. CLOUD COMPUTING .................................................................................... 16
2.1. ASPECTOS CONCEPTUALES ................................................................... 16
2.1.1. Contexto histrico..................................................................................... 16
2.1.2. Definiciones en construccin .................................................................... 17
2.1.3. Caractersticas principales ....................................................................... 19
2.1.4. Definicin propuesta................................................................................. 21
2.1.5. Modelos de servicio.................................................................................. 21
2.1.6. Virtualizacin ............................................................................................ 24
2.1.7. Modelos de despliegue ............................................................................ 25
2.1.8. Ventajas de cloud computing ................................................................... 26
2.1.9. Desventajas de cloud computing ............................................................. 28
2.2. IMPLEMENTACIONES DEL MODELO IAAS .............................................. 29
2.2.1. Amazon Elastic Compute Cloud ............................................................... 29
2.2.2. Nimbus ..................................................................................................... 32
2.2.3. OpenNebula ............................................................................................. 34
2.2.4. Eucalyptus................................................................................................ 36
2.2.5. VMware View y VMware Sphere .............................................................. 38
2.3. EVALUACIN DE LAS IMPLEMENTACIONES DEL MODELO IAAS ........ 41
3. COMPUTACIN OPORTUNISTA .................................................................. 46
3.1. ASPECTOS CONCEPTUALES ................................................................... 46
3.1.1. Definicin ................................................................................................. 46
3.1.2. Contexto de aplicacin ............................................................................. 47
3.2. IMPLEMENTACIONES DE LA COMPUTACIN OPORTUNISTA .............. 48
3.2.1. Taxonoma de las implementaciones de la computacin oportunista ...... 48
3.2.2. UnaGrid .................................................................................................... 50
3.3. IDENTIFICACIN DE ASPECTOS DE DISEO E IMPLEMENTACIN
TILES PARA EL DESARROLLO DE UNACLOUD ............................................. 52
4. EVALUACIN DEL ESTADO DEL ARTE CON RESPECTO A LOS
OBJETIVOS .......................................................................................................... 57
4.1. EVALUACIN DEL ESTADO DEL ARTE DE CLOUD COMPUTING ......... 58
4.2. EVALUACIN DEL ESTADO DEL ARTE DE LA COMPUTACIN
OPORTUNISTA .................................................................................................... 62
5. ESTRATEGIA DE SOLUCIN ....................................................................... 69
5.1. ESTRATEGIAS DE DISEO E IMPLEMENTACIN .................................. 69
5.1.1. Estrategia de virtualizacin ...................................................................... 70
5.1.2. Estrategia oportunista .............................................................................. 71
5.2. ALCANCE DE LA SOLUCIN..................................................................... 72
NDICE DE FIGURAS
Figura 1. Modelos de servicio cloud computing ..................................................... 21
Figura 2. Diagrama de despliegue de un hypervisor ............................................. 24
Figura 3. Modelos de despliegue cloud computing ............................................... 26
Figura 4. Diagrama de despliegue de Amazon EC2 ............................................. 30
Figura 5. Arquitectura de Nimbus .......................................................................... 33
Figura 6. Arquitectura de OpenNebula .................................................................. 35
Figura 7. Diagrama de despliegue de Eucalyptus ................................................. 37
Figura 8. Diagrama de despliegue de VMware View ............................................. 39
Figura 9. Arquitectura de VMware vSphere........................................................... 40
Figura 10. Arquitectura de UnaGrid ....................................................................... 51
Figura 11. Estrategia de virtualizacin de UnaCloud ............................................. 71
Figura 12. Estrategia oportunista de UnaCloud..................................................... 72
Figura 13. Visin general de la arquitectura de UnaCloud .................................... 77
Figura 14. Diagrama de componentes de la arquitectura de UnaCloud ................ 80
Figura 15. Diagrama de componentes de la arquitectura de UnaCloud Server .... 81
Figura 16. Diagrama de componentes de la arquitectura de UnaCloud Client ...... 88
Figura 17. Proceso de personalizacin del modelo IaaS en UnaCloud ................. 92
Figura 18. Proceso de despliegue del modelo IaaS en UnaCloud ........................ 93
Figura 19. Proceso de administracin del modelo IaaS en UnaCloud .................. 94
Figura 20. Proceso de administracin de la infraestructura base en UnaCloud .... 95
Figura 21. Protocolo de seguridad entre UnaCloud Server y UnaCloud Client ..... 97
Figura 22. Protocolo de seguridad entre UnaCloud Client y UnaCloud Server ..... 98
Figura 23. Proceso de despliegue de un CVC en GUMA. ................................... 101
Figura 24. Autenticacin de usuarios UnaCloud. ................................................ 104
Figura 25. Administracin de usuarios UnaCloud. .............................................. 104
Figura 26. Personalizacin del tipo de sistema operativo. .................................. 105
Figura 27. Personalizacin de la versin del sistema operativo. ......................... 106
Figura 28. Personalizacin del conjunto de aplicaciones. ................................... 106
Figura 29. Consulta del listado de aplicaciones. ................................................. 106
Figura 30. Personalizacin del tamao del disco duro. ....................................... 107
Figura 31. Personalizacin del nmero de ncleos de procesamiento. .............. 107
Figura 32. Personalizacin del tamao de la memoria RAM. .............................. 108
Figura 33. Personalizacin del nmero de instancias y el tiempo de ejecucin. . 108
Figura 34. Personalizacin del modelo IaaS con localizacin de ejecuciones. ... 109
Figura 35. Consola de administracin del despliegue del modelo IaaS. ............. 110
Figura 36. Monitoreo del modelo IaaS. ............................................................... 110
Figura 37. Administracin del tiempo de ejecucin del modelo IaaS. ................. 111
Figura 38. Reporte de la trazabilidad de uso del modelo IaaS. ........................... 111
Figura 39. Administracin de los laboratorios que soportan a UnaCloud. ........... 112
Figura 40. Administracin de las mquinas fsicas que soportan a UnaCloud. ... 113
Figura 41. Administracin de la infraestructura fsica que soporta a UnaCloud. . 113
Figura 42. Monitorizacin de la infraestructura fsica que soporta a UnaCloud. . 114
Figura 43. Administracin de las mquinas virtuales. ......................................... 115
Figura 44. Infraestructura de despliegue de UnaCloud. ...................................... 117
Figura 45. Uso simultneo del procesador por parte del usuario y la mquina
virtual. .................................................................................................................. 119
Figura 46. Diagrama de despliegue de varios segmentos worm ......................... 140
Figura 47. Arquitectura de Condor ...................................................................... 142
Figura 48. Diagrama de despliegue de GIMPS ................................................... 144
Figura 49. Diagrama de despliegue de SETI@home .......................................... 145
Figura 50. Diagrama de despliegue de Distributed.net ....................................... 147
Figura 51. Arquitectura de BOINC....................................................................... 148
Figura 52. Diagrama de despliegue de Bayanihan Computing .NET .................. 149
Figura 53. Diagrama de despliegue de OurGrid .................................................. 151
Figura 54. Arquitectura de InteGrade .................................................................. 153
Figura 55. Diagrama de clases de UnaCloud Server .......................................... 156
Figura 56. Diagrama de clases de UnaCloud Client ............................................ 158
Figura 57. Estructura de implementacin de UnaCloud Server........................... 160
Figura 58. Estructura de implementacin de UnaCloud Client. ........................... 162
NDICE DE TABLAS
Tabla 1. Definiciones de cloud computing en construccin. .................................. 18
Tabla 2. Caractersticas de cloud computing......................................................... 19
Tabla 3. Clasificacin de proveedores IaaS .......................................................... 22
Tabla 4. Clasificacin de proveedores PaaS ......................................................... 23
Tabla 5. Clasificacin de proveedores SaaS ......................................................... 23
Tabla 6. Comparacin y evaluacin de las implementaciones del modelo IaaS
frente a las caractersticas de cloud computing..................................................... 42
Tabla 7. Identificacin de aspectos tiles para el desarrollo de UnaCloud ........... 53
Tabla 8. Evaluacin de aspectos tiles para el desarrollo de UnaCloud ............... 54
Tabla 9. Requerimientos asociados a la infraestructura base ............................... 58
Tabla 10. Comparacin y evaluacin de las implementaciones del modelo IaaS
frente a los requerimientos asociados a la infraestructura oportunista .................. 59
Tabla 11. Comparacin y evaluacin del estado de la computacin oportunista
frente a cloud computing ....................................................................................... 62
Tabla 12. Implementacin del componente Web interface. ................................... 82
Tabla 13. Implementacin del componente Customized Environment Manager. .. 83
Tabla 14. Implementacin del componente Virtual Machine Manager. ................. 84
Tabla 15. Implementacin del componente Persistence Manager. ....................... 85
Tabla 16. Implementacin del componente Physical Infrastructure Manager. ...... 85
Tabla 17. Implementacin del componente Server Communication Manager. ..... 86
Tabla 18. Implementacin del componente Server Security Manager. ................. 87
Tabla 19. Implementacin del componente Client Communication Manager. ....... 89
Tabla 20. Implementacin del componente Client Security Manager. ................... 89
Tabla 21. Implementacin del componente Context Manager. ............................. 89
Tabla 22. Implementacin del componente Hypervisor Manager. ......................... 90
Tabla 23. Implementacin del componente Local Executor Manager. .................. 90
Tabla 24. Implementacin del componente Monitoring Manager. ......................... 91
Tabla 25. Comparacin entre los prototipos implementados .............................. 102
Tabla 26. Caractersticas de la infraestructura de despliegue ............................. 116
Tabla 27. Impacto de las tareas intensivas en procesamiento ............................ 118
Tabla 28. Impacto de las tareas intensivas en entrada y salida (I/O) .................. 118
Tabla 29. Validacin de UnaCloud contra las caractersticas de la computacin
oportunista........................................................................................................... 120
Tabla 30. Prueba de tiempos de respuesta de UnaCloud ................................... 121
Tabla 31. Caractersticas del CVC de bioinformtica .......................................... 123
Tabla 32. Principales contribuciones al proyecto Campus Grid Uniandes .......... 123
Tabla 33. Caractersticas de las mquinas virtuales de prueba .......................... 125
Tabla 34. Validacin de UnaCloud contra las caractersticas generales de cloud
computing ............................................................................................................ 126
1. INTRODUCCIN
Entre los ms recientes paradigmas de la computacin, grid computing1 (1) y cloud
computing (2) parecen ser los de mayor prospectiva (3). Grid computing es
considerado un paradigma en produccin que ha adquirido una enorme relevancia
al satisfacer las necesidades de grandes capacidades computacionales para el
desarrollo de la e-Ciencia. La investigacin acadmica y cientfica alrededor de
grid computing ha contribuido notablemente a su madurez, conllevando al
desarrollo de estndares, arquitecturas, tecnologas, herramientas y aplicaciones
que en la mayora de los casos son abiertas y de propsito general (4).
En contraposicin, cloud computing es considerado un paradigma en desarrollo
(5), cuya madurez puede considerarse en etapa de infancia (6). Al tratarse del ms
reciente paradigma de la computacin (2), aun no existen acuerdos generales
para su definicin (7) y hay discrepancia en cuanto a sus posibles arquitecturas,
modelos y estndares. Sin embargo, cloud computing es considerado el
paradigma sucesor de grid computing (8), especialmente porque supone una
evolucin disruptiva del mismo al tener como objetivo la personalizacin y entrega
de infraestructuras computacionales, software y aplicaciones como servicios de
alta usabilidad. Estos servicios ocultan al usuario la mayora de las complejidades
asociadas a la administracin de la infraestructura base, pueden ser desplegados
bajo demanda, son facturados en un modelo de pago por uso y generalmente son
accedidos remotamente a travs de Internet (9).
Aunque se considera que las mayores expectativas acerca del paradigma cloud
computing estarn en fase de produccin dentro de 1 a 5 aos (10). Cloud
computing est captando una gran atencin alrededor del mundo (11), (12), no
nicamente la de expertos en tecnologas de informacin y comunicaciones
(TICs), sino tambin acadmicos, cientficos, investigadores, empresarios y
personas del comn, que se ven atrados por la entrega de infraestructuras y
servicios computacionales bajo demanda (13). Este novedoso paradigma est
adquiriendo una fortaleza inesperada en el mercado mundial de las tecnologas de
informacin (TI), pronosticndose una participacin del orden de billones de
dlares para los prximos aos, segn estudios publicados por firmas de
consultora e investigacin internacionales, como es el caso de Gartner (14),
Merrill Lynch (15), IDC (16), entre otras.
El autor usa terminologa tcnica en idioma ingls al considerarla de comn uso en el medio
acadmico e ingenieril, esta incluye palabras como: cluster computing, grid computing, cloud
computing, Infrastructure as a Service IaaS, Platform as a Service PaaS, Software as a Service
SaaS, middleware, Web, framework, broadcast, open source, entre otras. Adicionalmente, el
nombramiento de los componentes de la arquitectura de UnaCloud y todas las figuras del
documento fueron elaboradas en idioma ingls para facilitar su divulgacin.
12
1.1. CONTEXTO
El trabajo de investigacin descrito en este documento se enmarca en el contexto
del proyecto Campus Grid Uniandes, una iniciativa de la Universidad de los Andes,
cuyo propsito primordial es la construccin y despliegue de una infraestructura a
gran escala, capaz de satisfacer las demandas de capacidades computacionales
que exige el desarrollo de la e-Ciencia. Este proyecto se ha dividido en dos
grandes reas de trabajo: las infraestructuras basadas en recursos
computacionales dedicados, formalmente conocidas como grid de servicios y las
infraestructuras basadas en el aprovechamiento de recursos computacionales
parcialmente disponibles, formalmente conocidas como grid oportunistas.
En el rea de trabajo de los grid oportunistas, mltiples esfuerzos de investigacin
han conllevado al diseo e implementacin de UnaGrid, una infraestructura grid
virtual oportunista capaz de aprovechar los ciclos computacionales ociosos de los
computadores disponibles en los laboratorios de informtica del Departamento de
Ingeniera de Sistemas y Computacin. Esta infraestructura garantiza a los
usuarios de los recursos compartidos, tener prioridad para el acceso a los
recursos fsicos, mientras en forma paralela se aprovechan los recursos ociosos o
sub utilizados por los mismos, para suplir a bajo costo los requerimientos
computacionales exigidos para el desarrollo de proyectos grid computing
acadmicos e investigativos.
UnaGrid se basa en dos estrategias base. La primera estrategia es el uso de la
tecnologa de virtualizacin VMware (30) para facilitar el encapsulamiento de
ambientes de ejecucin personalizados. Esto se logra al fabricar mquinas
virtuales con todas las instalaciones y configuraciones de sistemas operativos,
middlewares, frameworks, herramientas y libreras, necesarias para la ejecucin
apropiada de aplicaciones grid computing. La segunda estrategia se basa en la
ejecucin de mquinas virtuales (que componen un ambiente de ejecucin
personalizado), como procesos en background de prioridad baja. Esto permite el
despliegue de infraestructuras grid virtuales oportunistas en forma paralela a la
ejecucin de los procesos de un usuario de un recurso compartido, sin afectar la
calidad de servicio percibida por el mismo durante el ejercicio de sus labores
cotidianas.
UnaGrid ha permitido la creacin y despliegue de infraestructuras
computacionales que han suplido los requerimientos de aplicaciones y proyectos
grid computing en diferentes reas del conocimiento, incluyendo la bioinformtica,
qumica computacional e ingeniera industrial. UnaGrid ha mejorado notablemente
el tiempo que toma la generacin de resultados, producto de la ejecucin eficiente
de aplicaciones multipropsito que requieren grandes capacidades de
13
14
15
2. CLOUD COMPUTING
Este captulo tiene como objetivo revisar, integrar y complementar aspectos
conceptuales e introductorios al paradigma cloud computing. Adicionalmente se
tiene como objetivo revisar el estado del arte de las principales implementaciones
del modelo IaaS de cloud computing, para identificar aspectos crticos para el
diseo e implementacin de UnaCloud. Este captulo se organiza de la siguiente
forma: en la primera seccin se abordan aspectos conceptuales del paradigma
cloud computing, en la segunda seccin se revisan implementaciones acadmicas
y comerciales del modelo IaaS, finalmente en la tercera seccin se realiza una
evaluacin a las implementaciones estudiadas.
2.1. ASPECTOS CONCEPTUALES
En esta seccin se abordan aspectos conceptuales de cloud computing, esto
incluye un breve contexto histrico, el estudio de definiciones en construccin, la
identificacin y seleccin de caractersticas relevantes, la propuesta de una
definicin propia, la definicin de la virtualizacin como una tecnologa de apoyo y
la identificacin de modelos de servicio, modelos de despliegue, ventajas y
desventajas de cloud computing.
2.1.1. Contexto histrico
En el ao de 1961, John McCarthy inventor del lenguaje de programacin LISP
vision: un da la computacin estar organizada como un servicio pblico (31),
posteriormente el 3 de julio del ao de 1969, Leonard Kleinrock uno de los
cientficos a cargo del proyecto ARPANET (Advanced Research Projects Agency
Network), el cual sent las bases de Internet, dijo: actualmente las redes de
computadoras estn en su infancia, pero en la medida en que crezcan y se
vuelvan sofisticadas, probablemente veremos el nacimiento de servicios de
computacin los cuales, al igual que los servicios de electricidad y telfono,
llegarn a cada casa y oficina alrededor de todo el pas (32). Estas visiones se
anticipaban a la aparicin de nuevos paradigmas de computacin fortalecidos por
el desarrollo de tecnologas de vanguardia capaces de proveer medidas de
desempeo, eficiencia, escalabilidad, distribucin, autonoma y ubicuidad, nunca
antes vistas. Estos novedosos paradigmas de la computacin incluyen: cluster
computing (33), grid computing, global computing (34), Internet computing (35),
peer-to-peer computing (P2P) (36), ubiquitous computing (37), utility computing
(38) y ms recientemente cloud computing, derivada del trmino cloud, usado
como metfora de infraestructuras tecnolgicas complejas y cuyo origen se remite
a la dcada de los 90, en referencia a las ya enormes redes ATM (Asynchronous
Transfer Mode) (39).
16
Instituto Nacional de
Estndares
y
Tecnologa (National
Institute of Standards
and Technology NIST) de Estados
Unidos
18
Usabilidad
Modelo de
autoservicio
Acceso a travs de
red
Modelo multiusuario
Virtualizacin
Escalabilidad
Interoperabilidad y
bajo acoplamiento
Extensibilidad
Administracin
delegada
Acuerdos de nivel de
servicio y calidad de
servicio
Seguridad
Modelo de
trazabilidad
EJEMPLO
Amazon Elastic Compute Cloud (Amazon EC2) (21),
Sun Network.com (Sun Grid) (20), ElasticHosts (68),
Procesamiento
Eucalyptus (23), Nimbus (24), OpenNebula (25),
Enomaly (69).
Distribucin
de Akamai (70), Amazon CloudFront Beta (71).
contenido a travs de
servidores virtuales
Amazon Simple Storage Service (Amazon S3) (72),
Amazon SimpleDB (73), Amazon Elastic Block Store
Almacenamiento
(74), Microsoft SkyDrive (75), Youtube (76), Nirvanix
Storage Delivery Network (77), Microsoft Live Mesh
Beta (78), Flickr (79).
Administracin
de Elastra (80), Engine Yard (81), FlexiScalable (82), Grid
Layer (83), Joyent (84), Mosso (85), Savvis Virtual
sistemas
Intelligent Hosting (86).
Administracin
de Digital Realty Trust (87), GoDaddy.com (88), Layered
Technology (89).
alojamiento
Rackspace (85), Savvis Virtual Intelligent Hosting (86),
Alojamiento
Terremark Worldwide (90), FlexiScalable (82), 1&1
autnomo
Internet (91).
VLAN (Virtual Local CohesiveFT (92).
Area Network)
Modelo PaaS: consiste en la provisin de plataformas de ejecucin como un
servicio. Estas permiten la ejecucin de aplicaciones creadas o adquiridas por el
usuario final con la restriccin de que su despliegue debe ajustarse a la
infraestructura cloud computing disponible en el proveedor (lenguajes de
programacin, middlewares, frameworks, herramientas soportadas, etc.). Al igual
que en el modelo IaaS se oculta al usuario final todos los detalles de la
infraestructura base cloud computing, pero este ocultamiento tambin incluye
sistemas operativos, servidores, redes de telecomunicaciones, dispositivos de
almacenamiento, entre otros. Sin embargo, se busca que el usuario tenga un alto
grado de control sobre su plataforma de desarrollo y aplicaciones desplegadas,
mediante un mecanismo estndar para su acceso y uso. La Tabla 4, resume
algunos ejemplos de proveedores o tecnologas PaaS.
22
EJEMPLO
de Amazon Simple Queue Service (Amazon SQS) (93),
Amazon Simple Storage Service (Amazon S3) (72),
Google App Engine (17), GRIDS Lab Aneka (46).
Amazon SimpleDB (73), Big Table (94), Microsoft SQL
Azure Database (95).
Amazon Simple Queue Service (Amazon SQS) (93).
de NetSuite Business Operating System (NS-BOS) (96).
como
Colaboracin
aplicaciones
oficina
y
de
Servicios de pago
Software basado en
Web integrable a otras
aplicaciones
EJEMPLO
Box.net (97), Microsoft Office Live (98), Facebook (99),
LinkedIn (100), Twitter (101), MySpace (102), Zillow
(103), Google Maps (104).
Cisco WebEx Weboffice (105), Google Docs (106),
Google Talk (107), IBM BlueHouse (18), Microsoft
Exchange Online (108), RightNow (109), Gmail (110),
Microsoft Hotmail (111), Yahoo! Mail (112).
Amazon Flexible Payments Service (Amazon FPS)
(113), Amazon DevPay (114).
Flickr Application Programming Interface (API) (79),
Google
Calendar
API
(115),
Saleforce.com
AppExchange (116), Yahoo! Maps API (117), Zembly
(118).
23
2.1.6. Virtualizacin
La virtualizacin es una tecnologa de apoyo utilizada en todos los modelos de
servicio en cloud computing para asignar recursos y proveer servicios en forma
eficiente, dinmica y elstica. La virtualizacin es una tecnologa basada en
software, capaz de ejecutar mltiples sistemas operativos y aplicaciones sobre
una arquitectura de hardware compartida (119). Estas ejecuciones se llevan a
cabo mediante instancias de archivos, formalmente denominados mquinas
virtuales. Una mquina virtual es el encapsulamiento de un sistema operativo y un
conjunto de aplicaciones en un archivo que es ejecutado por un hypervisor. Un
hypervisor es un software encargado de instanciar las mquinas virtuales sobre
una infraestructura de hardware que puede ser compartida con un sistema
operativo principal u otras mquinas virtuales (120).
Existen dos tipos de hypervisors (121). Los hypervisors tipo I son aquellos que se
instalan y ejecutan directamente sobre el hardware de la infraestructura
computacional base. Estos hypervisors abstraen la capa de hardware facilitando la
asignacin de cuotas de recursos computacionales para la ejecucin de mltiples
mquinas virtuales. Los hypervisors tipo II son aquellos que se instalan y ejecutan
sobre un sistema operativo principal que a su vez est instalado directamente
sobre el hardware de la infraestructura computacional base. Estos hypervisors
utilizan los servicios del sistema operativo para acceder al hardware disponible y
son capaces de ejecutar mltiples mquinas virtuales compartiendo los recursos
fsicos con el sistema operativo principal. La Figura 2 muestra el diagrama de
despliegue de los hypervisors tipo I y II.
Guest Operating
System 2 ...
Type II Hypervisor
Type I Hypervisor
CPU
MEMORY STORAGE
NETWORK
CPU
HARDWARE
MEMORY STORAGE
NETWORK
HARDWARE
Las principales ventajas de los hypervisors tipo I son las facilidades operativas y
administrativas sobre las mquinas virtuales bajo su cargo, incluyendo la
posibilidad de clonacin de mquinas virtuales y el cambio de configuraciones de
hardware (procesador, memoria, almacenamiento y red) en tiempo de ejecucin
(los cuales pueden o no reflejarse inmediatamente dependiendo del sistema
24
25
.
Figura 3. Modelos de despliegue cloud computing.
27
Desde el punto de vista del usuario final, algunas posibles desventajas de cloud
computing incluyen:
28
RD
Remote Management
Station
P
EC2
Windows Instances
EC2
Management
Instance
INTERNET
SS
H
EC2
Management
Instance
Remote Management
Station
EC2
Linux Instances
30
disponibilidad por regin del 99,95% para Amazon EC2 y 99,9% para Amazon S3
por ao de servicio, implicando que ante un fallo tan solo exista una devolucin de
un crdito de servicio equivalente al 10% o 25% de la cuenta vigente para un
periodo de crdito elegible. Los detalles de estos acuerdos de nivel de servicio se
encuentran disponibles en (131) y (132).
A pesar de que Amazon es el lder indiscutible en la provisin del modelo IaaS a
nivel mundial, su naturaleza comercial ha mantenido bajo estricta reserva los
detalles clave de su arquitectura y funcionamiento, incluyendo tecnologas de
apoyo e infraestructura base. Adicionalmente los costos asociados al uso de sus
servicios, han conllevado a que su modelo IaaS sea mayoritariamente empleado
como una plataforma de produccin para fines prevalentemente comerciales,
distando de una plataforma de experimentacin cloud computing factible de la
extensin y personalizacin que el desarrollo de la e-Ciencia generalmente exige.
2.2.2. Nimbus
Nimbus (133), es un conjunto de herramientas open source que proveen un
modelo IaaS. El proyecto inici en el ao 2007 en la Universidad de Chicago y
est en produccin desde marzo del ao 2008. Actualmente es un proyecto
incubadora del Globus Alliance (134), soportado por la National Science
Foundation - NSF y el Department of Energy - DOE de los Estados Unidos. El
objetivo principal de Nimbus es la provisin de infraestructuras computacionales
para el soporte de proyectos de la comunidad cientfica, con el fin de mejorar el
entendimiento de las potencialidades y desafos del paradigma cloud computing.
Nimbus provee el modelo IaaS mediante la asignacin y aprovechamiento de una
infraestructura computacional basada en clusters de servidores robustos, los
cuales son utilizados como proveedores dedicados de recursos computacionales
que un usuario final puede consumir remotamente y bajo demanda. Actualmente
Nimbus se encuentra desplegado en las universidades de Chicago y Florida,
soportndose en ms de 30 nodos, incluyendo servidores de almacenamiento
interconectados mediante canales de fibra ptica. Nimbus est basado en las
tecnologas de virtualizacin Xen y KVM (Kernel-based Virtual Machine) (135), las
cuales permiten la ejecucin de mltiples mquinas virtuales, facilitando la
asignacin y comparticin de los recursos computacionales disponibles en los
clusters de servidores fsicos. Estas mquinas virtuales estn basadas en
distribuciones Linux y arquitecturas de 32 y 64 bits incluyendo a Debian, Red Hat,
Fedora y Scientific Linux. Sistemas operativos a los cuales un usuario final accede
con privilegios de administrador mediante mecanismos de acceso estndar como
SSH y VNC (Virtual Network Computing).
32
Context Broker
Context
Client
Storage
Service
Workspace
Resource
Manager
Workspace
Service
Workspace
Pilot
IaaS
Gateway
Cloud
Client
Workspace
Control
Others
Providers
Workspace
Client
Command Line
Interface
Other Tools
Core
SQL Pool
BD
VM
Manager
BD
Host
Manager
VN
Manager
Drivers
Transfer Driver
Virtual Machine
Driver
Information
Driver
36
Cloud Controller
and
Walrus
Private
Network
Node
Controller
Cluster A
Node
Controller
Private
Network
Node
Controller
Cluster
Controller
Node
Controller
Cluster
Controller
Node
Controller
Node
Controller
Public
Network
Cluster B
VM
wa
re
vS
ph
ere
MANAGEMENT
Linked Clones
OS
VMware View
Manager
Thin Client
Parent Image
VMware View
Composer
Desktop
Laptop
VMware ThinApp
USER
EXPERIENCE
App
App
Future Applications
App
App
App
App
App
Application
Services
Availability
Security
vMotion
Storage vMotion
HA
Fault Tolerance
Data Recovery
vShield Zones
VMsafe
vCompute
Infrastructure
Services
ESX
ESXi
DRS
vStorage
VMFS
ThinProvisioning
Internal Cloud
Scalability
DRS
Hot Add
vNetwork
DistributedSwitch
External Cloud
41
Amazon EC2
Nimbus
OpenNebula
Eucalyptus
VMware View y
vSphere
Implementaciones
IaaS
Usabilidad
Alta
Alta
Media
Alta
Alta
Modelo de autoservicio
Alto
Alto
Alto
Alto
Alto
Alto
Alto
Alto
Alto
Alto
Personalizacin
de
servicios bajo demanda
Alta
Baja
Alta
Baja
Alta
Modelo multiusuario
Alta
Alta
Alta
Alta
Alta
Virtualizacin
Alta
Alta
Alta
Alta
Alta
Escalabilidad
Alta
Media
Alta
Media
Alta
Interoperabilidad y bajo
acoplamiento
Media
Alta
Alta
Alta
Media
Extensibilidad
Media
Alta
Alta
Alta
Media
Alta
Media
Media
Media
Alta
Medio
Bajo
Bajo
Bajo
Alto
Seguridad
Alta
Media
Media
Media
Alta
Modelo de trazabilidad
Alto
Bajo
Bajo
Bajo
Alto
Caractersticas
Cloud
Computing
Administracin
delegada
Acuerdos de nivel de
servicio y calidad de
servicio
45
3. COMPUTACIN OPORTUNISTA
El modelo IaaS constituye la base sobre la cual se estructuran los objetivos de
este trabajo de investigacin. As mismo, la propuesta e implementacin de este
modelo a partir de UnaCloud debe soportarse mayoritariamente en una
infraestructura oportunista de crecimiento horizontal, cuya composicin incluye
computadores de escritorio y servidores que son usados por los estudiantes y
profesores de la Universidad de los Andes para el ejercicio de sus labores
acadmicas e investigativas. Por estas razones, este captulo tiene como objetivo
revisar el estado del arte de la computacin oportunista con la finalidad de
identificar aspectos conceptuales, de diseo e implementacin tiles para el
desarrollo de UnaCloud.
Este captulo se organiza de la siguiente forma, en la primera seccin se revisan
aspectos conceptuales del paradigma de la computacin oportunista, en la
segunda seccin se revisan varias implementaciones relevantes para el desarrollo
y evolucin de la computacin oportunista. Finalmente en la tercera seccin se
identifican problemticas de investigacin y aspectos considerados de relevancia
en el contexto de la provisin de infraestructuras computacionales mediante
estrategias oportunistas.
3.1. ASPECTOS CONCEPTUALES
En esta seccin se revisan aspectos conceptuales de la computacin oportunista,
esto incluye una definicin general y su contexto de aplicacin.
3.1.1. Definicin
La computacin oportunista (27), tambin denominada computacin voluntaria
(volunteer computing) (151) o computacin de recursos pblicos (public-resource
computing) (152), puede definirse como una rama de la computacin distribuida en
la cual se maximiza la utilizacin eficiente de recursos computacionales que estn
parcialmente disponibles. Esto implica el aprovechamiento de recursos
computacionales sin necesidad de hacer uso exclusivo de los mismos,
asegurando que los usuarios de los recursos compartidos no perciban un deterioro
significativo en la calidad del servicio. Este tipo de estrategias estn orientadas a
proveer una infraestructura computacional a gran escala, principalmente para el
soporte al desarrollo de proyectos de e-Ciencia, sin incurrir en inversiones
financieras adicionales para la compra de hardware, reserva de espacio fsico,
mantenimiento de ambientes de temperatura controlada y costos asociados a
procesos de adquisicin, instalacin, configuracin, prueba, administracin y
mantenimiento de las tradicionales infraestructuras de crecimiento vertical (153).
46
su relevancia emergente, dada su contribucin significativa al desarrollo de la eCiencia (3), sino tambin por haber estudiado extensamente los estndares,
mecanismos, herramientas, tecnologas y metodologas para operar bajo
ambientes heterogneos, distribuidos, de dominio administrativo independiente,
con recursos de uso compartido entre varias organizaciones, usando arquitecturas
seguras, basadas en servicios desacoplados y de alta interoperabilidad (4), (155),
(156). Sin embargo, a pesar de la concordancia de los esfuerzos efectuados en la
computacin oportunista para el soporte de la cluster y grid computing; en el
momento de elaboracin de este estado del arte, no fue posible encontrar ningn
tipo de iniciativa referente al aprovechamiento del paradigma de la computacin
oportunista en relacin cloud computing, lo cual constituye una motivacin
investigativa fundamental para el desarrollo de UnaCloud.
3.2. IMPLEMENTACIONES DE LA COMPUTACIN OPORTUNISTA
En esta seccin se revisan algunas implementaciones (Desktop Grids and
Volunteer Computing Systems - DGVCS's) de la computacin oportunista. Estas
implementaciones fueron seleccionadas teniendo en cuenta su relevancia
histrica, el nivel de aceptacin y referencias por parte de la industria y la
comunidad acadmica y cientfica, as como por su aporte al estado del arte del
paradigma de la computacin oportunista.
3.2.1. Taxonoma
oportunista
de
las
implementaciones
de
la
computacin
49
3.2.2. UnaGrid
UnaGrid (165) es una infraestructura grid virtual oportunista, cuyo objetivo principal
es el aprovechamiento eficiente de recursos computacionales ociosos o
subutilizados mediante una estrategia oportunista que facilita la ejecucin de
aplicaciones grid computing con grandes demandas de procesamiento. El
proyecto inici en el segundo semestre del ao 2008 como una iniciativa del grupo
de Tecnologas de Informacin y Comunicaciones (COMIT) de la Universidad de
los Andes de Colombia.
UnaGrid implementa el concepto de cluster virtual personalizado (Customized
Virtual Cluster - CVC), el cual hace referencia a una infraestructura virtual
conformada por mltiples mquinas virtuales ejecutadas en computadores de
escritorio convencionales, mediante la tecnologa de virtualizacin VMware. Estas
mquinas virtuales conforman un grid de procesamiento que tiene las
instalaciones y pre configuraciones de almacenamiento, red, herramientas y
middlewares que requieren las aplicaciones grid para su adecuado despliegue.
Esto permite que UnaGrid despliegue los sistemas operativos soportados por la
tecnologa de virtualizacin VMware en arquitecturas de 32 y 64 bits. Estos
sistemas operativos pueden ser accedidos directamente por el usuario final a
travs de mecanismos estndar como escritorio remoto o SSH, usando una
cuenta con privilegios de administrador.
La estrategia oportunista inicial de UnaGrid se bas en la ejecucin de CVCs en
horarios nocturnos, cuando los laboratorios de informtica del Departamento de
Ingeniera de Sistemas y Computacin de la Universidad de los Andes, estn
cerrados al pblico y por lo tanto, pueden considerarse totalmente disponibles.
Debido a que la ejecucin de los CVCs ocurra en horarios bien conocidos, el
mecanismo de ejecucin de los CVCs se bas en tareas programadas del sistema
operativo Windows XP, las cuales se programaban y actualizaban en cada
computador de escritorio de los laboratorios. Estas tareas estaban encargadas de
ejecutar un archivo de procesamiento en lotes (.bat), cuyos comandos MS-DOS
invocaban directamente al ejecutor de mquinas virtuales VMware Workstation
para iniciar individualmente una de las mquinas virtuales, que en agregacin
conformaban un CVC. Aunque esta estrategia facilit el aprovechamiento
oportunista de recursos computacionales no dedicados, primordialmente para el
desarrollo de proyectos de e-Ciencia, las limitaciones impuestas por el horario
conllevaron al desarrollo de un mecanismo alterno.
Este mecanismo sustituy los archivos de procesamiento en lotes por archivos
visual basic scripts (.vbs), capaces de modificar la visibilidad y prioridad de los
procesos asociados a la ejecucin de una mquina virtual. De esta forma se logra
50
Computer laboratory 1
CVC C
Cluster/Grid User
Cluster/Grid User
CVC A
Slave
Slave
Slave
Master
Slave
Slave
Slave
CVC B
Slave
Slave
Certificate
Authority (CA)
Middleware
Grid
Slave
Slave
Slave
Master
Master
Slave
Slave
Slave
Slave
Slave
Computer laboratory 3
Cluster/Grid User
Cluster/Grid User
Slave
Master
Slave
CVC A
Slave
Slave
Slave
Slave
52
Control de impacto a
los usuarios de los
recursos compartidos
53
BAYANIHAN
OurGrid
InteGrade
UnaGrid
de
BOINC
de
Distributed.net
de
SETI@Home
Facilidad
instalacin
Herramientas
monitoreo
Herramientas
administracin
GIMPS
Portabilidad
Condor
Caractersticas
Cloud
Computing
Control de impacto
a los usuarios de los
recursos
compartidos
Aprovechamiento de
recursos dedicados
Ejecucin
permanente
Uso
de
agentes/clientes
ligeros
Worm
Implementaciones
Oportunistas
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
56
57
especiales
en
la dispositivos como routers, switches y firewalls.
infraestructura de red
Medios de instalacin Los instaladores de la implementacin no estn
disponibles para la experimentacin acadmica con el
restringidos
modelo IaaS
La implementacin no puede usarse en mltiples
Licenciamiento
propsitos experimentales debido a restricciones
comercial
asociadas a su licenciamiento.
La Tabla 10, muestra una evaluacin de las implementaciones del modelo IaaS
frente a los requerimientos asociados a una infraestructura base oportunista.
Tabla 10. Comparacin y evaluacin de las implementaciones del modelo
IaaS frente a los requerimientos asociados a la infraestructura oportunista
Amazon EC2
Vmware View y
vSphere
Requiere
de
distribuciones
especificas
Requiere
de
nodos
dedicados a la provisin
de
recursos
computacionales
Requiere de un servidor
de
administracin
dedicado
Requiere de soluciones
de
almacenamiento
especializadas
Requiere
de
configuraciones
especiales
en
la
infraestructura de red
Medios de instalacin
restringidos
Licenciamiento
comercial
Eucalyptus
OpenNebula
Requerimientos
pertinentes a una
infraestructura
base oportunista
Nimbus
Implementaciones
IaaS
No
No
No
No
No
No
No
No
No
No
No
No
No
No
59
61
GIMPS
Distributed.net
Condor
SETI@Home
BAYANIHAN
BOINC
OurGrid
InteGrade
UnaGrid
Media
Media
Baja
Media
Baja
Media
Media
Media
Baja
Modelo de autoservicio
Nulo
Nulo
Nulo
Nulo
Nulo
Nulo
Alto
Nulo
Nulo
Alto
Alto
Medio
Alto
Alto
Alto
Alto
Medio
Nulo
Nula
Nula
Nula
Nula
Nula
Nula
Nula
Nula
Media
Alto
Alto
Bajo
Alto
Bajo
Alto
Alto
Alto
Alto
Virtualizacin
Nula
Nula
Nula
Nula
Nula
Nula
Baja
Nula
Media
Escalabilidad
Alta
Alta
Media
Alta
Media
Alta
Alta
Alta
Baja
Medio
Medio
Alto
Medio
Bajo
Alto
Medio
Medio
Bajo
Baja
Media
Alta
Baja
Baja
Media
Media
Media
Media
Alta
Alta
Media
Alta
Media
Alta
Media
Media
Baja
Nulo
Nulo
Nulo
Nulo
Nulo
Nulo
Nulo
Nulo
Nulo
Media
Media
Media
Media
Baja
Media
Media
Media
Baja
Alto
Alto
Alto
Alto
Nulo
Alto
Medio
Medio
Nulo
Implementaciones
Oportunistas
Caractersticas
Cloud
Computing
Usabilidad
Personalizacin
de
servicios bajo demanda
Modelo multiusuario
Interoperabilidad y bajo
acoplamiento
Extensibilidad
Administracin
delegada
Acuerdos de nivel de
servicio y calidad de
servicio
Seguridad
Modelo de trazabilidad
62
66
68
5. ESTRATEGIA DE SOLUCIN
En los dos captulos previos se han identificado cinco principales problemticas de
investigacin parcialmente o aun no exploradas que validan la relevancia de este
trabajo de investigacin. Tambin se han identificado aspectos de diseo e
implementacin tiles para el desarrollo de UnaCloud. Los resultados ms
relevantes en el contexto cloud computing se resumen en: usabilidad, modelo de
autoservicio, personalizacin de servicios bajo demanda, administracin delegada,
modelo multiusuario, virtualizacin, escalabilidad, seguridad, interoperabilidad y
bajo acoplamiento, extensibilidad, acceso a travs de red y modelo de trazabilidad.
Mientras en el contexto de la computacin oportunista se resumen en: control de
impacto a los usuarios de los recursos compartidos, aprovechamiento de recursos
dedicados, ejecucin permanente, uso de agentes/clientes ligeros, portabilidad,
facilidad de instalacin, herramientas de monitoreo y herramientas de
administracin.
Adicionalmente se ha evidenciado que la principal contribucin de UnaCloud en el
contexto del proyecto Campus Grid Uniandes y su sub proyecto UnaGrid, debe
orientarse a la personalizacin de servicios en un modelo de despliegue y
asignacin de recursos bajo demanda, caracterstica no disponible en ninguna
implementacin de la computacin oportunista. Sin embargo, tambin existen
retos tendientes a mejorar UnaGrid en trminos de su usabilidad, escalabilidad,
seguridad, extensin en el aprovechamiento de tecnologas de virtualizacin,
extensibilidad, interoperabilidad y bajo acoplamiento, mecanismos de acceso a
travs de red, trazabilidad de uso de recursos y administracin delegada.
Teniendo en cuenta estos requerimientos, este captulo tiene como objetivo la
descripcin general de la estrategia de solucin implementada a travs de
UnaCloud. Este captulo se organiza de la siguiente forma, en la primera seccin
se describen las principales estrategias de diseo e implementacin de UnaCloud,
incluyendo su estrategia de virtualizacin y su estrategia oportunista, finalmente en
la segunda seccin se describe su alcance funcional y no funcional.
5.1. ESTRATEGIAS DE DISEO E IMPLEMENTACIN
Teniendo como base el trabajo desarrollado en UnaGrid, el presente trabajo de
investigacin se basa en dos estrategias de diseo e implementacin
fundamentales: una estrategia de virtualizacin y una estrategia oportunista. A
continuacin se describen estas estrategias.
69
70
CPU
Memory
Storage
Network
HARDWARE
Figura 11. Estrategia de virtualizacin de UnaCloud.
IaaS
Model
Type II Hypervisor
Virtualization Technology
Operating
System
Main Operating
System
CommodityHardware
Hardware
CPU
Memory
Storage
Network
73
74
75
76
6. UNACLOUD
En este captulo se presenta a UnaCloud, una implementacin a medida del
modelo IaaS de cloud computing, capaz de entregar servicios computacionales
fundamentales haciendo uso oportunista de los recursos de cmputo actualmente
disponibles en el Campus de la Universidad de los Andes. Este captulo se
organiza de la siguiente forma, en la primera seccin se describe una visin
general de la arquitectura de UnaCloud, en la segunda seccin se describe esta
arquitectura en mayor detalle, en la tercera seccin se describe el modelo de
procesos y finalmente en la cuarta seccin se describen los mecanismos de
comunicaciones de UnaCloud.
6.1. VISIN GENERAL DE LA ARQUITECTURA
La solucin propuesta en este trabajo de investigacin consiste en la integracin
de un sistema de informacin con una
infraestructura computacional de
naturaleza oportunista, esto es, el desarrollo de un portal Web capaz de articularse
con una infraestructura de informacin y comunicaciones para proveer servicios
computacionales fundamentales a travs de un modelo IaaS de cloud computing.
La visin general de la arquitectura se ilustra en la Figura 13.
IaaS Model
Type II Hypervisor
UnaCloud Clients
Operating System
Hardware
UnaCloud Server
IaaS
User
Grid
User
Administrator
IaaS-Grid User
Como se puede apreciar en la visin ilustrada en la Figura 13, existen cuatro tipos
de usuarios UnaCloud. Los usuarios IaaS son aquellos que demandan la
77
Physical Monitoring
Physical Administration
IaaS Traceability
IaaS Monitoring
IaaS Administration
IaaS Deployment
IaaS Customization
UNACLOUD SERVER
Interface Layer
Core Layer
External Layer
UNACLOUD CLIENT
External Layer
Core Layer
UnaCloud Server con todos los servicios que incorpora. Este diagrama se
corresponde con el componente UnaCloud Server ilustrado genricamente en la
Figura 14. A continuacin se detallan las funciones del UnaCloud Server en
trminos de las capas que lo componen.
Physical
Monitoring
Physical
Administration
IaaS Traceability
IaaS Monitoring
IaaS Administration
IaaS Deployment
IaaS Customization
UNACLOUD SERVER
Interface Layer
Web Interface
Core Layer
Customized
Env ironment
Manager
Virtual
Machine
Manager
Persistence
Manager
Physical
Infrastruture
Manager
External Layer
Communication Manager
<<uses>>
Security Manager
81
6.2.1.1.
Interface Layer
Esta capa se encarga de proveer la interface Web de entrada a los usuarios para
el uso de los servicios proporcionados por UnaCloud. A continuacin se hace una
descripcin del conjunto de servicios soportados por esta capa.
Web interface: esta interface Web provee un servicio de acceso a la gama de
servicios proporcionados por UnaCloud, tanto para usuarios finales como para
usuarios administradores. Esta interface est compuesta por un portal Web que
facilita el acceso y operacin intuitiva de los servicios proporcionados por
UnaCloud. La Tabla 12 resume la implementacin del componente.
Tabla 12. Implementacin del componente Web interface.
SERVICIO
Autenticacin
Autorizacin
Administracin de la
informacin
de
usuarios
Interface grfica de
personalizacin
del
modelo de servicio
IaaS
Interface grfica de
despliegue
del
modelo de servicio
IaaS
Interface grfica de
administracin
del
modelo de servicio
IaaS
IMPLEMENTACIN
Autenticacin para el uso de los servicios
proporcionados por UnaCloud. Esta autenticacin se
basa en un nombre de usuario y clave, validados por la
base de datos de UnaCloud (para usuarios ajenos a la
Universidad de los Andes) y/o el servicio LDAP de la
Universidad de los Andes.
Autorizacin para el uso de los servicios
proporcionados por UnaCloud.
Creacin, edicin y eliminacin de registros asociados
a los usuarios de UnaCloud. Esto incluye usuarios
finales: IaaS, Grid e IaaS-Grid y usuarios
administradores.
Interface grfica de alta usabilidad para la captura de
parmetros requeridos en la personalizacin del
modelo IaaS (interface del componente Customized
Environment Manager).
Interface grfica de alta usabilidad para la captura de
parmetros requeridos para el despliegue del modelo
IaaS
(interface
del
componente
Customized
Environment Manager).
Interface grfica de alta usabilidad para la captura de
parmetros requeridos para la operacin y
administracin del modelo IaaS (interface del
componente Virtual Machine Manager).
82
Core Layer
Implementacin
SERVICIO
Configuracin
hardware
Configuracin
software
del
componente
Customized Environment
IMPLEMENTACIN
Verificacin de la disponibilidad y asignacin de
imgenes de mquinas virtuales con los parmetros de
de hardware requeridos para el despliegue del modelo
IaaS. Esto incluye el tamao del disco duro, nmero de
ncleos de procesamiento y el tamao de la memoria
RAM.
Verificacin de la disponibilidad y asignacin de
de imgenes de mquinas virtuales con los parmetros de
software requeridos para el despliegue del modelo
IaaS. Esto incluye el sistema operativo y el conjunto de
aplicaciones instaladas sobre el mismo.
83
Nmero de instancias
Localizacin
Tiempo de ejecucin
IMPLEMENTACIN
Ejecucin de imgenes de mquinas virtuales usadas
para la creacin del modelo IaaS.
Apagado de instancias de mquinas virtuales usadas
en el despliegue del modelo IaaS.
Reinicio de instancias de mquinas virtuales usadas en
el despliegue del modelo IaaS.
Monitoreo de instancias de mquinas virtuales usadas
Monitoreo
de para la creacin del modelo IaaS. Esto nicamente
incluye su estado (en ejecucin, finalizada) y
mquinas virtuales
configuraciones personalizadas (hardware, software,
localizacin y tiempo de ejecucin).
Creacin, edicin y eliminacin de registros asociados
a una mquina virtual (nombre, laboratorio,
direccionamiento IP, direccionamiento MAC, nmero de
ncleos del procesador, tamao del disco duro, tamao
Administracin de la de la memoria RAM, hypervisor, directorio, imagen y
esquema de seguridad), sistema operativo (nombre,
informacin
de
versin y tipo), hypervisor (nombre y versin),
mquinas virtuales
aplicaciones (nombre y versin), esquema de
seguridad para el acceso remoto a las mquinas
virtuales (nombre y clave del usuario administrador,
mecanismo de acceso remoto y puerto) e imagen
(nombre, tipo y aplicaciones).
Persistence Manager: este componente de encarga de la presentacin y
administracin de la informacin histrica de ejecuciones de las mquinas
84
resume la
Trazabilidad
modelo IaaS
IMPLEMENTACIN
Auditora del uso del modelo IaaS incluyendo datos
sobre la infraestructura fsica de soporte (nombre de la
mquina fsica que alberg una ejecucin y nombre del
laboratorio al que pertenece), datos del modelo IaaS
(imagen desplegada, tipo de imagen, sistema
operativo, versin del sistema operativo, tiempo de
del ejecucin, tamao de disco, tamao de memoria,
nmero de ncleos de procesador asignados,
direccionamiento IP, direccionamiento MAC y
finalmente datos del esquema de seguridad elegido
para el acceso remoto a la infraestructura. Esta
auditora se consulta a travs de reportes que facilitan
llevar una trazabilidad de uso discriminada a nivel de
usuario y ejecucin de una mquina virtual.
y
de
IMPLEMENTACIN
Apagado de las mquinas fsicas usadas como parte
de la infraestructura base del modelo IaaS (cuyo
dominio administrativo lo permita).
Reinicio de las mquinas fsicas usadas como parte de
la infraestructura base del modelo IaaS (cuyo dominio
administrativo lo permita).
Bloqueo y desbloqueo lgico de mquinas fsicas para
evitar o permitir su uso como parte de la infraestructura
base del modelo IaaS.
85
Monitoreo
mquinas fsicas
de
Administracin de la
informacin
de
la
infraestructura fsica
Administracin
del
estado
de
la
infraestructura fsica
6.2.1.3.
External Layer
IMPLEMENTACIN
los Conexin con no repudio con los clientes.
de Cifrado de las comunicaciones con los clientes.
de Descifrado de las comunicaciones con los clientes.
External Layer
87
Physical Monitoring
IaaS Monitoring
IaaS Administration
Physical Administration
IaaS Deployment
IaaS Customization
UNACLOUD CLIENT
External Layer
Security Manager
<<uses>>
Communication Manager
Core Layer
Context
Manager
Local Executor
Manager
Hyperv isor
Manager
Monitoring
Manager
Hypervisor Services
IMPLEMENTACIN
Conexin con el servidor.
Desconexin con el servidor.
Paso de mensajes desde y hacia el servidor.
IMPLEMENTACIN
los Conexin con no repudio con el servidor.
de Cifrado de las comunicaciones con el servidor.
de Descifrado de las comunicaciones con el servidor.
Core Layer
IMPLEMENTACIN
Configuracin del nmero de ncleos de una mquina
virtual a instanciarse.
Configuracin del tamao de la memoria RAM de una
mquina virtual a instanciarse.
89
Configuracin
del Configuracin y cumplimiento del tiempo de ejecucin
tiempo de ejecucin
de una mquina virtual.
Hypervisor Manager: este componente se encarga de ejecutar los requerimientos
del servidor en independencia del hypervisor tipo II instalado de la mquina fsica
en uso. La Tabla 22 resume la implementacin del componente.
Tabla 22. Implementacin del componente Hypervisor Manager.
SERVICIO
IMPLEMENTACIN
Ejecucin de comandos mediante llamados a los
servicios del hypervisor local. Estas ejecuciones estn
restringidas a las operaciones necesarias para soportar
Operaciones sobre el
las funciones requeridas por el componente Hypervisor
hypervisor
Manager de UnaCloud Server. Esto incluye
operaciones encendido, apagado, reinicio y monitoreo
del estado de mquinas virtuales
Local Executor Manager: este componente se encarga de ejecutar los
requerimientos del servidor en independencia del sistema operativo de la mquina
fsica en uso. La Tabla 23 resume la implementacin del componente.
Tabla 23. Implementacin del componente Local Executor Manager.
Ejecucin de comandos mediante llamados a los
servicios del sistema operativo local. Estas ejecuciones
estn restringidas a las operaciones necesarias para
Operaciones sobre el
soportar las funciones de los componentes: Physical
sistema operativo
Infrastructure Manager, Virtual Machine Manager y
Customized Environment Manager de UnaCloud
Server.
Monitoring Manager: este componente se encarga de recolectar las variables de
estado del procesador, memoria, disco duro, red y sistema operativo de la
mquina fsica donde reside un UnaCloud Client. Esta informacin es recolectada
y devuelta al UnaCloud Server bajo demanda, de tal modo que siempre refleja el
estado actual de la mquina fsica. La Tabla 24 resume la implementacin del
componente.
90
6.2.2.3.
IMPLEMENTACIN
Recoleccin y envo de la informacin de monitoreo de
las las mquinas fsica en donde reside el cliente. Esto
incluye variables de estado actual del procesador,
memoria, disco duro, red y sistema operativo.
Diagrama de clases de UnaCloud Client
IaaS Customization
Authentication
Process
Full
Customization
Yes
No
Customize
Operating System
Type
Customize
Operating System
Version
Customize RAM
Memory Size
Customize CPU
Cores
Customize
Deployable Image
Customize Hard
Disk Size
Cloud
Grid
Customize
Execution
Instances Number
Customize
Instances Number
and Localization
Customize
Execution Time
No adaptation
path
Deploy IaaS
UnaCloud Server
UnaCloud Client
IaaS Deployment
IaaS Customization
Full
Customization
Yes
No
Virtual Machine
CPU Cores Context
Adaptation
Virtual Machine
RAM Memory Size
Context Adaptation
Virtual Machine
Execution Time
Scheduling
Operating System
Serv ices
Inv ocation
Yes
Send Confirmation
to UnaCloud Serv er
No
Show Remote
Connection Data
Show Error
Message
No adaptation
path
UnaCloud Server
IaaS Administration
UnaCloud Client
de
de
de
de
IaaS Administration
IaaS Deployment
Operation Type
Monitor
Turn Off
Restart
Execution
Time
Monitor IaaS
Request Monitor
Variables to
UnaCloud Client
Display the
Monitoring Report
Send Virtual
Machine Turn Off
Order to UnaCloud
Client
Operating System
Serv ices
Inv ocation
Hyperv isor
Serv ices
Inv ocation
Restart Virtual
Machine
Send Virtual
Machine Restart
Order to UnaCloud
Client
Change Virtual
Machine Execution
Time
Send Virtual
Machine Execution
Time Order to
UnaCloud Client
Physical Administration
Operation Type
Monitor
Turn Off
Restart
Logout
Monitor Physical
Machine
Request Monitor
Variables to
UnaCloud Client
Send Physical
Machine Turn Off
order to UnaCloud
Client
Restart Physical
Machine
Send Physical
Machine Restart
order to UnaCloud
Client
Logout Physical
Machine
Send Physical
Machine Logout
order to UnaCloud
Client
Display the
Monitoring Report
Operating System
Serv ices
Inv ocation
UnaCloud Server
UnaCloud Client
servicios Web y RMI. Esto se debe a que los sockets operan sobre la capa de
transporte (cuarta capa) del modelo OSI, mientras los servicios Web operan sobre
capa de aplicaciones (sptima capa), haciendo uso de servidores Web que
reservan ms recursos de procesamiento, memoria y red para su correcta
operacin. Aunque RMI hace un uso ms eficiente de los recursos de
procesamiento y memoria, el uso de encabezados y datos de control conlleva a
mayor saturacin de los recursos de red.
6.4.1. Mecanismos de seguridad en las comunicaciones
En forma adicional a la implementacin de los mecanismos de comunicaciones, se
hace necesaria la inclusin de mecanismos de seguridad que protejan y
mantengan la confiabilidad en el paso de mensajes, esto es, un mecanismo de
comunicaciones eficiente, rpido y seguro. Los mecanismos de seguridad se
dividen en los dos tipos de comunicaciones posibles dentro del sistema:
Comunicaciones entre UnaCloud Server y UnaCloud Client: UnaCloud Server
posee una llave asimtrica pblica y una llave asimtrica privada basada en el
algoritmo RSA. Estas llaves tienen un tamao de 2048 bits, tamao considerado
confiable hasta el 2030 segn el estudio publicado en (172). Cada UnaCloud
Client posee la llave pblica de UnaCloud Server.
Public Key
Private Key
Public Key
UnaCloud
Server
UnaCloud
Client
3
True
False
3a
3b
Como se puede apreciar en la Figura 10, cada mensaje enviado por UnaCloud
Server es cifrado con su llave privada. Al recibir el mensaje, UnaCloud Client
97
Public Key
Public Key
UnaCloud
Server
Private Key
UnaCloud
Client
True
False
3a
3b
Web previos. Si los datos coinciden, UnaCloud Server almacena el nmero serial
enviado por UnaCloud Client, utilizndolo como su identificador nico.
Para todos los procesos de comunicacin subsecuentes, UnaCloud Client enviar
un mensaje cifrado con la llave pblica de UnaCloud Server y el nmero serial de
su tarjeta madre (calculado en el instante). Esto garantizar confidencialidad en el
paso de mensajes y no repudio, ya que ningn recurso fsico que intente suplantar
a un UnaCloud Client (a travs de la clonacin del agente y de las configuraciones
particulares de software y hardware) podr falsificar el nmero serial de la tarjeta
madre, ms aun el orden de combinacin de envo de parmetros que UnaCloud
Server utilizar en el descifrado del mensaje para corroborar su validez.
Utilizando estos protocolos de seguridad se eliminan las vulnerabilidades
asociadas a la apertura de los sockets TCP tanto en UnaCloud Client como en
UnaCloud Server, sin impactar contundentemente el desempeo general del
sistema (tiempo para el paso de mensajes y tiempo para la administracin de las
mquinas virtuales). Al igual que en la mayora de implementaciones oportunistas
estudiadas en Anexo A, los mecanismos de seguridad seleccionados, no utilizan
mecanismos de autenticacin basados en certificados digitales en los dos puntos
de comunicaciones. Esto se debe a que la provisin de una llave privada para un
UnaCloud Client no puede efectuarse a travs de la red (una llave privada no debe
exponerse a intercepcin), motivo por el cual cada instalador de UnaCloud Client
al incorporar una llave privada, sera distinto y nico, disminuyendo las ventajas de
facilidad de instalacin y portabilidad que otorga un modelo de instalacin basado
en agentes ligeros, escalable a Internet. Es importante destacar que estos
mecanismos de seguridad retoman y adaptan las ideas estudiadas en
implementaciones oportunistas escalables a Internet.
99
100
CVCs Deployment
Select CVC
Operating System
Serv ices
Inv ocation
Customize
Localization and
Instances Number
Customize CVC
Execution Time
Deploy CVC
GUMA
PsExec
Por ese motivo, aunque GUMA otorg una mayor usabilidad a UnaGrid, no
incorpor mecanismos para la personalizacin bajo demanda de las mquinas
virtuales a ejecutarse, esto es, personalizacin de parmetros tales como: sistema
operativo, aplicaciones, tamaos del disco duro y memoria RAM, nmero de
ncleos de procesamiento, etc. Por este motivo GUMA fue catalogada como una
solucin grid computing, cuyas funcionalidades apoyaron la consecucin de los
resultados de investigacin publicados en (165), (174) y (175).
La segunda fase del prototipo desarrollado en este trabajo de investigacin abarc
todas las problemticas previamente identificadas en UnaGrid y los requerimientos
funcionales y no funcionales planteados para este trabajo de investigacin
(referirse al numeral 5.2). Aunque UnaCloud retoma algunas ideas de diseo e
implementacin de GUMA4, su diseo e implementacin fueron cambiados e
implementados en otras tecnologas con el propsito de satisfacer requerimientos
funcionales y no funcionales asociados a la experimentacin cloud computing.
Estos cambios conllevaron a que la propuesta de este trabajo de investigacin
fuera implementada en su totalidad a travs de UnaCloud. La Tabla 25 muestra
una comparacin entre GUMA y UnaCloud. Esta comparacin adopta como
101
GUMA
Usabilidad
Modelo de autoservicio
Acceso a travs de red
Personalizacin de servicios bajo demanda
Modelo multiusuario
Virtualizacin
Escalabilidad
Interoperabilidad y bajo acoplamiento
Extensibilidad
Administracin delegada
Acuerdos de nivel de servicio y calidad de servicio
Seguridad
Modelo de trazabilidad
UnaCloud
X
X
X
X
X
X
102
104
servicios
usuarios
para la
figura se
facilita la
registros
El proceso de personalizacin del modelo IaaS inicia con la seleccin del tipo de
sistema operativo. Actualmente UnaCloud es compatible con todos los sistemas
operativos soportados por los hypervisors que administra (VMware Workstation
versiones 6.5 y 7), de tal forma que UnaCloud est en capacidad de desplegar
ms de 200 sistemas operativos en arquitecturas de 32 y 64 bits. Posteriormente
el proceso de personalizacin del modelo IaaS permite la seleccin de la versin
especfica del sistema operativo. Al igual que todas las configuraciones
posteriores, esta personalizacin es dependiente de la seleccin previa que haya
efectuado el usuario. Con el fin de ofrecer una gua de configuracin a lo largo del
proceso, UnaCloud muestra todas las configuraciones efectuadas previamente, en
el pie de pgina de la interface Web.
105
106
Por otra parte, La operacin de cambio del tiempo de ejecucin despliega el men
ilustrado en la Figura 37, el cual incluye informacin del tiempo de ejecucin de la
110
111
.
7.3.8. Procedimiento de administracin de las mquinas fsicas
La administracin de las mquinas fsicas que conforman los laboratorios usados
para el soporte de UnaCloud, es un procedimiento efectuado por los usuarios
administradores. Como se ilustra Figura 40, UnaCloud provee un servicio que
facilita la creacin, edicin, bsqueda (por nombre o tipo) y eliminacin de los
registros asociados a las mquinas fsicas que conforman la infraestructura de
soporte.
112
113
7.3.10.
Procedimientos adicionales
Procesador
Data Center
Administrators
IaaS users
UnaCloud
Server
Grid
Masters
GigE
Grid users
Alan Turing
Waira I
Waira II
IaaS
virtual
machines
CVC
Slaves
Las pruebas descritas en el numeral 7.4.2 fueron realizadas con la colaboracin del ingeniero
Mario Jos Villamizar Cano, integrante del equipo de trabajo de UnaGrid y han sido referenciadas
en los artculos de investigacin (165) y (174).
117
Prueba
Escenario
Sin mquina virtual
Una mquina virtual con
un ncleo asignado
Una mquina virtual con
dos ncleos asignados
81,01
108,05
134,99
54,16
81,42
108,39
135,58
54,21
81,46
108,58
135,60
Prueba
Escenario
Sin mquina virtual
Una mquina virtual con
un ncleo asignado
Una mquina virtual con
dos ncleos asignados
262,43
526,63
1060,75
106,02
263,03
527,06
1063,07
120,0
100,0
80,0
60,0
40,0
20,0
0,0
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Virtual Machine Process
User Process
Figura 45. Uso simultneo del procesador por parte del usuario y la mquina virtual.
IMPLEMENTACIN EN UNACLOUD
Aprovechamiento de
recursos dedicados
Ejecucin permanente
Uso de agentes/clientes
ligeros
Portabilidad
Facilidad de instalacin
Herramientas de
monitoreo
Herramientas de
administracin
Compatibilidad
con
infraestructuras
computacionales dedicadas. Facilidad para la
agregacin de recursos computacionales
dedicados a travs de la instalacin de un
agente liviano.
Ejecucin paralela y no intrusiva a los procesos
del usuario del recurso compartido mediante el
uso de las estrategias de virtualizacin y
oportunista.
Desarrollo de un agente liviano capaz de
invocar al sistema operativo local y al hypervisor
tipo II para el despliegue de un modelo IaaS.
Desarrollo de un agente liviano desarrollado en
el lenguaje de programacin Java para
maximizar el grado de independencia con
respecto a la plataforma de ejecucin.
Compatibilidad con los sistemas operativos
Windows, Linux y Mac.
Desarrollo de un agente cuyo proceso de
instalacin se reduce a la copia de un archivo
empaquetado .jar y la configuracin de su
ejecucin al inicio del sistema operativo.
Desarrollo de un agente capaz de monitorizar el
estado actual del procesador, memoria, disco
duro, red y sistema operativo.
Provisin de mecanismos para facilitar la
administracin de la infraestructura fsica,
incluyendo operaciones de apagado, reinicio,
cierre de sesin, bloqueo, desbloqueo y
monitoreo.
120
VALIDACIN
Prueba
Operacin
Mquinas Virtuales
Encendido
Apagado
Reinicio
Monitoreo
Mquinas Fsicas
Apagado
Reinicio
Cierre de sesin
Monitoreo
Sin mecanismos de
seguridad
Con mecanismos de
seguridad
0,16
0,15
0,14
0,17
0,21
0,2
0,19
0,23
0,16
0,14
0,15
1
0,21
0,2
0,21
2
122
CONTRIBUCIN DE UNACLOUD
Interface de usuario de alta usabilidad
basada en un portal Web de acceso
universitario.
Portal Web accesible desde Intranet e
Internet, no dependiente de sistemas
operativos, frameworks, middlewares o
planificadores disponibles en los CVCs.
123
VALIDACIN
Personalizacin de
servicios bajo demanda
Escalabilidad
Interoperabilidad y bajo
acoplamiento
Extensibilidad
Administracin delegada
Extensin en el
aprovechamiento de
tecnologas de
virtualizacin
Seguridad
Modelo de trazabilidad
configur escritorio remoto en todas las mquinas virtuales de tal forma que su
uso estuviese restringido al usuario administrador.
Tabla 33. Caractersticas de las mquinas virtuales de prueba
CARACTERSTICAS DE LA MQUINA VIRTUAL DE DESARROLLO DE
SOFTWARE
Procesador
1 CPU core
Disco duro
20GB - VMware Virtual disk SCSI Device
Memoria RAM
1,5 GB
VMXNET3 Ethernet Adapter Gigabit Network
Tarjeta de red
Connection
Microsoft Windows XP Professional Service Pack
Sistema Operativo
3 - 32 bits
Java SE JDK 1.6, Eclipse Galileo, Netbeans IDE
Aplicaciones
6, Enterprise Architect 7.5, 7-zip 4.65, Adobe
Reader 9, Mozilla Firefox 3.5 y VMware Tools 6.
CARACTERSTICAS DE LA MQUINA VIRTUAL DE MINERA Y
BODEGAS DE DATOS
Procesador
2 CPU cores
Disco duro
20GB - VMware Virtual disk SCSI Device
Memoria RAM
2 GB
VMXNET3 Ethernet Adapter Gigabit Network
Tarjeta de red
Connection
Microsoft Windows XP Professional Service Pack
Sistema Operativo
3 - 32 bits
IBM DB2 9.5, Intelligent Miner 8.1, Internet
Aplicaciones
Information Services 6.5 y VMware Tools 6.
125
Personalizacin de
servicios bajo demanda
Modelo multiusuario
Virtualizacin
Escalabilidad
Interoperabilidad y bajo
acoplamiento
Extensibilidad
Administracin delegada
IMPLEMENTACIN EN UNACLOUD
Interfaces Web de alta usabilidad y
operacin casi intuitiva.
Interfaces Web que exponen servicios
consumibles sin la necesidad de procesos de
negociacin.
Interfaces Web accesibles desde Intranet e
Internet. Provisin al usuario de datos para el
acceso
al
modelo
IaaS
mediante
mecanismos de acceso remoto estndares y
seguros.
Servicios de personalizacin del modelo IaaS
incluyendo configuraciones de sistema
operativo,
conjunto
de
aplicaciones,
hardware, nmero de instancias y tiempo de
ejecucin.
Agente ligero capaz de ejecutar mquinas
virtuales como procesos paralelos, no
intrusivos a los procesos ejecutados en el
ambiente del usuario del recurso compartido.
Despliegue bajo demanda de infraestructuras
virtuales, asignadas en forma eficiente y
dinmica.
Modelo de crecimiento y abastecimiento
horizontal, escalable en el modelo de
despliegue de cloud privado. Mecanismos de
comunicaciones escalables, eficientes y
seguros, capaces de articular ejecuciones
remotas y seguras en independencia de los
dominios administrativos involucrados.
Mecanismos capaces de operar en
ambientes distribuidos, voltiles y de alta
heterogeneidad. Uso de tecnologas abiertas,
de alta interoperabilidad y bajo acoplamiento,
sin limitaciones para la experimentacin
cloud computing.
Desarrollo basado en el lenguaje de
programacin Java (SE y EE). Desarrollo y
documentacin del cdigo en idioma ingls.
Ocultamiento de la infraestructura base a
usuarios finales y provisin de servicios para
facilitar
la
administracin,
incluyendo
servicios
de
monitorizacin
de
la
infraestructura fsica.
126
VALIDACIN
Acuerdos de nivel de
servicio y calidad de
servicio
Seguridad
Modelo de trazabilidad
127
UnaCloud est limitado por las funcionalidades provistas por los hypervisors
tipo II instalables en las arquitecturas x86 de la infraestructura de soporte. Por
lo tanto, es deseable investigacin exhaustiva para evaluar la posibilidad de
emular funcionalidades deseadas de los hypervisor tipo I. Quiz la funcin ms
relevante en el contexto cloud computing sea la elasticidad para aumentar o
disminuir recursos computacionales en tiempo real y conforme a la demanda.
130
131
9. BIBLIOGRAFA
1. Foster, Ian y Kesselman, Carl. The Grid: Blueprint for a New Computing Infrastructure.
s.l. : Morgan-Kaufman, 1999, 2.
2. Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering
computing as the 5th utility. Buyya, Rajkumar, y otros. 2009, Future Gener. Comput. Syst.
http://dx.doi.org/10.1016/j.future.2008.12.001.
3. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as
Computing Utilities. Buyya, Rajkumar, Chee Shin, Yeo y Venugopal, Srikumar. Melbourne,
Australia : s.n., 2009. 2009 9th IEEE/ACM International Symposium on Cluster Computing and
the Grid, CCGRID 2009.
4. Foster, I. y Kesselman, C. The Grid: blueprint for a new computing infrastructure. s.l. :
Morgan Kaufmann, 1998.
5. Guest Editor's Introduction: Cloud Computing for the Sciences. Sullivan, Francis. [ed.]
IEEE Computer Society. 4, 2009, Computing in Science and Engineering, Vol. 11, pgs. 10-11.
http://www.computer.org/portal/web/csdl/doi/10.1109/MCSE.2009.121.
6. Lasica, Joseph Daniel. Identity in the Age of Cloud Computing: The next-generation
Internets impact on business, governance and social interaction. [En lnea] septiembre de
2009.
http://www.aspeninstitute.org/sites/default/files/content/docs/pubs/Identity_in_the_Age_of_Clou
d_Computing.pdf.
7. da Palma Rosa, Pedro. Cloud Computing Basics. [En lnea] Dell, Inc.
http://content.dell.com/in/en/business/d/sb360/cloud-computing-basics.aspx.
8. Cloud Computing Issues, Research and Implementations. Vouk, Mladen A. Cavtat,
Croatia : s.n., 2008. Proceedings of the ITI 2008 30th Int. Conf. on Information Technology
Interfaces.
9. Gartner, Inc. Gartners Hype Cycle 2008 Technical Report. [En lnea] julio de 2008.
http://www.gartner.com/it/page.jsp?id=739613.
10. Cloudbus Toolkit for Market-Oriented Cloud Computing. Buyya, Rajkumar, Pandey, Suraj
y Vecchiola, Christian. Springer, Germany : s.n., 2009. Proceeding of the 1st International
Conference on Cloud Computing.
11.
Google
Trends
Labs.
Cloud
Computing.
[En
lnea]
2009.
http://www.google.com/trends?q=cloud+computing&ctab=0.
12. Morgan Stanley. Technology Trends. [En lnea] 12 de junio de 2008.
http://www.morganstanley.com/institutional/techresearch/pdfs/TechTrends062008.pdf.
13. Pew Research Center. The Pew Internet & American Life Project. [En lnea] 2008.
http://www.pewinternet.org/~/media/Files/Reports/2008/PIP_Cloud.Memo.pdf.pdf.
14. Gartner, Inc. Gartner Highlights Key Predictions for IT Organisations and Users in 2008
and Beyond. enero 31 de 2008. Comunicado de Prensa de Gartner.
15. Hamilton, D. 'Cloud computing' seen as next wave for technology investors. [En lnea] 4 de
junio de 2008. http://www.financialpost.com/money/story.html?id=562877.
16. IDC exchange. IT Cloud Services Forecast 2008, 2012: A Key Driver of New Growth.
[En lnea] 8 de octubre de 2008. http://blogs.idc.com/ie/?p=224.
17. Google. Google App Engine. [En lnea] http://code.google.com/.
18. IBM, Corp. LotusLive. [En lnea] https://www.lotuslive.com/es/.
19.
Microsoft
Corporation.
Windows
Azure
platform.
[En
lnea]
http://www.microsoft.com/windowsazure/.
20. SUN Microsystems, Inc. Sun Cloud Computing. [En lnea] http://www.network.com.
21. Amazon Web Services, LLC. Amazon Elastic Compute Cloud (Amazon EC2). [En lnea]
http://aws.amazon.com/ec2/.
22. Salesforce.com Foundation. About Us. [En lnea] Salesforce.com, Inc.
http://www.salesforcefoundation.org/aboutus/bod.html.
132
23. The Eucalyptus Open-source Cloud-computing System. Nurmi, Daniel, y otros. Santa
Barbara, California 93106 : s.n., 22 de abril de 2009.
24. Alliance, The Globus. Nimbus. [En lnea] http://workspace.globus.org/.
25. Grupo de Arquitectura Distribuida. OpenNebula.org. [En lnea] Universidad
Complutense de Madrid. http://www.opennebula.org/.
26. European Union FP7 projects &. Reservoir. [En lnea] http://www.reservoir-fp7.eu/.
27. Berman, Fran, Fox, Geoffrey y Hey, Anthony. Grid Computing: Making the Global
Infrastructure a Reality. s.l. : Wiley, Mayo de 2003. pg. 304. 978-0-470-85319-1.
28. Campus-grid UniAndes. Harold, Castro y Danilo, Prez. Bogot D.C. : s.n., 2007.
Conferencia Latinoamericana de Computacin de Alto Rendimiento Ponencia.
29. UnaGrid - On Demand Opportunistic Desktop Grid. Castro, H., Rosales, E., Villamizar, M.
and Miller, A. Melbourne : s.n., 2010. 4th Workshop on Desktop Grid and Volunteer
Computing Systems (PCGRID 2010).
30. VMware, Inc. [En lnea] http://www.vmware.com/.
31. Cloud Computing. Dikaiakos, Marios D., y otros. 5, s.l. : IEEE Computer Society,
septiembre - octubre de 2009, IEEE Internet Computing, Vol. 13, pgs. 10-13.
32. Kleinrock, Leonard. UCLA to be the First Station in Nationwide Computer Network. [En
lnea]
Universidad
de
California,
3
de
julio
de
1969.
http://www.lk.cs.ucla.edu/LK/Bib/REPORT/press.html.
33. Pfister, G. F. Cluster Computing. [ed.] E. D. Reilly, and D. Hemmendinger, A. Ralston. s.l. :
Eds. 4th ed. John Wiley and Sons Ltd.,Chichester. Encyclopedia of Computer Science.
34. Xtremweb: A generic global computing system. Fedak, G., y otros. 2001. In Proceedings
of the 1st IEEE International Symposium on Cluster Computing and the Grid. pgs. 582587.
35. Toward internet distributed computing. Milenkovic, M., y otros. s.l. : IEEE Computer,
2003. Vol. 36, pgs. 36-46.
36. A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures
and Applications. Schollmeie, Rdiger. s.l. : IEEE , 2002. Proceedings of the First
International Conference on Peer-to-Peer Computing.
37. Some computer science problems in ubiquitous computing. Weiser, M. [ed.] Commun
ACM. 1993. 10.1145/159544.159617.
38. Parkhill, D F. The Challenge of the Computer Utility. s.l. : Addison-Wesley Publishing
Company, 1996. B000O121OS.
39. Cloud computing is changing how we communicate. Maggiani, Rich. Waikiki, HI, USA :
s.n., 2009. IEEE International Professional Communication Conference. pgs. 1-4. 978-14244-4357-4.
40.
Salesforce.com,
Inc.
Milestones.
[En
lnea]
http://www.salesforce.com/company/milestones/.
41. Virtual Infrastructure Management in Private and Hybrid Clouds. Sotomayor, B., y otros.
5, septiembre - octubre de 2009, Internet Computing, IEEE, Vol. 13, pgs. 14-22.
42. Mell, Peter y Grance, Tim. NIST Definition of Cloud Computing. [En lnea] 15, 7 de
Octubre de 2009. http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc.
43.
Open
Cloud
Manifesto.
[En
lnea]
Spring,
2009.
http://www.opencloudmanifesto.org/Open%20Cloud%20Manifesto.pdf.
44. Wang, Lizhe y Von Laszewski, Gregor. Cloud Computing: a Perspective Study. [En
lnea]
Diciembre
de
2008.
https://ritdml.rit.edu/dspace/bitstream/1850/7821/1/LWangConfProc11-16-2008.pdf.
45. Kim, Won. Jounal of Object Technology. [En lnea] enero - febrero de 2009.
http://www.jot.fm/issues/issue_2009_01/column4.pdf.
http://www.jot.fm/issues/issue_2009_01/column4.pdf.
46. Vecchiol, Christian, Chu, Xingchen y Buyya, Rajkumar. Aneka: A Software Platform for
.NET-based
Cloud
Computing.
[En
lnea]
julio
de
2009.
http://arxiv.org/ftp/arxiv/papers/0907/0907.4622.pdf.
133
47. Cost-Benefit Analysis of Cloud Computing versus Desktop Grids. Kondo, Derrick, y otros.
s.l. : IEEE Computer Society, 2009. Proceedings of the 2009 IEEE International Symposium on
Parallel&Distributed Processing . pgs. 1-12. 978-1-4244-3751-1.
48. Weiss, Aaron. Computing in the clouds. [En lnea] diciembre de 2007.
http://portal.acm.org/citation.cfm?id=1327512.1327513#.
49. Hwang, Kai. Massively Distributed Systems: From grids and p2p to clouds. [En lnea]
2008. http://www.springerlink.com/content/b20700v83492544u.
50. Ohlman, B., Eriksson, A. y Rembarz, R. What Networking of Information Can Do for
Cloud
Computing.
[En
lnea]
1
de
julio
de
2009.
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5159218&isnumber=5159183.
51. Mcfedries, Paul. The Cloud is the Computer. [En lnea] agosto de 2008.
http://www.spectrum.ieee.org/aug08/6490.
52. Vaquero, Luis, y otros. A Break In The Clouds: Towards A Cloud Definition. [En lnea]
2008. http://portal.acm.org/citation.cfm?id=1496091.1496100#.
53. Geelan, Jeremy. Twenty one experts define cloud computing. [En lnea] agosto de 2008.
http://virtualization.sys-con.com/node/612375.
54. EGEE II, Members of EGEE (Enabling Grids for E-sciencE Project). An EGEE
comparative study: Grids and clouds - evolution or revolution? [En lnea] junio de 2008.
https://edms.cern.ch/document/925013. Technical report.
55. Milojicic, Dejan. Cloud computing: Interview with Russ Daniels and Franco Travostino. [En
lnea] septiembre de 2008. http://www.computer.org/portal/web/csdl/doi/10.1109/MIC.2008.97.
56. Zhang, Liang-Jie y Zhou, Qun. CCOA: Cloud Computing Open Architecture. [En lnea]
julio
de
2009.
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5175875&isnumber=517578.
57. Chaganti, Prabhakar. Cloud computing with Amazon Web Services. [En lnea] 29 de julio
de 2008. http://www.ibm.com/developerworks/architecture/library/ar-cloudaws1/.
58. Armbrust, michael, y otros. Above the Clouds: A Berkeley View of Cloud Computing. [En
lnea] 10 de febrero de 2009. http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-200928.pdf.
59. Sun Microsystems, Inc. Take Your Business to a Higher Level. [En lnea] 1, marzo de
2009. http://www.sun.com/offers/docs/cloud_computing_primer.pdf.
60. VMware, Inc. Cloud Computing Delivering Cloud Solutions from Development to
Production. [En lnea] 200. http://www.vmware.com/solutions/cloud-computing/faqs.html.
61. Oracle. Architectural Strategies for Cloud Computing. [En lnea] agosto de 2009.
http://www.oracle.com/technology/architect/entarch/pdf/architectural_strategies_for_cloud_com
puting.pdf.
62. Cisco Systems, Inc. Private Cloud Computing for Enterprises: Meet the Demands of High
Utilization
and
Rapid
Change.
[En
lnea]
junio
de
2009.
http://www.cisco.com/en/US/solutions/collateral/ns340/ns517/ns224/ns836/ns976/white_paper
_c11-543729.pdf.
63. Yankee Group. Pinning Down Cloud. [En lnea] 24 de agosto de 2009.
http://www.yankeegroup.com/ResearchDocument.do?id=51855.
64. Forrester Research, Inc. Is Cloud Computing Ready For The Enterprise? [En lnea] 7 de
marzo de 2009. http://www.forrester.com/Research/Document/Excerpt/0,7211,44229,00.html.
65. Gartner, Inc. Gartner Says Cloud Computing Will Be as Influential as E-business. [En
lnea] 26 de junio de 2008. http://www.gartner.com/it/page.jsp?id=707508.
66. Future View: The New Tech Ecosystems Of Cloud, Cloud Services, And Cloud Computing.
Gillett, Frank E. s.l. : Forrester, Inc., 28 de agosto de 2008, Emerging Cloud Markets series.
67. Rosales, Eduardo, y otros. Cloud Computing - Una perspectiva para Colombia. [En lnea]
abril de 2010. http://www.interactic.com.co/dmdocuments/clud_computing.pdf.
68. ElasticHosts Ltd,. ElasticHost. [En lnea] http://www.elastichosts.com/.
69. Enomaly, Inc. Enomaly Elastic Computing. [En lnea] http://www.enomaly.com/.
70. Technologies, Akamai. Akamai. [En lnea] http://spanish.akamai.com/enes/.
134
71. Amazon Web Services, LLC. Amazon CloudFront Beta. [En lnea]
http://aws.amazon.com/cloudfront/.
72. . Amazon Simple Storage Service (Amazon S3). [En lnea] http://www.amazon.com/s3/.
73.
Amazon
Web
Services,
LLC.
Amazon
SimpleDB.
[En
lnea]
http://aws.amazon.com/simpledb/.
74. . Amazon Elastic Block Store (EBS). [En lnea] http://aws.amazon.com/ebs/.
75. Microsoft Corporation. Microsoft SkyDrive. [En lnea] http://skydrive.live.com.
76. YouTube, LLC. YouTube. Broadcast Yourself. [En lnea] http://www.youtube.com.
77. Nirvanix, Inc. Nirvanix Storage Delivery Network. [En lnea] http://www.nirvanix.com/.
78. Microsoft Corporation. Microsoft Live Mesh. [En lnea] 30 de octubre de 2009.
http://www.mesh.com/.
79. Flickr, LLC. Flickr. [En lnea] http://www.flickr.com.
80. Elastra Corporation. Elastra Manage ComplexITy. [En lnea] http://www.elastra.com/.
81. Engine Yard, Inc. Rails in the Cloud. [En lnea] http://www.engineyard.com/.
82. XCalibre Communications, Ltd. FlexiScale. [En lnea] http://www.flexiscale.com/.
83. Layered Technologies, Inc. GridLayer. [En lnea] http://www.layeredtech.com/.
84. Joyent, Inc. Enterprise Class Cloud Computing. [En lnea] http://www.joyent.com/.
85. Rackspace, US Inc. The Rackspacecloud. [En lnea] http://www.rackspacecloud.com/.
86. Savvis, Inc. Virtual Intelligent Hosting. [En lnea] http://www.savvis.net/enUS/Pages/Home.aspx.
87. Digital Realty Trust, Inc. Digital Realty Trust. [En lnea] http://www.digitalrealtytrust.com/.
88. GoDaddy.com, Inc. [En lnea] https://www.godaddy.com/.
89. Layered Technologies, Inc. Layered Technology. [En lnea] http://www.layeredtech.com/.
90. Terremark Worldwide. Terremark. [En lnea] http://www.terremark.com/default.aspx.
91. 1&1 Internet, Inc. 1&1 Internet. [En lnea] http://order.1and1.com/.
92.
Cohesive
Flexible
Technologies,
Corp.
CohesiveFT.
[En
lnea]
http://www.cohesiveft.com/.
93. Amazon Web Services, LLC. Amazon Simple Queue Service (Amazon SQS). [En lnea]
http://aws.amazon.com/sqs/.
94. Bigtable: A Distributed Storage System for Structured Data. Chang, Fay, y otros. Seattle,
WA : s.n., noviembre de 2006. Seventh Symposium on Operating System Design and
Implementation.
95.
Microsoft.
Microsoft
SQL
Azure
Database.
[En
lnea]
http://www.microsoft.com/windowsazure/sqlazure/.
96. NetSuite, Inc. NetSuite Business Operating System (NS-BOS). [En lnea]
http://www.netsuite.com/portal/landing/ns-bos.shtml.
97. Box.net. Box.net. [En lnea] http://www.box.net/.
98. Microsoft. Microsoft Office Live. [En lnea] http://office.microsoft.com.
99. Facebook, Inc. Facebook. [En lnea] http://www.facebook.com.
100. LinkedIn Corporation. LinkedIn. [En lnea] http://www.linkedin.com.
101. Twiter, Inc. Twiter. [En lnea] http://twitter.com/.
102. MySpace.com. MySpace.com. [En lnea] http://www.myspace.com/.
103. Zillow.com. Zillow. [En lnea] http://www.zillow.com/.
104. Google. Google Maps. [En lnea] http://maps.google.com.
105. Cisco Systems, Inc. Cisco WebEx. [En lnea] http://www.webex.com/.
106. Google. Google Docs. [En lnea] http://docs.google.com.
107. . Google Talk. [En lnea] http://talk.google.com.
108.
Microsoft.
Microsoft
Exchange
Online.
[En
lnea]
http://www.microsoft.com/online/exchange-online.mspx.
109. RightNow Technologies, Inc. RightNow. [En lnea] http://www.rightnow.com/.
110. Google. Gmail. [En lnea] http://www.gmail.com.
111. Microsoft Hotmail. Hotmail. [En lnea] http://www.hotmail.com.
112. Yahoo! Inc. Yahoo! [En lnea] http://www.yahoo.com.
135
113. Amazon Web Services, LLC. Amazon Flexible Payments ServiceTM (Amazon FPS). [En
lnea] http://aws.amazon.com/fps/.
114. . Amazon DevPay. [En lnea] http://aws.amazon.com/devpay/.
115. Google. Google Calendar. [En lnea] http://calendar.google.com.
116. Salesforce.com, Inc. AppExchange On-Demand Marketplace. [En lnea]
http://sites.force.com/appexchange/home.
117. Yahoo! Inc. Yahoo! Maps Web Services. [En lnea] http://developer.yahoo.com/maps/.
118. Sun Microsystems, Inc. Zembly Beta. [En lnea] http://zembly.com/.
119. VMware, Inc. Transform your Business with Virtualization. [En lnea]
http://www.vmware.com/virtualization/what-is-virtualization.html.
120. New Approach to Virtualization Is a Lightweight. Vaughan-Nichols, S.J. 11, noviembre
de 2006, Computer, Vol. 39, pgs. 12-14.
121.
Xen.
How
are
Hypervisors
Classified?
[En
lnea]
http://www.xen.org/files/Marketing/HypervisorTypeComparison.pdf.
122. Hamilton, J. Internet-Scale Service Efficiency. s.l. : In Large-Scale Distributed Systems
and Middleware (LADIS) Workshop, septiembre de 2008.
123. Vogels, W. A Head in the Clouds - The Power of Infrastructure as a Service. s.l. : In First
workshop on Cloud Computing and in Applications (CCA 08), octubre de 2008.
124. Amazon Web Services, LLC. Amazon Elastic Compute Cloud (Amazon EC2). [En lnea]
http://aws.amazon.com/ec2/.
125. Amazon Web Services, LLC. Amazon Web Services Overview of Security Processes.
[En
lnea]
noviembre
de
2009.
http://awsmedia.s3.amazonaws.com/pdf/AWS_Security_Whitepaper.pdf.
126. Xen and the art of virtualization. Barham, P., y otros. New York, NY, USA : ACM, 2003.
In SOSP 03: Proceedings of the nineteenth ACM symposium on Operating systems principles.
pgs. 164177.
127.
Amazon
Web
Services,
LLC.
Articles
&
Tutorials.
[En
lnea]
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1767.
128. . Amazon EC2 Instances Type. [En lnea] http://aws.amazon.com/ec2/instance-types/.
129. . Developer Tools. Elasticfox Firefox Extension for Amazon EC2. [En lnea]
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609.
130. Solutions, Suchi Software. Amazon S3 Firefox Organizer(S3Fox). [En lnea] 11 de
septiembre de 2009. https://addons.mozilla.org/en-US/firefox/addon/3247.
131. Amazon Web Services, LLC. Amazon EC2 Service Level Agreement. [En lnea] 23 de
octubre de 2008. http://aws.amazon.com/ec2-sla/.
132. . Amazon S3 Service Level Agreement. [En lnea] 1 de octubre de 2007.
http://aws.amazon.com/s3-sla/.
133. Alliance, The Globus. Nimbus. [En lnea] http://workspace.globus.org/.
134. Chicago, University of. The Globus Alliance. [En lnea] http://www.globus.org/alliance/.
135. QEMU, a Fast and Portable Dynamic Translator. Bellard, F. s.l. : FREENIX Track, 2005.
Proceedings of the USENIX Annual Technical Conference. pgs. 4146.
136. Keahey, K., y otros. Science Clouds: Early Experiences in Cloud Computing for
Scientific Applications. [En lnea] http://www.cca08.org/papers/Paper39-Kate-Keahey.pdf.
137. GridFTP: Protocol Extensions to FTP for the Grid. Allcock, W. 2003. Global Grid Forum.
138. Litzkow, M., Livny, M. y Mutka, M. A hunter of idle workstations. [En lnea] 1988. pp.
104111. http://www.ieee.org/stamp/stamp.jsp?arnumber=1540502&isnumber=32898.
139.
TORQUE
Resource
Manager.
[En
lnea]
http://www.clusterresources.com/products/torque-resource-manager.php.
140. Portable batch system: External reference specification. Henderson, R. y Tweten, D.
1996. Technical report, NASA, Ames Research Center.
141. Sun Microsystems, Inc. Sun Grid Engine. [En lnea] http://www.sun.com/software/sge/.
142. Grupo de Arquitectura Distribuida. Client API 1.2. [En lnea] Universidad Complutense
de Madrid. http://www.opennebula.org/doku.php?id=documentation:rel1.2:api.
136
137
167. Gartner. Magic Quadrant for x86 Server Virtualization Infrastructure. [En lnea] 2010.
http://www.vmware.com/files/pdf/cloud/Gartner-VMware-Magic-Quadrant.pdf.
168. Comparison of performance of Web services, WS-Security, RMI, and RMISSL. Matjaz,
Juric, y otros. 79, septiembre de 2006, The Journal of Systems and Software, pgs. 689700.
169. Stream Sockets versus Web Services for High-Performance and Secure Structural
Analysis in Internet Environments. Javier, Garca y Eduardo, Bravo. 1, enero de 2009,
Journal of Computing in Civil Engineering, Vol. 23, pgs. 47 56.
170. Comparison of Web Services, Java-RMI, and CORBA service implementations. A.B., Neil
y Gray. Melbourne, Australia : s.n., 2004. Fifth Australasian Workshop on Software and
System Architectures.
171. Communication facilities for Distributed Systems. V., Barladeanu. 13, Computer Science
Journal of Moldova, Vol. 5.
172. Recommendation for Key Management Part 1: General. Barker, E., y otros. [ed.] NIST.
mayo de 2006, NIST Special Publication.
173. Russinovich, Mark. Windows Sysinternals. PsExec v1.94. [En lnea] Microsoft, 4 de
enero de 2008. http://technet.microsoft.com/es-es/sysinternals/bb897553.aspx.
174. UnaGrid: Una solucin oportunista para la HPC en Colombia. Harold, Castro, y otros.
Cartagena, Colombia : s.n., 2010. Quinto Congreso Colombiano de Computacin (5CCC).
175. Integrating a virtual Opportunistic Infrastructure to an EELA Site. Artur, Miller, y otros.
Choron, Venezuela : s.n., 2009. 2nd EELA-2 Conference.
176. Rosero, Edgar Eduardo Rosales. Opportunistic Cloud Infrastructure as a Service. [En
lnea] 2010. http://sistemas.uniandes.edu.co/~grid/dokuwiki/doku.php?id=cloudcomputing.
177. Mesoscale Modeling of the Bacillus thuringiensis Sporulation Network Based on
Stochastic Kinetics and Its Application for in Silico Scale-down. Gonzlez, A., y otros. Trento :
s.n., 2009. HIBI '09. International Workshop on High Performance Computational Systems
Biology.
178. Characterization of Phytophthora infestans Populations in Colombia: First Report of the
A2 Mating Type. Vargas A.M., Ocampo L.M.Q., Cespedes M.C., Carreno N., Gonzalez A.,
Rojas A., Zuluaga A.P., Myers K., Fry W.E. and Jimenez P. s.l. : American
Phytopathological Society, 2009. Phytopathology. pgs. 82-88.
179. Computational Biology in Colombia. Restrepo, S., y otros. 10, 2009, PLOS
Computational Biology, Vol. 5.
180. Shostak, S. Sharing the Universe: Perspectives on Extraterrestrial Life. California :
Berkeley Hills Books, 1998.
181. Livny, M. High-throughput resource management. The Grid: Blueprint for a New
Computing Infrastructure. s.l. : Morgan Kaufmann, 1999, pgs. 311337.
182.
Condor
Project.
How
did
the
Condor
project
start?
[En
lnea]
http://www.cs.wisc.edu/condor/background.html.
183. Condor services for the Global Grid: interoperability between Condor and OGSA.
Chapman, C. and Wilson, P. and Tannenbaum, T., y otros. s.l. : UK Engineering and
Physical Science Research Council, 2004, pgs. 870-877.
184. Thain, Douglas, Tannenbaum, Todd y Livny, Miron. Grid Computing: Making the
Global Infrastructure a Reality. s.l. : John Wiley, 2003, 11.
185. Frey, James, y otros. Condor-G: A computation management agent for multi-institutional
grids. 2002, pgs. 237-246.
186. Foster, I. y Kesselman, C. The Globus project: A status report. s.l. : In IPPS/SPDP 98
Heterogeneous Computing Workshop, 1998. pgs. 4-18.
187.
Mersenne
Research,
Inc.
Mersenne
Wiki.
[En
lnea]
http://mersennewiki.org/index.php/Main_Page.
188. . How GIMPS Works. [En lnea] http://www.mersenne.org/various/works.php.
189. Mlucas. The Mlucas Project. [En lnea] http://hogranch.com/mayer/README.html.
190.
University
of
California,
Berkeley.
SETI@HOME.
[En
lnea]
http://setiathome.berkeley.edu/.
138
191. Signal processing in SETI. Cullers, D. K., Linscott, I. R. y Oliver, B. M. 11, s.l. : ACM
New York, 1985, Communications of the ACM, Vol. 28, pgs. 1151-1163. 0001-0782 .
192.
Distributed.net.
Distributed.net
FAQ-O-Matic.
[En
lnea]
http://faq.distributed.net/cache/51.html.
193. Anderson, David, Korpela, Eric y Walton, Rom. High-Performance Task Distribution for
Volunteer Computing. [En lnea] diciembre de 2005. In Proceedings of the First IEEE
International
Conference
on
e-Science
and
Grid
Technologies.
http://portal.acm.org/citation.cfm?id=1033223.
194. Baldassari, James, Finkel, David y Toth, David. SLINC: A Framework for Volunteer
Computing.
[En
lnea]
13-15
de
noviembre
de
2006.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.121.3363&rep=rep1&type=pdf.
195. (EELA-2), E-science grid facility for Europe and Latin America. Welcome to the
EELA-2 Project. [En lnea] www.eu-eela.eu/.
196. On the Co-existence of Service and Opportunistic Grids. Brasileiro, Francisco, y otros.
Bogot D.C. : s.n., 2009. Proceedings of the First EELA-2 Conference. pgs. 51-61.
197. A system for fault-tolerant execution of data and compute intensive programs over a
network of workstations. Smith, J. y Shrivastava, S.K. s.l. : IEEE Press, 1996. In Lecture
Notes in Computer Science. Vol. 1123.
198. Grid computing for Bag-of-Tasks applications. Cirne, Walfredo, y otros. septiembre,
2003. In Proceedings of the I3E2003.
199. A computational economy for grid computing and its implementation in the Nimrod-G
resource broker. Abramson, David, Buyya, Rajkumar y Giddy, Jonathan. 2002. Future
Generation Computer Systems (FGCS) Journal. pgs. 1061-1074.
200. Analyzing market-based resource allocation strategies for the computational grid. Wolski,
R., y otros. 2001. International Journal of Highperformance Computing Applications.
201. Automatic Grid Assembly by Promoting Collaboration in Peer-to-Peer Grids. Nazareno,
Andrade, y otros. [ed.] Enterprise Systems and Storage Laboratory HP Laboratories Bristol.
julio 25, 2007. Journal of Parallel and Distributed Computing. Vol. 68.
202. Automatic grid assembly by promoting collaboration in peer-to-peer grids. Andrade, N., y
otros. 2007. Journal of Parallel and Distributed Computing . Vol. 67, pgs. 957- 966 .
203. OurGrid. OurGridStatus. [En lnea]
204. Object Management Group. CORBA v3.0 SpeciSpecication. julio de 2002. OMG
document 02-06-33.
205. Lua an extensible extension language. Ierusalimschy, R., de Figueiredo, L. H. y Filho.,
W. C. 6, 1996, Software Practice and Experience, Vol. 26, pgs. 635652.
206. InteGrade: a tool for executing parallel applications on a Grid for opportunistic computing.
Braga Pinheiro Junior, Jos, y otros. Fortaleza, Brasil : s.n., 2005. Proceedings of the 23th
Brazilian Symposium on Computer Networks (SBRC Tools Track).
207. A bridging model for parallel computation. Valiant, L. G. 8, 1990, Communications of the
ACM, Vol. 33, pgs. 103111.
208. BSPlib: The BSP programming library. . Hill, J. M. D., y otros. 14, Parallel Computing,
Vol. 24, pgs. 19471980.
209. The Implementation of the BSP Parallel Computing Model on the InteGrade Grid
Middleware. Goldchleger, Andrei, y otros. Grenoble, France : ACM New York, NY, USA,
2005. Proceedings of the 3rd international workshop on Middleware for grid computing. pgs.
1-6. 1-59593-269-0.
210. Hyperic, Inc. Hyperic SIGAR API. [En lnea] http://www.hyperic.com/products/sigar.
139
ANEXOS
ANEXO A - IMPLEMENTACIONES DE LA COMPUTACIN OPORTUNISTA
ANEXO A1 - WORM
La idea original de usar ciclos de procesamiento computacionales ociosos
mediante un esquema de computacin distribuida, fue propuesta en 1978 para el
desarrollo de un proyecto con programas worm, dirigido por Xerox Palo Alto
Research Center (PARC) (180). El desarrollo de los programas worm estuvo
orientado a los requerimientos de trascender las fronteras de la mquina que los
ejecuta, movindose entre varias mquinas conectadas por una red, incluyendo
mecanismos para la deteccin y replicacin en mquinas ociosas.
El desarrollo de los programas worm es considerado un precursor de la
computacin oportunista debido a que sent las bases para el aprovechamiento
de recursos computacionales no dedicados, mediante la programacin de
ejecuciones oportunistas durante horarios nocturnos, cuando la mayora de
recursos computacionales podan considerarse ociosos (158). Las pruebas fueron
efectuadas por personal TI en una infraestructura con caractersticas
homogneas, la cual inclua 100 computadoras Alto, cada una conectada
mediante una red local Ethernet a servidores de archivos, servidores de arranque
y servidores de resolucin de nombres. La infraestructura computacional usada en
el experimento se muestra en la Figura 46. Al tratarse de un centro de cmputo
bajo un dominio administrativo nico, exista una programacin de uso bien
conocida, as como usuarios responsables de su operacin.
File Server
Alto
Computer
Boot Server
Segment
Worm 1
DNS Server
Segment
Worm 2
Segment
Worm 3
140
Submit Machine
Execution Machine
Controlling
Daemons
Schedd
Controlling Daemons
start/starter
Shadow
per Syste
m
for
me call
s
da
sR
PC
s
Users jobs
Users Code
Syscall_Lib
Checkpoint file
save to disk
Prime.net Server
HTTP
Internet
GIMPS
Clients
Mlucas
Clients
144
Arecibo Laboratory
Garbage
Collector
Data
Recorder
Work-Unit
Storage
Splitter
Database Server
Internet
SETI@home Clients
CLIENT
MySQL DB
Work Generator
(C++, BOINC
API)
BOINC Client
Demon
(BOINC API)
Web Site
(PHP)
k()
Tas Volunteer Worker 1
get
Computation
Client
)
ol(
Po ()
k
a te
cre dTas lt()
ad esu l()
R
o
t
ge tePo
le
de
pu
tR
Pool Service
es
ul
t()
Volunteer Worker 2
Volunteer Worker 3
Computation
Client
El servicio Web principal permite que los usuarios finales, conectados a travs de
clientes de cmputo (computation clients), creen conjuntos de tareas que son
enviadas a recursos computacionales voluntarios (volunteers workers) para su
ejecucin y posterior retorno de resultados. El framework permite la ejecucin de
aplicaciones en la forma de ensamblador, como es el caso de archivos DLL
(Dynamic Link Library). Estos archivos son descargados por los recursos
computacionales voluntarios, implementando los mecanismos de seguridad
bsicos que son provistos por la plataforma .NET de Microsoft. A diferencia de
149
150
OurGrid Brokers
OurGrid
Community
OurGrid
Peer
OurGrid Workers
151
recursos adicionales. Tan pronto las mquinas son entregadas al OurGrid Broker,
este mismo se encarga de programar las tareas y administrar su ejecucin.
Todo el esquema de comparticin de recursos de OurGrid se basa en el concepto
de una red de favores (network of favors) (201), una solucin parcial al problema
de participantes no recprocos en la comparticin de recursos (free-riding peers)
(202), la cual se basa en el supuesto de que un participante activo donar sus
ciclos computacionales ociosos en reciprocidad a una donacin previa,
marginalizando a usuarios no cooperativos mediante un mecanismo natural de
simetra de intereses. Para ello cada OurGrid Peer guarda localmente un conjunto
de datos histricos de los participantes que han hecho donaciones previas, con el
fin de permitir priorizar los favores solicitados por los participantes de mayores
crditos. La actualizacin de los crditos asociados a los usuarios donantes
sucede en forma automtica, tan pronto como termina la ejecucin de un trabajo.
Adicionalmente y teniendo como propsito fundamental el solucionar
eficientemente los posibles problemas de seguridad asociados a la figura de
intrusin de un agente, OurGrid utiliza un enfoque basado en mquinas virtuales,
que le permite aislar a un posible usuario malicioso, mediante la restriccin de un
entorno de ejecucin (sistema operativo, aplicaciones) con limitados recursos
hardware y software de la mquina fsica (aquellos asignados por un hypervisor
tipo II). OurGrid tambin incorpora mecanismos de seguridad robustos basados en
llaves privadas y pblicas para certificar la autenticidad de los mensajes enviados
mediante los protocolos OurGrid (196). Estos mecanismos buscan evitar ataques
de denegacin de servicio provocados por participantes maliciosos. El estado
actualizado de OurGrid puede ser monitorizado en la pgina oficial del proyecto
(203).
ANEXO A9 - INTEGRADE
InteGrade (153) es una infraestructura middleware grid orientada a objetos de
licencia GNU LGPL (Lesser General Public License), basada en el
aprovechamiento oportunista de recursos computacionales ociosos. El proyecto
inici en el segundo semestre del ao 2002 como una iniciativa del Instituto de
Matemticas y Estadstica de la Universidad de Sao Pablo (IME-USP), el
Departamento de Informtica de la Pontificia Universidad Catlica de Ro de
Janeiro (PUC-Rio), la Universidad Federal de Gois (UFG), el Departamento de
Informtica de la Universidad de Federal de Maranho (UFMA) y la Facultad de
Computacin de la Universidad Federal de Mato Grosso do Sul (UFMS) de Brasil.
InteGrade est basado en el middleware estandarizado para sistemas de objetos
distribuidos CORBA (Common Object Request Broker Architecture) (204). Esto le
152
GUPA
GRM
AR
Dedicated Node
LUPA
LRM
User Node
LUPA
LRM
LRM
NCC
ASCT
154
155
156
al hypervisor tipo II para las operaciones pertinentes a las mquinas virtuales que
componen el modelo IaaS.
159
Core Layer
Java EE Container
External Layer
EJB Container
Session Bean
Managed Bean
GlassFish
Entity Bean
Web Browser
JSF
Components
Xstream
JPA Persistence
Engine
Oracle Toplink
MySQL Server
UnaCloud Client
External Layer
Core Layer
Operating System
Java SE
SIGAR
Runtime
UnaCloud
Server
Xstream
Commons IO
vmrun
Hypervisor Type II
VMware
Workstation
162