Las aplicaciones distribuidas están formadas por un conjunto de procesos, algunos de ellos pueden ser cooperativos. Un proceso cooperativo es aquel que puede afectar o ser afectado por otros procesos que se encuentran en ejecución en el sistema.
Las aplicaciones distribuidas se utilizan para realizar trabajos en los cuales un grupo de procesos interactúan para resolver un problema, para acceder a recursos que se pueden utilizar en forma exclusiva o compartida. Para el desarrollo de aplicaciones es necesario contar con mecanismos que ordenen el acceso a los mismos. Los mecanismos para asegurar el ordenamiento en la ejecución de procesos son: sincronización, exclusión mutua en las secciones críticas, alocación de recursos.
Estas aplicaciones se pueden encontrar en diferentes tipo de redes, esto es, redes que son fijas o redes móviles.
El proyecto se basa en el análisis, adaptación y búsqueda de alternativas de algoritmos distribuidos que soporten exclusión mutua o cooperación entre procesos que se puedan utilizar en redes inalámbricas (ad hoc).