The Experts below are selected from a list of 171 Experts worldwide ranked by ideXlab platform

Joseph L Hellerstein - One of the best experts on this subject based on the ideXlab platform.

  • a Configuration Complexity model and its application to a change management system
    IEEE Transactions on Network and Service Management, 2007
    Co-Authors: Alexander Keller, A B Brown, Joseph L Hellerstein
    Abstract:

    The Complexity of configuring computing systems is a major impediment to the adoption of new information technology (IT) products and greatly increases the cost of IT services. This paper develops a model of Configuration Complexity and demonstrates its value for a change management system. The model represents systems as a set of nested containers with Configuration controls. From this representation, we derive various metrics that indicate Configuration Complexity, including execution Complexity, parameter Complexity, and memory Complexity. We apply this model to a J2EE-based enterprise application and its associated middleware stack to assess the Complexity of the manual Configuration process for this application. We then show how an automated change management system can greatly reduce Configuration Complexity.

  • towards an understanding of decision Complexity in it Configuration
    Computer Human Interaction for Management of Information Technology, 2007
    Co-Authors: Bin Lin, Aaron B Brown, Joseph L Hellerstein
    Abstract:

    In previous work we laid out an approach to quantifying Configuration Complexity [3]. In that earlier work, we explicitly focused on Complexity as experienced by expert systems managers, and thus looked at straight-line Configuration procedures, ignoring the Complexity faced by non-experts as they have to decide what Configuration steps to follow. Decision Complexity is the Complexity faced by a non-expert system administrator---the person providing IT support in a small-business environment, who is confronted by decisions during the Configuration process, and is a measure of how easy or hard it is to identify the appropriate sequence of Configuration actions to perform in order to achieve a specified Configuration goal. To identify spots of high decisionmaking Complexity, we need a model of decision Complexity for configuring and operating computing systems. This paper extends previous work on models and metrics for IT Configuration Complexity by adding the concept of decision Complexity. As the first step towards a complete model of decision Complexity, we describe an extensive user study of decision making in a carefully-mapped analogous domain (route planning), and illustrate how the results of that study suggest an initial model of decision Complexity applicable to IT Configuration. The model identifies the key factors affecting decision Complexity and highlights several interesting results, including the fact that decision Complexity has significantly different impacts on user-perceived difficulty than on objective measures like time and error rate. We also describe some of the implications of our decision Complexity model for system designers seeking to automate the decision-making and reduce the Configuration Complexity of their systems.

  • towards an understanding of decision Complexity in it Configuration
    International Conference on Autonomic Computing, 2006
    Co-Authors: Bin Lin, Aaron B Brown, Joseph L Hellerstein
    Abstract:

    There exist many opportunities for deploying autonomic computing in an IT environment. The highest-value opportunities are going to be where we can reduce human decision-making Complexity for systems administrators. To identify these opportunities, we need a model of decision Complexity for configuring and operating computing systems. This paper extends previous work on models and metrics for IT Configuration Complexity by adding the concept of decision Complexity. As the first step towards a complete model of decision Complexity, we describe an extensive user study of decision making in a carefully-mapped analogous domain (route planning) and illustrate how the results of that study suggest an initial model of decision Complexity applicable to IT Configuration. The model identifies the key factors affecting decision Complexity and highlights several interesting results, including the fact that decision Complexity has significantly different impacts on user-perceived difficulty than on objective measures like time and error rate. We also describe some of the implications of our decision Complexity model for system designers seeking to automate the decision-making and reduce the Configuration Complexity of their systems.

  • a model of Configuration Complexity and its application to a change management system
    Integrated Network Management, 2005
    Co-Authors: Aaron B Brown, Alexander Keller, Joseph L Hellerstein
    Abstract:

    The Complexity of configuring computing systems is a major impediment to the adoption of new information technology (IT) products and greatly increases the cost of IT services. This paper develops a model of Configuration Complexity and demonstrates its value for a change management system. The model represents systems as a set of nested containers with Configuration controls. From this representation, we derive various metrics that indicate Configuration Complexity, including execution Complexity, parameter Complexity, and memory Complexity. We apply this model to a J2EE-based enterprise application and its associated middleware stack to assess the Complexity of the manual Configuration process for this application. We then show how an automated change management system can greatly reduce Configuration Complexity.

  • a model of Configuration Complexity and its application to a change management system
    Integrated Network Management, 2005
    Co-Authors: Aaron B Brown, Alexander Keller, Joseph L Hellerstein
    Abstract:

    The Complexity of configuring computing systems is a major impediment to the adoption of new information technology (IT) products and greatly increases the cost of IT services. This paper develops a model of Configuration Complexity and demonstrates its value for a change management system. The model represents systems as a set of nested containers with Configuration controls. From this representation, we derive various metrics that indicate Configuration Complexity, including execution Complexity, parameter Complexity, and memory Complexity. We apply this model to a J2EE-based enterprise application and its associated middleware stack to assess the Complexity of the manual Configuration process for this application. We then show how an automated change management system can greatly reduce Configuration Complexity.

A Agrawal - One of the best experts on this subject based on the ideXlab platform.

  • managing the Configuration Complexity of distributed applications in internet data centers
    IEEE Communications Magazine, 2006
    Co-Authors: Tamar Eilam, Michael H Kalantar, Alexander V Konstantinou, Giovanni Pacifici, John Arthur Pershing, A Agrawal
    Abstract:

    In this article we examine the challenges faced by data center administrators when deploying and configuring Web applications. We discuss how the Configuration dependencies of these Web applications cut across software stacks, network layers, and middleware container boundaries. We argue that the deployment and Configuration process requires the combined expertise from multiple domains such as application, middleware, network, security, reliability, and performance. We review the model-based tools available today to manage the Configuration Complexity of these applications and introduce a new tool that extends the existing state of the art by automatically generating actionable distributed deployment models using model transformation techniques. The key idea behind this new tool is the principle of separation of concerns: developers capture the logical structure of the application in a model, best practices experts define deployment model transformation rules, deployers specify the required deployment patterns, and an operator provides a model describing the data center resources. The tool automatically finds solutions based on these four inputs and executes the deployment.

Aaron B Brown - One of the best experts on this subject based on the ideXlab platform.

  • towards an understanding of decision Complexity in it Configuration
    Computer Human Interaction for Management of Information Technology, 2007
    Co-Authors: Bin Lin, Aaron B Brown, Joseph L Hellerstein
    Abstract:

    In previous work we laid out an approach to quantifying Configuration Complexity [3]. In that earlier work, we explicitly focused on Complexity as experienced by expert systems managers, and thus looked at straight-line Configuration procedures, ignoring the Complexity faced by non-experts as they have to decide what Configuration steps to follow. Decision Complexity is the Complexity faced by a non-expert system administrator---the person providing IT support in a small-business environment, who is confronted by decisions during the Configuration process, and is a measure of how easy or hard it is to identify the appropriate sequence of Configuration actions to perform in order to achieve a specified Configuration goal. To identify spots of high decisionmaking Complexity, we need a model of decision Complexity for configuring and operating computing systems. This paper extends previous work on models and metrics for IT Configuration Complexity by adding the concept of decision Complexity. As the first step towards a complete model of decision Complexity, we describe an extensive user study of decision making in a carefully-mapped analogous domain (route planning), and illustrate how the results of that study suggest an initial model of decision Complexity applicable to IT Configuration. The model identifies the key factors affecting decision Complexity and highlights several interesting results, including the fact that decision Complexity has significantly different impacts on user-perceived difficulty than on objective measures like time and error rate. We also describe some of the implications of our decision Complexity model for system designers seeking to automate the decision-making and reduce the Configuration Complexity of their systems.

  • towards an understanding of decision Complexity in it Configuration
    International Conference on Autonomic Computing, 2006
    Co-Authors: Bin Lin, Aaron B Brown, Joseph L Hellerstein
    Abstract:

    There exist many opportunities for deploying autonomic computing in an IT environment. The highest-value opportunities are going to be where we can reduce human decision-making Complexity for systems administrators. To identify these opportunities, we need a model of decision Complexity for configuring and operating computing systems. This paper extends previous work on models and metrics for IT Configuration Complexity by adding the concept of decision Complexity. As the first step towards a complete model of decision Complexity, we describe an extensive user study of decision making in a carefully-mapped analogous domain (route planning) and illustrate how the results of that study suggest an initial model of decision Complexity applicable to IT Configuration. The model identifies the key factors affecting decision Complexity and highlights several interesting results, including the fact that decision Complexity has significantly different impacts on user-perceived difficulty than on objective measures like time and error rate. We also describe some of the implications of our decision Complexity model for system designers seeking to automate the decision-making and reduce the Configuration Complexity of their systems.

  • a model of Configuration Complexity and its application to a change management system
    Integrated Network Management, 2005
    Co-Authors: Aaron B Brown, Alexander Keller, Joseph L Hellerstein
    Abstract:

    The Complexity of configuring computing systems is a major impediment to the adoption of new information technology (IT) products and greatly increases the cost of IT services. This paper develops a model of Configuration Complexity and demonstrates its value for a change management system. The model represents systems as a set of nested containers with Configuration controls. From this representation, we derive various metrics that indicate Configuration Complexity, including execution Complexity, parameter Complexity, and memory Complexity. We apply this model to a J2EE-based enterprise application and its associated middleware stack to assess the Complexity of the manual Configuration process for this application. We then show how an automated change management system can greatly reduce Configuration Complexity.

  • a model of Configuration Complexity and its application to a change management system
    Integrated Network Management, 2005
    Co-Authors: Aaron B Brown, Alexander Keller, Joseph L Hellerstein
    Abstract:

    The Complexity of configuring computing systems is a major impediment to the adoption of new information technology (IT) products and greatly increases the cost of IT services. This paper develops a model of Configuration Complexity and demonstrates its value for a change management system. The model represents systems as a set of nested containers with Configuration controls. From this representation, we derive various metrics that indicate Configuration Complexity, including execution Complexity, parameter Complexity, and memory Complexity. We apply this model to a J2EE-based enterprise application and its associated middleware stack to assess the Complexity of the manual Configuration process for this application. We then show how an automated change management system can greatly reduce Configuration Complexity.

  • an approach to benchmarking Configuration Complexity
    ACM SIGOPS European Workshop, 2004
    Co-Authors: Aaron B Brown, Joseph L Hellerstein
    Abstract:

    Configuration is the process whereby components are assembled or adjusted to produce a functional system that operates at a specified level of performance. Today, the Complexity of Configuration is a major impediment to deploying and managing computer systems. We describe an approach to quantifying Configuration Complexity, with the ultimate goal of producing a Configuration Complexity benchmark. Our belief is that such a benchmark can drive progress towards self-configuring systems. Unlike traditional workload-based performance benchmarks, our approach is process-based. It generates metrics that reflect the level of human involvement in the Configuration process, quantified by interaction time and probability of successful Configuration. It computes the metrics using a model of a standardized human operator, calibrated in advance by a user study that measures operator behavior on a set of parameterized canonical Configuration actions. The model captures the human component of Configuration Complexity at low cost and provides representativeness and reproducibility.

Bin Lin - One of the best experts on this subject based on the ideXlab platform.

  • towards an understanding of decision Complexity in it Configuration
    Computer Human Interaction for Management of Information Technology, 2007
    Co-Authors: Bin Lin, Aaron B Brown, Joseph L Hellerstein
    Abstract:

    In previous work we laid out an approach to quantifying Configuration Complexity [3]. In that earlier work, we explicitly focused on Complexity as experienced by expert systems managers, and thus looked at straight-line Configuration procedures, ignoring the Complexity faced by non-experts as they have to decide what Configuration steps to follow. Decision Complexity is the Complexity faced by a non-expert system administrator---the person providing IT support in a small-business environment, who is confronted by decisions during the Configuration process, and is a measure of how easy or hard it is to identify the appropriate sequence of Configuration actions to perform in order to achieve a specified Configuration goal. To identify spots of high decisionmaking Complexity, we need a model of decision Complexity for configuring and operating computing systems. This paper extends previous work on models and metrics for IT Configuration Complexity by adding the concept of decision Complexity. As the first step towards a complete model of decision Complexity, we describe an extensive user study of decision making in a carefully-mapped analogous domain (route planning), and illustrate how the results of that study suggest an initial model of decision Complexity applicable to IT Configuration. The model identifies the key factors affecting decision Complexity and highlights several interesting results, including the fact that decision Complexity has significantly different impacts on user-perceived difficulty than on objective measures like time and error rate. We also describe some of the implications of our decision Complexity model for system designers seeking to automate the decision-making and reduce the Configuration Complexity of their systems.

  • towards an understanding of decision Complexity in it Configuration
    International Conference on Autonomic Computing, 2006
    Co-Authors: Bin Lin, Aaron B Brown, Joseph L Hellerstein
    Abstract:

    There exist many opportunities for deploying autonomic computing in an IT environment. The highest-value opportunities are going to be where we can reduce human decision-making Complexity for systems administrators. To identify these opportunities, we need a model of decision Complexity for configuring and operating computing systems. This paper extends previous work on models and metrics for IT Configuration Complexity by adding the concept of decision Complexity. As the first step towards a complete model of decision Complexity, we describe an extensive user study of decision making in a carefully-mapped analogous domain (route planning) and illustrate how the results of that study suggest an initial model of decision Complexity applicable to IT Configuration. The model identifies the key factors affecting decision Complexity and highlights several interesting results, including the fact that decision Complexity has significantly different impacts on user-perceived difficulty than on objective measures like time and error rate. We also describe some of the implications of our decision Complexity model for system designers seeking to automate the decision-making and reduce the Configuration Complexity of their systems.

Jiménez Agudelo, Yury Andrea - One of the best experts on this subject based on the ideXlab platform.

  • Scalability and robustness in software-defined networking (SDN)
    Universitat Politècnica de Catalunya, 2016
    Co-Authors: Jiménez Agudelo, Yury Andrea
    Abstract:

    The simplicity of Internet design has led to enormous growth and innovation. In recent decades several network technologies, services and applications have appeared, which demand specific network requirements for their correct operation. In traditional networks, operators are responsible for providing a network Configuration sufficiently robust to deal with a wide range of network events and applications. To achieve this is incredibly difficult because: i) the state of the networks can change continuously and today's networks do not provide a mechanism to automatically respond to the wide range of events that may occur and ii) the static nature of current network devices does not permit detailed control-layer Configuration, given that the hardware and software are provided by the manufacturer and can not be customized. This is the basis of the current, present-day Internet and its architecture, that has grown in an evolutionary fashion from experimental beginnings, rather than from a deliberate strategy. The unpredictable network growth in terms of size and heterogeneity, has exposed a number of fundamental complexities in the current architecture. For instance, the manual Configuration of control functions on network devices that may lead to misConfigurations. This is evident that network management requires more intelligent and efficient management systems to coordinate thousands of network elements and applications, the high demand on network performance and growing Configuration Complexity. In recent decades, several approaches have been introduced in order to improve the network management, such as: MPLS, virtualization and programmable networks. These latter networks have been proposed as a way of facilitating network evolution. In particular, Software Defined Networking (SDN), a networking paradigm focused on allowing software developers to rely on network resources in an easy manner, unifying the state network distribution and a general-purpose technique to manage any type of network in an transparent manner. In SDN, network intelligence is logically centralized in software-based controllers (the control layer), and network devices become simple packet forwarding devices (the data layer) that can be programmed via an open interface. By decoupling the control and data layers, network devices can be easily programmed and reconfigured, allowing the behaviour of different types of network devices to be unified. Even though SDN is quite recent, it has already been standardized and implemented in the Internet by several recognized companies such as Google. Several SDN architectures have been proposed to handle current and future network services. However, there are still important research challenges to be addressed in SDN. Some of these current challenges are related to: i) SDN scalability as control is centralized, ii) control layer robustness as any failure can lead to switches to be disconnected from the controller, iii) consistency of network information as wrong decisions can be made affecting network performance and iv) security as controllers can be attacked. The purpose of this thesis is to address the first three of the aforementioned problems. They are addressed from the first premise, ignoring existing approaches offered in traditional networks to remedy some of these issues. First, a controller placement protocol is proposed, taking into account the network/service requirements. To measure the robustness of a control layer, a robustess metric is designed and evaluated. This metric can also be used to select controller placements in a SDN network that minimize the data loss. Finally, a resource discovery protocol is designed, implemented and evaluated. This protocol discovers any network topology in time efficient, avoiding making assumptions about the network state as it happens in traditional networks.En las redes tradicionales, los operadores de red son responsables de proporcionar una configuración de red lo suficientemente robusta que permita gestionar los diferentes tipos de eventos que puedan afectar el funcionamiento de esta y los requerimientos de los servicios. Esto es difícil de alcanzar dado que: i) el funcionamiento de las redes puede variar en cualquier momento y las redes actuales no cuentan con un mecanismo que les permita reaccionar eficientemente al amplio rango de eventos que pueden ocurrir y ii) la naturaleza estática de las elementos de red no permite una detallada configuración dado que su hardware/software no pueden ser modificados de una manera eficiente. El impredecible crecimiento de la red en terminos de su tamaño y su heterogeneidad, han expuesto un número de complejidades en la actual arquitectura de red. Primero, los elementos de red tienen que soportar un gran número de comandos/configuraciones sobre un especifico sistema operativo, dificultando la instalación de un nuevo software sobre ellos, debido a incompatibilidades con el hardware o debido a que el software es incapaz de gestionar las capacidades del hardware. Segundo, la configuración manual de las funciones de control sobre los elementos de red pueden llevar a configurar erróneamente las tablas de enrutamiento. Finalmente, la integración vertical de los middleboxes dificulta a los operadores especificar las políticas de alto nivel sobre las tradicionales tecnologías de red. La gestión de la red requiere un sistema inteligente y eficiente que coordine: i) los miles de elementos y aplicaciones presentes en la red, ii) la alta demanda sobre el rendimiento de la red y iii) la creciente complejidad en la configuración de las redes. En las últimas décadas, diferentes soluciones han sido propuestas con el objetivo de mejorar la gestión de la red, tales como MPLS, virtualización y las redes programables. En este último caso, las redes definidas por software o SDNs permiten a los desarrolladores de software gestionar los recursos de red en una manera fácil, dado que la distribución del estado de la red es unificado, lo cual permite gestionar cualquier tipo de red en una manera transparente y en tiempo eficiente. En SDN, la inteligencia de la red esta lógicamente centralizada en unos elementos de red llamados controladores, de modo que los demás elementos que actúan en la red solo transmiten paquetes hacia el destino. Estos elementos, son configurados por los controladores a través de una interface abierta. Es decir, SDN desacopla la capa de control de la capa de datos permitiendo que los elementos de red puedan ser programados y re-configurados independiente del tipo de red. Aún cuando SDN es reciente, este ha sido estandarizado e implementado por diferentes compañías (ej. Google). Sin embargo, hay varios desafios por resolver en SDN aún. Algunos de estos desafios están relacionados con: i) la escalabilidad de los controladores, como estos están centralizados, ii) la robustez de la capa de control, dado que un fallo en esta puede dejar los elementos de red sin conexión con el controlador, iii) la consistencia de la información de control, para evitar tomar decisiones que afecten la operación de la red, y finalmente iv) la seguridad. En esta tesis, los primeros tres desafios son tratados desde el punto de vista de la localización de los controladores en la red, los cuales son seleccionados teniendo en cuenta los requerimientos de los servicios/aplicaciones y las características de la red. La primera contribución de esta tesis es un algoritmo que selecciona el número de controladores y su localización en la red. Un parámetro de robustez que permite seleccionar los controladores desde los cuales se construye una capa de control robusta y también puede medir la robustez de cualquier capa de control, es definida. Finalmente, un protocolo que descubre la topología y características de cualquier red es propuesto y evaluado.Postprint (published version

  • Scalability and robustness in software-defined networking (SDN)
    Universitat Politècnica de Catalunya, 2016
    Co-Authors: Jiménez Agudelo, Yury Andrea
    Abstract:

    The simplicity of Internet design has led to enormous growth and innovation. In recent decades several network technologies, services and applications have appeared, which demand specific network requirements for their correct operation. In traditional networks, operators are responsible for providing a network Configuration sufficiently robust to deal with a wide range of network events and applications. To achieve this is incredibly difficult because: i) the state of the networks can change continuously and today's networks do not provide a mechanism to automatically respond to the wide range of events that may occur and ii) the static nature of current network devices does not permit detailed control-layer Configuration, given that the hardware and software are provided by the manufacturer and can not be customized. This is the basis of the current, present-day Internet and its architecture, that has grown in an evolutionary fashion from experimental beginnings, rather than from a deliberate strategy. The unpredictable network growth in terms of size and heterogeneity, has exposed a number of fundamental complexities in the current architecture. For instance, the manual Configuration of control functions on network devices that may lead to misConfigurations. This is evident that network management requires more intelligent and efficient management systems to coordinate thousands of network elements and applications, the high demand on network performance and growing Configuration Complexity. In recent decades, several approaches have been introduced in order to improve the network management, such as: MPLS, virtualization and programmable networks. These latter networks have been proposed as a way of facilitating network evolution. In particular, Software Defined Networking (SDN), a networking paradigm focused on allowing software developers to rely on network resources in an easy manner, unifying the state network distribution and a general-purpose technique to manage any type of network in an transparent manner. In SDN, network intelligence is logically centralized in software-based controllers (the control layer), and network devices become simple packet forwarding devices (the data layer) that can be programmed via an open interface. By decoupling the control and data layers, network devices can be easily programmed and reconfigured, allowing the behaviour of different types of network devices to be unified. Even though SDN is quite recent, it has already been standardized and implemented in the Internet by several recognized companies such as Google. Several SDN architectures have been proposed to handle current and future network services. However, there are still important research challenges to be addressed in SDN. Some of these current challenges are related to: i) SDN scalability as control is centralized, ii) control layer robustness as any failure can lead to switches to be disconnected from the controller, iii) consistency of network information as wrong decisions can be made affecting network performance and iv) security as controllers can be attacked. The purpose of this thesis is to address the first three of the aforementioned problems. They are addressed from the first premise, ignoring existing approaches offered in traditional networks to remedy some of these issues. First, a controller placement protocol is proposed, taking into account the network/service requirements. To measure the robustness of a control layer, a robustess metric is designed and evaluated. This metric can also be used to select controller placements in a SDN network that minimize the data loss. Finally, a resource discovery protocol is designed, implemented and evaluated. This protocol discovers any network topology in time efficient, avoiding making assumptions about the network state as it happens in traditional networks.En las redes tradicionales, los operadores de red son responsables de proporcionar una configuración de red lo suficientemente robusta que permita gestionar los diferentes tipos de eventos que puedan afectar el funcionamiento de esta y los requerimientos de los servicios. Esto es difícil de alcanzar dado que: i) el funcionamiento de las redes puede variar en cualquier momento y las redes actuales no cuentan con un mecanismo que les permita reaccionar eficientemente al amplio rango de eventos que pueden ocurrir y ii) la naturaleza estática de las elementos de red no permite una detallada configuración dado que su hardware/software no pueden ser modificados de una manera eficiente. El impredecible crecimiento de la red en terminos de su tamaño y su heterogeneidad, han expuesto un número de complejidades en la actual arquitectura de red. Primero, los elementos de red tienen que soportar un gran número de comandos/configuraciones sobre un especifico sistema operativo, dificultando la instalación de un nuevo software sobre ellos, debido a incompatibilidades con el hardware o debido a que el software es incapaz de gestionar las capacidades del hardware. Segundo, la configuración manual de las funciones de control sobre los elementos de red pueden llevar a configurar erróneamente las tablas de enrutamiento. Finalmente, la integración vertical de los middleboxes dificulta a los operadores especificar las políticas de alto nivel sobre las tradicionales tecnologías de red. La gestión de la red requiere un sistema inteligente y eficiente que coordine: i) los miles de elementos y aplicaciones presentes en la red, ii) la alta demanda sobre el rendimiento de la red y iii) la creciente complejidad en la configuración de las redes. En las últimas décadas, diferentes soluciones han sido propuestas con el objetivo de mejorar la gestión de la red, tales como MPLS, virtualización y las redes programables. En este último caso, las redes definidas por software o SDNs permiten a los desarrolladores de software gestionar los recursos de red en una manera fácil, dado que la distribución del estado de la red es unificado, lo cual permite gestionar cualquier tipo de red en una manera transparente y en tiempo eficiente. En SDN, la inteligencia de la red esta lógicamente centralizada en unos elementos de red llamados controladores, de modo que los demás elementos que actúan en la red solo transmiten paquetes hacia el destino. Estos elementos, son configurados por los controladores a través de una interface abierta. Es decir, SDN desacopla la capa de control de la capa de datos permitiendo que los elementos de red puedan ser programados y re-configurados independiente del tipo de red. Aún cuando SDN es reciente, este ha sido estandarizado e implementado por diferentes compañías (ej. Google). Sin embargo, hay varios desafios por resolver en SDN aún. Algunos de estos desafios están relacionados con: i) la escalabilidad de los controladores, como estos están centralizados, ii) la robustez de la capa de control, dado que un fallo en esta puede dejar los elementos de red sin conexión con el controlador, iii) la consistencia de la información de control, para evitar tomar decisiones que afecten la operación de la red, y finalmente iv) la seguridad. En esta tesis, los primeros tres desafios son tratados desde el punto de vista de la localización de los controladores en la red, los cuales son seleccionados teniendo en cuenta los requerimientos de los servicios/aplicaciones y las características de la red. La primera contribución de esta tesis es un algoritmo que selecciona el número de controladores y su localización en la red. Un parámetro de robustez que permite seleccionar los controladores desde los cuales se construye una capa de control robusta y también puede medir la robustez de cualquier capa de control, es definida. Finalmente, un protocolo que descubre la topología y características de cualquier red es propuesto y evaluado