Nov 2, 1997 - Traders interact with each other to make sure that requests for applications ..... We do not risk rejecting half a request for a complete service (for ...
Stochastic Optimization Models for Distributed Communications Networks Asgeir Tomasgard, Shane Dye, Stein W. Wallace Norwegian University of Science and Technology Jan A. Audestad, Telenor Leen Stougie, University of Amsterdam Maarten H. van der Vlerk, University of Groningen 11.02.97 Abstract
The purpose of this paper is to formally describe new optimization models for distributed telecommunication networks. Modern distributed networks put more focus on the processing of information and less on the actual transportation of data, than we are traditionally used to in telecommunications. This paper introduces new models for decision support at operational, tactical and strategic levels to help deal with this change of focus. This is done by rst de ning the technological framework we are working within. Afterwards we look at the dierent types of uncertainty and decisions we need to model. We treat uncertainty and decision-making in the setting of stochastic integer programming to describe a set of new optimization models for distributed networks.
Keywords: distributed networks, telecommunication, services, stochastic programming,
stochastic integer programming, stochastic modelling, optimization.
1 Introduction New possibilities for providing services in distributed telecommunication networks have appeared as a consequence of technological developments like: digital technology, modern
Work partially funded by Telenor
1
packet switched high speed networks, architectures like ATM [8, 28] and standardization of software, equipment, and interfaces between the `objects' present in the network. A reference on the technological aspects of distributed networks is [24]. However, this reference is neither telecommunications nor optimization oriented. An example of an initiative for de ning a future distributed telecommunications standard is the Telecommunications Information Networking Architecture Consortium (TINA-C)[6, 30]. The new technological aspects have not only introduced new possibilities in telecommunication but, along with deregulation and introduction of free competition, they have contributed to a change in the rules of the game for the telecommunications industry. Competition has become harder, new players enter the scene and the roles of old players change. The main dierences between new distributed telecommunications networks and traditional centralized telecommunication networks are the enormous number of services that can be provided, increased exibility, and a shift of focus from transportation of information between network nodes to processing which takes place at the nodes. A large number of optimization models with applications within telecommunications exists. References [15, 16, 29] give an overview on what has been done in the area. The main focus of these is put on the underlying transportation of data and general transportation services. There are also papers dealing with aspects of speci c new services introduced into modern telecommunications networks, like video on demand [1, 5]. These two references focus on the allocation of channel capacity to users. The theory of queuing networks has been applied to transportation aspects of communications networks, see for example [25]. Then some stochastic programming approaches exist [13, 33]. Robustness and reliable routing are discussed in for example [14]. A common feature of all cases above is that the main focus is on transportation of data, and on resources related to transportation. In fact, we are not aware of any literature dealing with optimization models for distributed networks, where the focus on distribution aspects and the services' use of processing capacity at the network nodes. Distributed technology creates a need for optimization models at a higher layer in the communications network. The purpose of this article is to present examples of such models both at strategic, tactical and operational levels. Emphasis is placed on discussing dierent assumptions and the eect on the models. Focus is on services and their processing of information at intelligent nodes, rather than transportation and routing of information. This is done in the framework of stochastic programming [18] and stochastic integer programming [35]. Section 2 de nes the necessary technological terms and the framework we operate within. Then we look at services, competition, decisions and uncertainty in Section 3. At the operational level consideration is given to the problem of how to utilize network resources in order to meet the demand both now and in the near future (Section 4). At the strategic level we look at the problem of investing in computers and transmission links in the distributed network (Section 5), and at the tactical/strategic level, we treat the question of where to place computer resources in a region of the distributed network (Section 6). We also present a model for investigating investment in future services (Section 7). 2
1.1 Notation
We will here introduce some notation used in the rest of the paper. First of all we denote the n-dimensional vector space of non-negative real numbers for R . Similarly the the n-dimensional vector space of non-negative integers is Z , and for binaries B . Stochastic parameters are always denoted by Greek letters accented with a tilde, e.g. ~, whereas is a realization of the same stochastic parameter. n
+
n
+
n
2 The technological framework Since aspects of distribution are crucial to the optimization models that follow in later sections, we will brie y describe a telecommunications model of the distributed framework within which we study dynamic decision-making under uncertainty. Several standardization initiatives for distributed telecommunications architectures and concepts are presently in progress. One of these is the Telecommunications Information Networking Architecture Consortium (TINA-C) scheduled to be completed in 1997. The goal for TINA-C is to specify the requirements for the infrastructure in which services can be developed, provided, tested and managed. This section is based on the TINA-C documentation for which [27, 7, 3] are introductions. The basis for parts of TINA-C has been the Information Networking Architecture (INA) of Bellcore[31, 2].
2.1 From transportation to processing
While traditional telecommunication networks have been more concerned with the transportation of information, newer distributed networks also put a focus on providing services which process information. A modern distributed telecommunications network has an underlying traditional transportation network, with nodes capable of routing and switching data. Services capable of processing information are oered through computers as instances of software running on these computers. Here the term service is used to encompass a set of software applications, together with the set of resources required for processing, interconnection in order to make the software cooperate in the desired manner, and the passing of information between the users of the service. Typical examples of resources are: switches, servers, transmission options, routers, and computers. The important characteristics of a service come from the resources it uses. While traditional services tend to use more of the resources in the transportation network, we believe that the growth will come from those requiring resources in the computers running the applications used by the services. The limiting resources in the computers providing the services, may, for example, be the processing capacity or memory space of the computers. If we are short of resources, this means that we are not able to oer some of the requested services. In the transportation network we typically have routing, switching and link capacities as the limiting resources, with time delay and loss of service as the consequences 3
of network congestion.
2.2 A distributed network model
We may model the relationship between the transportation network, the computing nodes with node resources and the applications used to build services as shown in Figure 1. The model consists of three planes. In the upper plane we have the set of interacting applications which form a virtually interconnected structure. In the bottom plane we have a set of interconnected networks describing the physical connectivity between the applications. The computing nodes where the applications reside, can be seen as the \glue" which binds the distributed application architecture and the network architecture together. Because of the underlying networks, we have virtual all-to-all links on the computational nodes plane. Note that the mappings between the three planes may be many-to-many mappings, i.e. one computing node may accommodate several applications and several identical copies of a service may reside at dierent nodes. Similarly, one computing node may be connected to several networks, and one network may accommodate several nodes. We will further assume that any application can run on any computing node, subject to the availability of resources for that application, and that applications may be moved or copied between nodes with no limitation on how often this may occur. The mapping between applications and computing nodes is therefore dynamic. In many contexts the mapping between computing nodes and the networks will be stable (apart from recon guration, introduction of new nodes, etc. which all are infrequent events). However, systems are emerging where even the mapping between nodes and networks is dynamic, for example in the form of computing nodes residing in mobile terminals or low orbit satellites. For modeling purposes we will assume in the rest of this document that the mapping between networks and computing nodes is static. The purpose of Section 4 is to present optimization models which will lead to strategies for the dynamic allocation of applications to nodes. We can then regard a set of computing nodes capable of doing processing and connected to the underlying networks in a xed manner. Then we have a set of applications which are dynamically allocated to the nodes and connected to each other as in Figure 1. This all to all connection can be regarded as virtual, since the real transportation of information is done in the underlying transportation networks. Note that the distributed network model described above is a useful model for the Internet. The upper plane corresponding to the Web; the middle plane representing the servers; and the bottom plane being the international structure of telephone and data networks.
2.3 Distribution transparencies
A set of transparencies is proposed as described in the TINA-C documentation [3], in order to formalize some of the requirements for a distributed network with respect to the ability 4
Applications
Computing nodes
Networks
Figure 1: The relationship between the transportation network, the computing nodes and service applications.
5
to adapt to changes, the availability of services and the exibility in service deployment and provision. These transparencies, together with the distributed network model we have described, constitute the basis for the optimization models that are to follow in sections 4 to 7.
Access transparency. Every application reveals a standardized interface to other
applications, independent of where cooperating applications are placed. Applications which together, constitute a service can thus be placed on dierent computers, while this does not aect the interaction between them and the access they have to each other. Location transparency. This hides the location of applications from each other. Applications can interact while their locations change over time, without the other applications noticing it. The system supports mechanisms for locating application instances, and this allows the exible placement of applications over time. Migration transparency. An extension to the access and location transparencies which allows dynamic relocation of application instances. Relocation can take place while services are interacting with each other. This transparency gives us the possibility to completely move an application while it is in use and interacting with other applications. Handover in mobile telecommunication is a typical example. The same is possible in a land based distributed network, where we then imagine that the users of a service at one node are handed over to another instance of the service at another computing node. Concurrency transparency. This transparency allows several applications to interact with the same instance of another application at the same time. The fact that other applications use the same instance is hidden. Failure transparency. This makes sure that errors generated by one replica of the application are hidden from other applications and users. Replication transparency. This hides the replication of one application to other computers from other applications. This means that it is not possible to know which instance of an application we are actually using.
2.4 Abstract infrastructure
The engineering model [17] from TINA-C is used to at an abstract level de ne the infrastructure that ensures execution of applications under the above transparencies. We give a short description of it here, because some of its objects are crucial to the validity of the models in this paper.
6
2.4.1 Dynamic Processing Environment
The engineering model is used to describe any distributed system as a set of engineering objects interacting through an abstract infrastructure, the Distributed Processing Environment (DPE). This abstract infrastructure exists on every computer in the network and provides a layer between the computer's native computing and communication environment, and the services composed of applications. In this way the services can relate to standardized interfaces and an abstract infrastructure providing the necessary transparencies. The mechanisms necessary to implement the transparencies above, are hidden in the implementation of the DPE. The infrastructure and functionality provided by the DPE is the same for all hardware platforms and all services. Independent of where services are located in the world, we can therefore assume that they have a uniform abstract processing environment and interact in accordance to the transparencies. The above description of the infrastructure implicitly assumes the existence of some engineering objects for data storage. These are described next.
2.4.2 Repositories
A repository is an engineering object in the DPE, necessary for storing dierent kinds of data. We will include a short description of three repositories here, because they justify the validity of the transparencies above, and facilitate understanding of the models that follow later.
The speci cation repository contains templates for services and interfaces and iden-
ti es the relationships between them. A trader is a repository which contains information about available interfaces and application instances. Each trader has a domain where it is working and a domain can have several traders. Traders interact with each other to make sure that requests for applications can be met independently of where both the application instances and the users reside. Similarly they ensure that the applications communicate with the correct interfaces. Hence the traders make it possible to assume that our applications can interact together to make a complete service, without knowing each others location or physical hardware platform. A relocator keeps track of objects which move while processing. In addition it provides information for the trader, that is necessary to nd the requested objects, or alternatively, replicas of it. Other possible tasks performed by the relocator are registering the load and performance of application instances.
2.5 Roles
We will identify some of the roles of agents that are found in a distributed network. We only include the roles that have an impact on the models addressed in this paper. 7
2.5.1 Customers
The customers are people or software requesting services. New market segments open as service providers are able to oer services that do not exist today. The identity of these customers, which services they desire, and their demand for the services are uncertain factors. The capabilities of the new distributed networks together with deregulation suggests that not only will the customers be dierent from traditional telecom users but the telecom operator's eld of operation can both be smaller or larger than today. In one extreme case a service provider can have one company as his customer base, in another case the whole world may be the market place.
2.5.2 Service providers
In a modern distributed network there are more actors than we have been facing in traditional telecommunications. Providing a service can in general be done by anyone who has a PC connected to a network. We can therefore assume that the number of service providers will be large and that the dierences between traditional software providers and providers of telecommunications services will be blurred and probably disappear.
2.5.3 Network providers
A network provider, in our context, provides computers that are able to run applications, thereby acting as a host for the service provider, and/or a transportation network with routing and switching capabilities. As the above description indicates, it is also clear that because any owner of a computer is the owner of a node capable of providing services, the number of providers may also become very large. The number of network providers will decrease as we move from smaller local networks to high capacity transportation links between cities or countries, due to investment costs and the increase in technological complexity such networks introduce. Still the fall of monopolies and deregulation all over the world opens the possibility of many network providers operating in the same market. It is here important to note that a network provider does not necessarily act as a service provider, and the service providers do not necessarily own any of the processing or transmission equipment they use.
3 Modeling framework In our mathematical models we need to make some assumptions about the characteristics of services and the markets we operate in. Before we start presenting models we would also like to describe the decisions we try to incorporate in the dierent models and the uncertainty that should be treated. This is the purpose of this section, which together with the preceding one, de ne the framework within which we operate.
8
3.1 Services
3.1.1 Services and subservices
A service has already been de ned as a set of applications and their required resources. For the purpose of modelling, we now de ne a subservice to be a collection of applications that always run on the same computing node. In our models we can therefore assume that a subservice is a cluster, in view of the TINA-C engineering model. A subservice can hence be regarded the smallest engineering object we consider for which the distribution transparencies are valid. The other engineering objects included in our models are computers running a DPE, known as the (computing) nodes, and (complete) services, composed of subservices. The services provided in the virtual network are thus built up of several subservices. All subservices may not necessarily be able to run at all nodes, but we assume that all subservices are available for installment at all nodes. If the node has the necessary capability to run the subservice and a decision is made to make it available at the node, the subservice cannot usually be used to meet the demand immediately. There is a setup time in which the subservice can be collected from a database, loaded into the memory and initialized, before it can be used to serve requests. This means that there is a need for a speci cation repository as de ned earlier.
3.1.2 Service resource needs
The use of the limited resources in the network of computers is described by the complete use of resources by services through the subservices they are composed of. For a given service we have an estimate of demand, the number of customer requests for the service at the dierent nodes in the virtual network. For any request for a service, its use of subservices determines the demand this generates for the node resources. Note that the resource requirement for a given subservice depends on which service is using it. When a subservice is installed at a node, we assume there is no limit on the number of requests that can be served by it, but the node capacity. In this paper we assume that the resource use of a subservice increases linearly with the number of services using it at the same time. In addition the subservice uses a xed amount of the node resources whenever it is installed on the node, even when it is not satisfying a single request. This is a xed resource use induced by having the software installed and ready to meet requests in real time. Also note that there may be a delay from the time the service provider decides to shut down a subservice and the time the xed resource use is released.
3.2 Competition
Some reasonable assumptions can be made about the markets facing the service and network providers. First of all, the described network does not motivate customers to have any preference in choosing between service providers and network providers, other than 9
those emerging from competitive dierences like: quality of service (e.g. sound and image quality, time delay, and reliability) and price. Customers may be willing to accept a dierent quality of service, for example a time delay, if the price is lower or other aspects of the service are better tted to the customers needs. Of course, it is possible that physical location in uences the quality of service, so that it indirectly in uences the customers preferences. The physical location of network and service providers is not important directly, only the competitive dierences. We then have markets for services which, in theory, are world-wide and have the mechanisms necessary for extreme competitiveness, like dynamic pricing, tailored services and distribution transparencies. Because of deregulation we have large markets where the trading of services and capacity of links and computers is possible. This also means we have an environment which is very exible and open for economy of scale advantages and cooperation. In market segments where the technological complexity rises, the number of actors will probably decrease. Still, the technological complexity invites cooperation and world-wide alliances, which again opens the way for world-wide marketing of services. Very likely, cooperation and international introduction of services will be a requirement for making money as a major actor in future telecom markets. More importantly for our models is that this possibility is present and likely to matter.
3.3 Decisions
In this paper we will focus on several types of decisions and models to support them. The time frames of the decisions are from long term strategic investment decisions to short term operations, in our case arrangement of services on computers. The main decisions addressed are:
Service provision. A service provider typically (but not always) possesses one or more
computers where he can oer services. If there is a time delay between the point in time where he decides to oer a service and the time when it becomes available, he has to allocate resources to the subservices without full knowledge of demand for the services. In some cases this may mean that he can not oer his full set of services at all times because the node resources he possesses are limited. Investment in links. Traditionally, to decide the size of links and their future transportation capabilities, has been a crucial decision to make for a network provider. This will still be the case. Node investments. Clearly if a network provider wants to oer an environment for running services, he also needs to invest in nodes capable of running software. An important decision is how large and how many nodes to buy. Node location. Assume that a network provider knows the total capacity of the computers he is to install in a region. He has to choose between sites with dierent locations and dierent computer sizes to distribute this capacity in the region. This 10
must be done to maximize his pro t when meeting demand for services later, also considering the investment costs. Service development. If we assume that there is a set of 100 subservices available from which we can produce services, it is immediately clear that the number of combinations far exceeds the number of molecules in the universe (You can use the same subservice several times!). From this set of services a service provider wants to nd the ones that he, or somebody else, can create demand for. The provider has to choose which services to develop, constrained by his resources and motivated by his believes.
3.4 Uncertainty
We can think of several kinds of uncertain factors that in uence the decisions above. Detailed description of these parameters is delayed until the discussion of the respective models, but a discussion of dierent classes of uncertain parameters are introduced here.
3.4.1 Market uncertainty
We have to consider long term uncertainty in demand for services and transmission capacity. These are typically uncertain parameters that are important for strategic and tactical planning models. The demand is uncertain because we do not know ahead of time which services will exist, which services will be demanded, and how large this demand will be. Also the services' needs for resources are uncertain. When studying short term demand, it is important to de ne the time frame in which we operate. It is plausible that there will be large uctuations during the day, or even within hours, of these parameters. One can easily imagine cases where choosing too long time periods means that the measured demand seems almost the same in every time period. It is also easy to imagine that making the time period shorter, we will capture the peaks and low demand periods for services. When trying to model this short-term uncertain demand it is crucial to choose a time period short enough to be able to capture these uctuations, but not so short that all patterns in demand for services disappear. Also one needs to take into account the ability to react to uncertainty on the chosen time scale. In short term demand we must also dierentiate between the future demand for resources from requests already accepted, and that of new incoming requests. Closely related to demand for services is the short and long term demand for node resources. In the short term the demand is uncertain both because we do not know for sure which services create the demand and because the amount of resource needed by a service can vary from request to request. In the long term we additionally do not know what resource requirements newly developed services will have.
11
3.4.2 Price uncertainty
It is clear that the distributed network we have described above opens the way for many possibilities when it comes to dynamic pricing of services in the short term. This does not mean that the service and network providers are free to x the prices as they want (at least not if they want demand for their products). In a competitive market with rational customers, the price of a service or resource must be related to the demand, the quality of services provided and other providers' prices. Prices can be set by the providers at short notice and can clearly be regarded as uncertain if dynamic pricing mechanisms are applied.
3.4.3 Technology related uncertainty
We have already mentioned that uncertain demand for services can imply that we develop a service for which no demand exist. It is also reasonable that technology restricts what services we are able to develop. There may be services for which there would be demand and which we plan to develop, but technological factors make it impossible or dicult. In any case we can say that the development time, and hence the cost, of developing new technologies is uncertain. This is true for both services, and node or transmission capabilities. Also in cases where one has to choose between dierent technologies, it can turn out when uncertainty resolves itself that one of them was a better choice than the other. Which one this is can be at least partially independent of which technology the decision makers went for. We only consider technological uncertainty to a small extent in this paper.
3.4.4 Political uncertainty
Today it seems like most governments and countries are deregulating their telecommunications and software industries. Still, restrictions imposed by political actors can be very important for the characteristics of the markets service providers and network providers face. We will not consider political uncertainty in this paper.
12
4 Service provision
4.1 The problem
In general, the service provider has a set of computers available where he can install subservices. He also faces demand for the subservices. This demand is spread all over the area he is operating in. The problem we want to describe here is how to dynamically allocate subservices to computing nodes. This is done to best utilize the resources the service provider has available in order to meet demand for his services. Recall that making a service available also eats some of the total capacity of the node. Putting up too many services at a node means there will be no capacity left to serve the demand for them. Putting up too few may mean we have the capacity to serve demand, but not the ability. In the following, we will assume that processing capacity is the limited resource. We can imagine that in most situations it is possible to provide all services for which there are demand. Otherwise, we are facing an investment problem rather than a service provision problem. In some cases, though, it is reasonable to believe that there is more demand than the provider is able to serve with his present processing resources. Here it is important to remember that the service provider does not necessarily own his computing resources, but may hire them from a separate network provider.
4.2 Modeling issues
4.2.1 Interaction between computer owner and the service provider
The information the service provider has about the network providers' resources is important for several aspects of the service providers' problem. We have identi ed three dierent situations: 1. Full knowledge. The service provider is the network provider. In this case the service provider knows the exact size of the computers that are available and can use this as the basis for his deployment of services. 2. Partial knowledge. The service provider gets an upper bound of resource usage on a set of computers that is guaranteed to be available to him. He can utilize these resources as he wants, without knowing the physical location of the computers. 3. No knowledge. The service provider is given a total upper bound for resource usage. For planning purposes, he can assume that all of this space is on a single computer. In terms of the transparencies from Section2.3, the situation where the service provider has no knowledge about where subservice instances are running, or if they are running only at one place, requires a very strict implementation of access, migration and location transparencies in the system. For modelling purposes, the two rst situations can sometimes be regarded as being the same. 13
4.2.2 Location of demand and transparencies
The distribution transparencies from Section 2.3 indicate that the location of the subservice instances used to meet requests is not important from the point of view of the interacting subservices. The transparencies state that the subservice instances cannot necessarily tell and do not need to know the whereabouts of interacting objects. As far as customers are concerned, they have no preferences when it comes to the service instances they use, but only to the quality of the service. The distribution transparencies hence give rise to a lot of exibility when it comes to allocating resources in the network, and are crucial to the problem described in this section. The location of subservices does clearly matter when information generated or processed by services is to be transported in the underlying transportation networks. It is exactly in this transportation phase that one of the most important sources for low quality of service is hidden: namely time delay as a consequence of congested networks. We assume that all nodes have the same capability of running all services. The quality of service may then not be aected by other properties of the nodes at the dierent locations. It is natural to assume, though, that the network provider can interact with the service provider to deploy the service to a node nearby the customers, in order to reduce the overhead from the transportation of data. The important question is then if in this setting, it is sensible to integrate into our decision models representation of the actual underlying cooperation and the information ows that depend on the allocation of services to the nodes. Even if the inclusion of information ows in service provision models, may at rst sight, seem useful and necessary for decisions concerning the allocation of services, there are several reasons why the opposite may be true. Firstly, in cases where the service provider is not the network provider, an agent oering services does not know the physical location of his own subservices, because of migration and replication transparencies. It is also reasonable to believe that service providers, who rent computer capacity from network providers, can use this capacity to set up any service they like. Network providers responsible for the transportation network therefore cannot necessarily control which services are running at which locations. Secondly, a service provider cannot in general control the location of all of the users or even subservices of his service because this information can be hidden by the transparencies and the use of traders. In many cases this makes it impossible for the service provider to dynamically predict the information ows. For example, users can be moving while using subservices, without the service provider knowing it. Thirdly, we have indicated that there is a shift in focus, where services go from being mainly transportation oriented to being processing oriented. We have assumed that the processing capacity at the nodes is the limiting resource, not the transportation capacities of the networks connecting the nodes. One of the main purposes of the repositories is that the traders and relocators are used to locate service instances, so that the quality of service is secured. It can also be advantageous to assume that traders, service providers, and network providers interact in such a way so as to meet the demand for services as close to the location of the demand as 14
possible. This is particularly the case when transportation capacity is the limiting resource. In view of the discussion above, however, this should not be a general requirement as this will reduce the exibility that the transparencies allow when it comes to dynamically utilizing processing resources at the nodes in the best way. This contradicts one of the transparencies' main purposes, namely ensuring exibility in resource allocation, and it is precisely processing capacity that is the limited resource. Under the fundamental assumptions that we have a global distributed network where distribution transparencies are valid, and processing capacity is the limited resource, we have the following strict interpretation of the eect of distribution transparencies on resource allocation at an operational level: Demand for processing capacity can be served at any node independent of the location of demand, without reducing quality of service. Based on the above discussion, this would imply the following underlying assumption: We assume that the underlying transportation networks have enough capacity and good enough routing schemes to keep the time delay down on transportation of generated information, independent of the allocation of requests for subservices to nodes in the global network.
It is easy to imagine that the strict interpretation we gave above can create situations which appear peculiar. For example a typical service request can include two customers and a particular subservice instance. Assume the customers are located in Amsterdam and London. The service they request is placed in Oslo. If the service is mainly transportation of information which is not processed, we can assume that most information is routed in the backbone network in the best possible way, without having to pass Oslo. The services that are likely to create strange information ows are the ones that have both a lot of information transported and also processing of the information. The links between the included cities must then be of such capacity that the transportation of information through Oslo does not diminish the quality of service. If this assumption is not valid, the strict interpretation of the eect of the transparencies has to be reconsidered. A mild version of the previous assumption can also be presented : In regions of the network, the demand for processing capacity can be served at any node in the region independent of the location of demand, without reducing the quality of service. with the corresponding underlying link capacity assumption: We assume that within regions of the global network, the transportation networks have enough capacity and good enough routing schemes to keep the time delay down on transportation of generated information, independent of the allocation of requests for subservices to nodes. 15
It is important to note that the size of the bounded regions above does not depend on physical distance, but rather the underlying transportation networks of the network providers in question and their alliances. Also note that the regions do not overlap. If this was the case it would be reasonable to regard two overlapping regions as one. We notice that under the rst assumption, we only have one such region, namely the whole world. A discussion about which interpretation of the eect of transparencies and corresponding capacity assumption is the best, can only be speculative. In any case, if we believe that the processing capacity at the nodes is the limiting resource, at least the weak interpretation is necessary to fully utilize the possibilities created by the distributed environment for dynamic resource allocation. We will not go into a philosophical discussion here. In our opinion one should consider both possibilities in models, and the dierence in solutions between such models will also be important for actual decision making when it comes to deciding the capacity of links and nodes. The main eect on modelling and resource allocation from not having to be concerned about the location of service instances relative to the location of demand, is that both the customer and the service provider are indierent to which node meets the demand for a particular request. We do not have to model any information ows generated by a request, but only the demand for the services. The actual locations of customers are thus irrelevant to the problem of allocating node resources. This means that the demand for services can be aggregated both over the customers and all the locations in at least a region in the network providing the service.
4.3 Uncertainty
We have mentioned before that one of the main advantages oered by the distribution transparencies is the possibility of dynamically changing the resource allocation. This ability to change is even more important when we try to consider uncertainty of demand in our models. Demand is clearly completely inherent in the service provision problem, both in demand and in prices for subservices and rejections. In the treatment of uncertainty here and in the rest of the paper, we use terminology from stochastic programming (see for example [18]). The demand for processing capacity is generated by the demand for complete services. When we map demand from complete services to subservices, we do this by using an estimate of the number of units of processing capacity generated by the service through use of the subservice. The uncertain demand for the resource can then be interpreted in at least three ways: A probability distribution for the demand for services is mapped to probability distributions for the use of resources by the subservices. This is done using the average resource requirement generated through the service's use of the subservices. Deterministic demand for services is mapped to a distribution for resource use, where the resource requirement generated from the services' use of the dierent subservices is uncertain. 16
A combination of the two preceding possibilities: a distribution for the services de-
mand is mapped to a probability distribution for resource use through probability distributions for the use of subservices.
The main point is that the distribution of resource use is generated from the estimate of future demand for complete services and their use of resources using the subservices they are composed of. The time frame of this model could be from milliseconds to minutes, depending on the lead time for setting up services and the duration of demand uctuations. We assume that the uncertain parameters are not known when decisions concerning which services to provide at which nodes are taken, but the uncertainty resolves itself during this lead time. When the services are available to meet the demand, we know the values of all uncertain parameters, in particular, we know the demand. The state of the system of computers running services can be described by the current demand for the resource, a list of the running subservices, and a probability distribution of resource use generated by the dierent subservices at some future point in time. With respect to the demand distributions for complete services, we can make some very useful assumptions. First of all, in most system states the demand distributions imply that there will be no trouble meeting demand. Otherwise, the investment problem is not properly solved. We are not interested in these cases. Instead, we are more interested in cases where there is going to be so much demand for the limited resource that careful planning is necessary to avoid rejections. Such a situation arises when there is an unexpected peak in demand for a service or subservice. Secondly, we assume that only one of the services can peak at any time. This means that in our distributions for the subservice resource use in the next period, we can assume that at most one of the services peaks, or alternatively, that very few of the subservices will be aected by the peak. The conditional probability distribution concerning which service, if any, is going to peak in the next time period is based on the system state at the moment, and in particular on the observed trac patterns. In the case of discrete distributions, described for example in terms of scenarios, the above discussion indicates that the individual scenarios typically only show peaks in a few of the subservices, depending on which service peaks in that scenario. Some of the subservices may peak in all the scenarios, but some of them will also only be signi cantly aected if one speci c service peaks. So, in general, our distribution is such that the dierences between scenarios can be large. If not, uncertainty would probably not be important.
4.4 Rejection of customers
It is easy to imagine scenarios where the node capacities are too small for the entire demand to be met. This is especially in the case of stochastic demand, but can even occur in the case where the demand is known. In such scenarios we have to allow for some of the customers being rejected. By rejection we mean that the service provider will not meet a 17
request for a service or subservice himself. In practice this means that the customer will have to nd another service provider, or that the service provider or a trader performs this task for him. The last option is more likely to appear when a subservice is rejected that is only part of a complete service that the service provider wants to oer. In any case there is a cost connected to rejections. In a competitive market we can always assume this cost to be the market price for the rejected subservice. This should be the same for all subservices of equal quality, even for dierent providers.
4.5 Service arrangement models
The models in this section are either deterministic or two-stage stochastic decision models [18]. Some of them can naturally be extended to multistage stochastic models. Such formulations are not given here, but we indicate when and where it would be natural to extend the models to multiple stages. In the following we give examples of how to model decisions concerning subservices, complete services, and rejections. We also give examples of all of the three dierent cases of relationships between network and service providers described in section 4.2.1. The models given here assume that the resource allocation can be performed for all nodes and all services in every period. We also assume that there is a lead time for putting down subservices. The model in Section 4.6 take a slightly different approach, assuming that we plan only for new requests and where there is no lead time for putting down subservices. Together these sections show how dierent assumptions in uence the problem. A common feature of all of the models in this section is that we have a set of subservices, each with a given demand for the limited resource, and a set of supply nodes, each with a given capacity of the limited resource. When we allocate an instance of a given subservice to a node, we make the subservice available for customers at the cost of using some of the node's processing capacity. The rest-capacity after subservices are installed, is used to meet demand for processing capacity as generated by demand for the installed subservices.
4.5.1 S1: Subservice arrangement|no rejections-deterministic demand
Let us rst describe a static model assuming deterministic demand and no lead time for installing subservices. Here we assume case 1 of Section 4.2.1: full knowledge about where subservices are running. In this model, we also cover case 2: where we have a xed, but unknown, set of computers on which we can put subservices. In addition we assume that the available amount of the limited resource is large enough to accommodate the requests for all customers, given correct con guration. Complete services are only implicitly included in the model through the resource use of the required subservices. Such an approach is feasible, given the latter assumption that we do not have to reject any customer request. We do not risk rejecting half a request for a complete service (for example sound but not picture in video on demand). Let I be the set of computing (supply) nodes and J the set of subservices (demand nodes). If necessary we use I and J as their cardinality. The zero-one variable z(i; j ) 18
indicates whether or not node i contains subservice j . The capacity reduction associated with installing this service is denoted r(i; j ) and we assume it is in Z . In many cases it is natural to think that the xed resource use is independent of the node so that r(i; j ) = r(j ). The integer variable x(i; j ) denotes the amount of demand for the resource generated by service j and met at node i. The capacity of the resource at node i is s(i) 2 Z . The demand for the limited resource generated by subservice j is (j ), where we assume (j ) 2 Z . We rst assume that all parameters de ned above are deterministic. When we require that all demands must be met, the main objective is to nd a feasible solution. This can be modelled as a linear mixed-integer programming problem (MIP) [26]. The feasible region of the deterministic subservice provision problem without rejections is then: 1 +
1 +
1 +
X r(i; j )z(i; j ) + X x(i; j ) 2J 2J X x(i; j )
j
j
Mz (i; j ) ?
2I
s(i);
i 2 I;
=
(j );
j 2 J;
x(i; j ) 0; 1 z (i; j ) 2 B ;x(i; j ) 2 Z+1 ; i
(i; j ) 2 I J; (i; j ) 2 I J :
The constant M (i; j ) = minfs(i) ? r(i; j ); d(j )g. The rst two sets of constraints correspond to classical transportation network constraints with the addition of the supply capacity reduction. The third set of constraints ensures that a processing capacity at a node cannot be used to meet demand for a subservice, unless the subservice is installed there. Integrality requirements on the x variables can be dropped due to the fact that the right-hand side is integer and the constraint matrix is totally unimodular [32] when the z variables are xed. This network is called a Transportation Network with Supply Eating Arcs (TSEA) [10]. We do not give a stochastic version of this model because the following model is strongly related to it, but more relevant. It is interesting to note that the deterministic feasibility problem of TSEA is NP { complete in the strong sense [10]. In this reference an algorithm is also presented to solve the TSEA feasibility problem when r(i; j ) = r(j ).
4.5.2 S2: Subservice arrangement|with rejections
The second model we present is based on the rst one, and still treat demand for subservices as aggregated. In contrast to the previous model we now allow rejection of subservices. This creates some modelling problems since there is no connection in the model to the demand-generating complete services. Therefore we risk rejecting only a part of a complete service for several requests, instead of rejecting entire requests for complete services, as would be natural. To avoid this risk, we have to make some assumptions. In view of the distribution transparencies and DPE functionality described earlier, it will be reasonable to assume that traders will be able to perform the task of identifying other instances of the subservice that the service provider is not able to oer, but which can be used by the set of complete services he wants to present to his customers. In short, a request to the 19
trader repository will normally be to ask it to locate a subservice instance owned by him. In cases where this is not possible, the request becomes that of nding this subservice with another service provider. One way of interpreting the above is that the trader is able nd subservices provided by other service providers when our provider partially rejects services. The cost of getting these subservices should be included in the rejection cost. An alternative interpretation of rejection, not excluding the one given above, is that subservices that are rejected are either hired from other providers, or served in another region of our provider's operating area. The rejection cost can then be interpreted as the cost of getting the subservice elsewhere. In the static deterministic case the dierence from the model in Section 4.5.1 and the current one is only that we relax the demand constraint by introducing a slack variable t(j ) for every subservice j . This can be interpreted as the rejections. We also let (j ) be the cost of rejecting demand created by subservice j (note that an alternative interpretation is to let represent the dierence between the price the service provider has to pay to a competitor and the price he obtains from selling the subservice on the market). If all (j ) are set to 1, the objective will be to minimize the number of rejected requests for the resource. The deterministic model may be formulated as: X (j )t(j ) Minimize j
s.t.
2J
X r(i; j )z(i; j ) + X x(i; j ) 2J X 2J x(i; j ) + t(j ) =
j
j
2I
s(i);
i 2 I;
(j );
j 2 J;
Mz (i; j ) ? x(i; j ) 0; (i; j ) 2 I J; 1 1 (i; j ) 2 I J: z (i; j ) 2 B ; t(j ); x(i; j ) 2 R+ ; The rejection variable t(j ) can be eliminated from the formulation but is included here i
for the sake of clarity. For this formulation of the problem a large class of facets is known [9]. In the following, we assume that there is a setup time for a subservice in which it uses the xed capacity requirement, but cannot serve requests. Also when the service provider decides to shut down a subservice, there is a delay before the xed resource use is released. This capacity thus cannot be immediately used to meet demand for other subservices. Let us treat this as a dynamic decision process with two stages and uncertain demand. In the rst stage we decide which subservices to oer, given uncertain demand. In the second stage uncertainty has resolved, and the subservices we installed are available to meet demand. Here we give an example of a two-stage formulation of the stochastic service provision problem where also the price ~ is uncertain. Note that the rejection variable t(j ) is eliminated from the formulation. Minimize Q(z ) X s:t: r(i; j )z (i; j ) s(i); i 2 I; 2J z (i; j ) 2 B ; (i; j ) 2 I J ; j
1
20
where
Q(z ) = E [q (z )]
where the expectation is taken over the stochastic parameters ~ and ~, and q (z ) = min
X (j )[(j ) ? X x(i; j )]
j
s.t.
X x(i; j ) 2J
s(i) ?
2J
+
2I
i
X r(i; j )z(i; j ) = s(i); z
2J
i 2 I;
(i; j ) 2 I J ; (i; j ) 2 I J : The second stage problem is a particularly simple bipartite transportation problem with cost coecients only on the arcs used to reject demand. The structure of the objective function can be utilized when solving the model, for example as in [34]. The rst stage is a binary knapsack problem with several independent knapsacks. One should also note that the rst-stage constraints are redundant, since they are represented in a stronger form in the second stage. On the other hand, since the rststage constraints imply s(i) 0 8i 2 I , this can be regarded as a stochastic integer programming model with relatively complete continuous recourse (see for example [18, 35]). j
x(i; j ) Mz (i; j ); x(i; j ) 2 R1+ ; j
z
4.5.3 S3: Subservices: one supply node|rejections
Now assume that the service provider sees only one supply node. This is the case if service providers have no knowledge of the network, as described in case 3 in Section 4.2.1. We can here imagine that in some cases, the service provider actually has one physical location available where he can put his services. This is in general not the case though. The models usefulness comes from another consideration. We can imagine that, in some cases, the network provider who owns the computers on which the subservices are running, is free to replicate and migrate the subservice instances running on his infrastructure. In hiding the complete infrastructure from the service provider, just letting him see it as one node, he is completely free to utilize his resources. Even though the service provider thinks he runs exactly one instance of his subservices, he may in reality run several, and the number and locations may vary over time. The migration and replication is then a choice made by the network provider. The extra induced costs this implies when it comes to xed resource use, is hidden in this case from the service provider by migration and replication transparencies. Still it is reasonable to believe that the service provider should consider the original xed resource use connected to oering the service, but only induced once. Alternatively, we can assume that the network provider is free to replicate and migrate instances, and that the service provider pays for all xed resource use. In the rst approach the network provider gets a lot of exibility when it comes to utilizing his resources, by letting the service provider think he has one node available. The price he pays is to cover 21
the cost of replication and migration himself. In the second case the network provider gets the same advantages and the service provider pays. We only model the rst case here. Note that the network providers problem, including replications and migrations, can be considered equal to the case where rejections are not allowed, as in model S1. Assume again that the trader can make sure that when we partially reject complete services, another provider's service is used, and the cost of this is properly described in the rejection cost. This is the same model as the one in Section 4.5.2 with I = 1. The static deterministic model can be written: Minimize
X (j )t(j )
j
s.t.
2J
X r(j )z(j ) + X x(j ) j
2J
j
2J
s;
x(j ) + t(j ) = (j ); Mz (j ) ? x(j ) 0; 1 z (j ) 2 B ;t(j ); x(j ) 2 R1+ ;
j 2 J; j 2 J; j 2 J;
where the notation is the same as in the previous model, except that the i index is dropped. We refer to the previous model for the two-stage stochastic model. Note that the solution to the second stage problem can now be found by inspection [34].
4.5.4 S4: Arrangement of complete services|with rejection
Here we assume case 1 of Section 4.2.1: full knowledge about where subservices are running. In contrast to the preceding sections, here we treat complete services as well as subservices. This means that when we reject a request, we reject the whole request, and not only some of the subservices used in the request, as done earlier. This can be desirable if the service provider wants to oer the complete service by using his own subservices, or otherwise reject the request, or it may be the case that the service provider is the sole provider of all/some of his subservices. In the case where there are no customer rejections model S1 suces. Let K be the set of (complete) services and the cardinality of the set K . The usage of the limited resource is still connected to the usage of subservices. Denote demand for ~ k). For each request for a service, we need to know the number of resource service k, ( units the use of dierent subservices will generate. Let ~(k; j ) be this random number of resource units a request for service k will use through subservice j . Let y(k) be the number of rejected resource units for service k, and ~ (k) the cost of this rejection. Note that this cost is per resource unit, not per request. If we assume all parameters to be deterministic, the model may be formulated as: Minimize
X (k)y(k)
k
2K
22
s.t.
X r(i; j )z(i; j ) + 2J X x(i; j ) +
j
X x(i; j )
s(i);
X (k; j )y(k) j
2J
= (j ) = 2I 2K Mz (i; j ) ? x(i; j ) 0; y (k ) (k ); z (i; j ) 2 B ;y (k ) 2 Z ; x(i; j ) 2 R ;
i
k
1
1 +
X (k; j )(k); k
2K
i 2 I; j 2 J;
(i; j ) 2 I J;
k 2 K; (i; j ) 2 I J; k 2 K:
1 +
The dierence from earlier models is in the second constraint where we specify the rejection of requests for resources to given services. We do not give the two-stage stochastic model of this problem here. The second stage problem would be a general mixed integer program [26] and the rst stage corresponds to that of the earlier models.
4.5.5 S5: Complete services: one supply node|rejections
Here, we describe the previous model under the alternative assumption of case 3 of Section 4.2.1. This gives us a model with only one supply node. The deterministic model is the same as the preceding one with I = 1. We use the same notation, without the i index. It is possible to eliminate x from the formulation and rewrite it as: Minimize
X (k)y(k)
k
s.t.
2K
X r(j )z(j ) ? X X (k; j )y(k) s ? X (j ); 2J 2J X 2K 2J Mz (j ) + (k; j )y (k ) (j );
j
j
k
j
2K
j 2 J;
y (k ) (k ); k 2 K; 1 j 2 J ; k 2 K: z (j ) 2 B ; y (j ) 2 Z+ ; De ne the variable v(k) = (k) ? y(k), that is the demand generated by service k that k
1
the service provider wish to meet. We now give the stochastic two-stage model in terms of this new variable: Maximize Q(z; ~ ; ~ ; 5~) s.t.
X r(i; j )z(i; j ) s(i); j
where
2J
z (i; j ) 2 B 1;
i 2 I;
(i; j ) 2 I J ;
~ ; ~ ; ~) = E [q(z; ~ ; ~ ; ~)] Q(z ; 23
and s.t.
q (z ; ; ; ) = max
X (k)v(k) k
2K
X X (k; j )v(k) s ? X r(j )z(j ) = s; 2J X 2J 2K (k; j )v (k ) Mz (j ); z
j
j
k
k
2K
v (k ) (k ); v (k ) 2 Z+1 ;
j 2 J;
k 2 K; k 2 K:
P For the second stage note that we have explicitly hP ~ left out ithe constant term ? 2K (k)(k) from the subproblem (or alternatively ?E 2K (k)(k) from the master problem) and reversed the sign of the objective function. Also if z(j ) is 0, only services k for which (k; j ) = 0, can actually be provided (that is, services not using subservice j ). Let K = fk 2 Kj(k; j ) = 0; 8j 2 J s:t: z(j ) = 0g. The services k 2 K are therefore the only ones we need to consider when solving the P subproblems. The constraint 2K v (k ) Mz (j ); j 2 J is then not necessary. If, in addition, we de ne (k) = P 2J (k; j ) 8k 2 K we have the following formulation: k
k
z
z
k
z
j
q (z ; ; ; ) = max
X (k)v(k)
k
s.t.
2Kz
X (k)v(k) s; k
v (k ) 2 Z k 2 K 1 +
z
2Kz
z
v (k ) (k ); ; v (k ) = 0;
k2K ; k 2 KnK : z
z
We have here completely eliminated the subservices from our problem. Implicitly they are still present, because the services resource usage is described by its usage of resources through interaction with subservices. This second stage is an integer knapsack problem with bounds on the variables, which can be solved in pseudopolynomial time, O(Ks ) (polynomial if s is a polynomial function of K ) [26]. If and are deterministic, the only parameters that change between the subproblems, are the upper bounds on the integer variables. If the demands changes in peaks, this means that only one upper bound changes at any time, which could be very helpful in solving the problem. Again because of the rst stage constraints, we have a stochastic integer programming model with relatively complete integer recourse [36]. z
24
z
4.5.6 Extensions to multistage models
In the preceding two-stage models we have implicitly assumed that two stages are enough to model the detection of a peak in demand, a reaction by allocating services to nodes and time for uncertainty to resolve. There are several reasons why in some cases we may need more than two stages here. Firstly, it is possible that the length of a peak exceeds the lead time of setting up services so that the reallocation of services is possible before the top of the peak is reached. This means that there is increased exibility in the decision process which a two-stage model cannot capture. Secondly, we know that the services can use dierent subservices in a sequential as well as a parallel manner. This means that the subservices that are used in the beginning of the peak, may be dierent from the ones used at the end of the peak. Assigning capacity to all these subservices throughout the whole period of decision, may therefore not be a good utilization of the limited resource. The two-stage models capture the parallel aspects of subservice use, but not the sequential aspects. Thirdly, we have assumed that before a new peak arrives, there has been enough time for the current one to be handled. If this is not true, more than two time periods may be needed.
4.6 Service arrangement based on a robust allocation
Let us now try a somewhat dierent approach. Assume, as before, that in some region of the world we oer services to users through a distributed network. In this model though, we assume that the system currently has some kind of robust state. In all normal cases demand can easily be met for all subservices, when the system is in this state. The problem we are looking at now is how to modify this basic con guration to be able to meet demand in a situation where we anticipate an abnormal peak in demand for some service. We are allowed to change our current con guration to react to the peak, under some constraints:
Customers currently served can not be rejected. There is a lead time from when we put up a service until it is available, but we are
allowed to drop services in zero time We can not dierentiate between customers arriving in a time-period. If we decide to meet new demand for a service, we must serve all new customers wanting the service in that time period. We can use more than our current capacity, in which case we have to pay a penalty corresponding to the price of buying capacity on the market.
The free capacity of the system in the robust state, should be used to put up unused subservices that may be useful in the future. This is not using capacity in a way that limits future decisions, because the lead time for putting down services is zero. The service provider therefore wants to utilize as much as possible of this free space to install subservices 25
that might become useful. At the second stage the uncertainty has been resolved. The service provider can now choose between the subservices he installed at the rst stage and the ones from the robust state that were in use. The others can not be oered due to the lead time for putting them up. We assume further that after a peak there will be enough time for the system to go back to a robust con guration, before a new peak appears. After a peak is handled the system is to return to a stable state. Here we do not formulate the (stochastic) problem of nding this robust state.
4.6.1 Uncertainty
The uncertain demand can be described in the same way as for the former models. In addition, we have to dierentiate between uncertain demand generated by requests already accepted, and new requests. The cost of using too much capacity and the pro t of having spare capacity may also be uncertain parameters.
4.6.2 RS1: The service arrangement model based on a robust state
We assume case 3 from Section 4.2.1. Hence, we base decisions on having one single node for running the subservices. First remember that customers who are already in the system have to be served. Let us for modelling purposes assume that these customers capacity usage, together with their subservices' xed resource usage, is subtracted from the size of the processing node in the second stage. Seen from the rst stage, the future capacity usage of these already accepted requests is uncertain, implying that the available capacity of our node in the second stage, is also stochastic. Let us denote this uncertain capacity ~ . The decision of which subservices to oer at the second stage is made given the realization of demand. This decision is restricted by which subservices we installed in the rst stage and the demand for requests already being served here. The model should allow the situation where all the already present requests for a given subservice nish during the period elapsing before we make our second decisions. We are now free to shut down this subservice or we may use it, of course, to meet demand for new requests. We let the stochastic parameter &~(j ) take the value 1 if this is the case for subservice j and 0 if the subservice still must be installed. This parameter is only required for subservices for which there are accepted requests present at the rst stage of the decision problem. We name this set of subservices for J We go directly to the stochastic two-stage formulation. Let J = J nJ , the subservices that is not already in use at the rst stage, or in other words the ones we should choose between to utilize our free capacity in order to prepare for the second stage uncertain demand. The parameter s is this free capacity. This size s depend on the size of the node and the present demand for services in J at the rst stage. First stage: 1
2
1
min Q(z; ~; ~; ~ ; ~; ~) 26
1
s.t.
X r(j )z(j ) s j
2J2
Q(z ; ~; ~; ~ ; ~ ; ~) = E [q (z ; ~ ; ~; ~ ; ~ ; ~)] z 2 B 1 + 2 ; z (j ) = 1; j 2 J1; where z(j ) = 1 if service j is put up. As we had in our previous models, the resources J
J
available are limited, and we have to prioritize in such a way as to minimize the expected rejection cost. Second stage: X q (z ; ; ; ; ; ) = min [y ? + (j ) (j )(1 ? x(j )) ? (j )x(j ) ? y ] +
j
s.t.
X [(j ) + &r(j )]x(jx)(+j ) Xz[(j()j;) 8+j r2(jJ)]x[(jJ) ?; y(j )? + y(j ) 1
j
2J1
j
2J2
2
+
= ;
y + ; y ? 2 Z+1 ; x(j ) 2 B 1; 8j 2 J1 [ J2: where x(j ) = 1 only if subservice j was installed at the rst stage and is kept up at
the second stage to serve newdemand. The rst constraints in the second stage says that a service instance can only be oered if it was put up in the rst place. The second constraint limits the resource usage with available capacity, ~ , stochastic due to the uncertain resource usage of old requests. In the case where a subservice used in the rst time period nishes o all its requests before the second stage decisions, the service provider may of course still use it to meet new requests for the subservice. Then also the xed capacity usage has to be included in the capacity constraint. This is done by the parameter & (j ) which takes the value 1 when old requests are no longer present for subservice j , adding a resource usage of r(j ) if the new requests are to be met. When old requests are still present, the parameter takes the value 0 instead, indicating that the xed resource usage is already included in . The y and y? variables are, respectively, surplus and shortage of capacity. The parameter ~ is the unit cost of using too much capacity. The cost ~ (j ) is the cost of rejecting a request for service j . Similarly the ~(j ) is the unit pro t of serving a request for service j and ~ is the unit pro t to having spare node capacity. Furthermore, ~(j ) is the demand of the resource generated by new requests that are not already being serviced. The second stage objective is to maximize the pro t of meeting demand for services. The model has relatively complete recourse. The recourse variables y will automatically attain integer values if uncertain demand and the node capacity are de ned as integers. This is because the coecient matrix is totally unimodular when the other variables are xed [32]. The model is still a stochastic integer programming model with binary variables in both the rst and second stage. The problem can be extended to have more than one node. The extension is not trivial, as we now by distribution transparencies have the possibility to move customers that are presently served. +
27
5 Node investment 5.1 The problem
We now turn to consider strategic investments in the underlying infrastructure on which we run the services. The area where the network provider operate is divided into nonoverlapping regions. We will assume that the regions are given, that distribution transparencies are valid, and that the location of a service inside a region should not in uence the quality of the service to the customer. The regions can for example be similar to the ones we discussed at an operational level in Section 4.2.2, where processing capacity was the limited resource. Assume that the market for processing capacities is deregulated and competitive, so that several network providers exist. In addition assume that in the market of transportation capacities between regions, we have perfect competition. None of the actors can individually in uence prices of transportation capacities on these links. When facing future demand for services, a network provider must try to plan the capacity of the node resources (for example processing capacity) inside regions. The decisions should ensure that there is enough capacity to meet the demand and at the same time maximize long term pro t. After investments have been made and uncertainty has been resolved, he may have to buy extra processing capacity. On the other hand, he has the option to sell capacity if he over-invested. These are sound assumptions in a deregulated competitive market with many providers. Note that given a high enough quality of the service, distribution transparencies ensure that customers are indierent to the location of interacting subservices. The transparencies also makes trading of processing capacity between regions possible. It may then be advantageous to utilize this to deliberately plan processing capacity in such a way that there is a shortage in one region and a surplus in another. This is clearly even more meaningful when demand is uncertain. This trading of capacities between regions, can be considered one of the main issues of investment planning in distributed networks.
5.2 Modelling issues
5.2.1 Transportation links
Transportation capacity within regions is not considered here. With given region boundaries and known processing capacities within each region, the problem of deciding link capacities within regions can be regarded as a problem of its own. This problem is of course dependent on the results from the problem we treat here, and also on the solution of the node location problem we treat in the next section. In the models we present here, we assume that the price of building the necessary link infrastructure within the regions is re ected in the investment costs of nodes. It is natural that the cost of the local infrastructure needed increases as the processing capacity in the region increases. In this paper we will assume that the investment costs are linear in the node size. So what is the reason for including link capacities between regions in our models? This stems from recognizing the fact that a lack/surplus of node capacity in one region, may 28
lead to an increase in trac between regions. The decision of trading processing capacity between regions at a regular basis, requires that the link between the regions is not a bottleneck. The desired capacity should be available for sending information without a time delay leading to loss of service or a reduced quality of the service. As we have assumed free competition in this market, we know that our decision taker can take the market price to be valid for an, in practice, unlimited amount of information. We still recognize, though, that it is costly to use the links. So if the network provider wants to trade node capacity on the market, he has to pay for the extra induced need for transportation capacity. If we do not believe in, or do not want to enforce, the above requirement of trading processing capacity between regions, we can omit to plan the use of link capacities between regions in our model. This still assumes that we are trading processing capacity in the market, but only inside the region where we have surplus/lack of capacity. Clearly, the transportation capacity needs on links between the regions are still important, but the decisions we are modelling are no longer connected. The dierence from above, is that we now assume that the trading of capacity does not introduce extra capacity needs on links between regions. These links should therefore not be handled together with strategic planning of node capacities. We will model both these cases here.
5.2.2 Uncertainty
The following parameters may be uncertain: The demand for processing and link capacities, prices of capacities in the future spot-market and the information ows induced by surplus/shortage of processing capacity in the regions. In this paper we regard transportation costs as known if contracted at the rst stage. Similarly investments costs for node capacity is deterministic, as a consequence of using o-shelf equipment only.
5.3 I1:No trading of capacities between regions
We here assume that trading of capacity only exists within the regions for which transparencies are valid, and quality of service is ensured independent of service locations. The total processing capacity of the nodes in a region must be decided. This capacity can take integer values between 0 and some bound U , where U is typically not too large (if U is large it is feasible to let the processing capacity take real values and round to the nearest integer). We have to assume that the nodes can be hired out (or, alternatively, they can be used to meet demand elsewhere if needed) and that we can also increase their capacity later, or e.g. by buying capacity in the market. Hence, capacity shortage and surplus can be handled. In the rst period we make our investments (possibly under a budget constraint), later we cash in or pay the penalties depending on how the uncertainty has been resolved.
29
5.3.1 The model
We here present a stochastic two stage model of the problem. First stage: X min f (i)y(i) + Q(y; ~; ~ ; ~; ~) 2I
i
X f (i)y(i)b;
s.t.
2I
y (i) 2 Z+1 ;
i
where
8i 2 I ;
Q(y ; ~; ~ ; ~ ; ~) = E [q (y ; ~; ~ ; ~ ; ~)]; where y(i) is the size of the node we build in region i and f (i) is the investment cost, and b is the amount of money available for investments. The stochastic parameter ~(i) is the future capacity need in region i.
Second stage:
q (y ; ; ; ; ) = min
X[? (i)(i) + (i)x(i)? ? (i)x(i) 2I
+
]
i
s.t.
x(i)? ? x+ (i)= (i) ? y (i); ; x(i) 2 R1+
8i 2 I ; 8i 2 I ;
where the x variables give the surplus capacity or lack of capacity for the node in region i. Here, the ~(i) is the uncertain pro t per demanded capacity unit, ~ (i) is the cost experienced if capacity is too small, and ~(i) is the revenue obtainable from any excess capacity in region i. If we look at the term in the second stage objective, we notice that it is a random constant, namely our pro t when meeting the demand for resource capacity. From an economical point of view this term is crucial because it is normally what gives a positive result. From an optimization point of view, this stochastic constant term can be omitted. The rst-stage objective can be adjusted by its expected value to give the real cost. Implicitly in this objective is the fact that a network provider will meet the demand he actually gets for capacity. If this is more than he has available, he will have to buy capacity on the market. Since the rst stage decision variables are integer, this is a stochastic integer program with continuous simple recourse, see for example [18].
5.4 I2: Trading of capacities between regions
Now we turn to the case where trading of processing capacities between regions is allowed. 30
5.4.1 How to model transportation needs
If we place ourselves as decision-makers at the computing nodes plane in Figure 1, there are virtual all-to-all links for transportation of information between regions. The virtual links may of course also exist as physical links for one or several of the underlying transportation networks. We want to plan how much information we need to transport between regions, as a consequence of trading processing capacity in the market. There are several ways to model the induced information ows that follows from our network provider's surplus/lack of capacity in a region: 1. Model the ows explicitly, i.e. introduce decision variables for ows between each pair of regions together with variables indicating which surplus region helps out which shortage region. 2. Distribute the induced information ows from regions with surplus/lack of processing capacity to all or some neighbouring regions by a deterministic or average pattern. 3. Model the extra induced information ows from regions with surplus/lack of processing capacity as distributed stochasticly over the links out of the region. In the rst case, the solution of the model will give a strategy for which regions are going to cooperate, and when. This is clearly feasible if we assume that we are only using our own nodes. In the two latter cases we do not explicitly model which surplus areas help out which shortage areas. Therefore, we could say that the shortage of node capacity is covered by buying capacity on the market, and surplus by selling. This seems like a more exible and general approach. It includes the possibility of trading capacity both in the region in question and between this region and others. To be as general as possible, we model the distribution of induced transportation needs from exported/imported node capacities as stochastic parameters as in case 3 above. In our deregulated perfect competition market investment costs in transportation infrastructure should not be directly included in the models. Assume for example that a network provider is of the opinion that the market prices he has been given for future transportation capacity is too high. He may then claim that he will invest himself and face lower prices than the ones present in the market. This may be so, but he should still use the market price as an estimate of the cost of sending information between regions when he plans his node capacities. In the perfect competition market we have assumed, the pro t he can get from investments in transportation capacity is independent of his investments in nodes. Hence it should also be treated independently as an investment of its own, and implemented if pro table. When we base our decisions concerning need for transportation capacities solely on market prices, we need to include some market mechanisms. We have to dierentiate between buying capacity at the spot-market and making long term contracts having a xed price with transportation capacity suppliers. The latter possibility eliminates uncertainty concerning the price of transportation capacity for the agreed on use of a virtual link. 31
5.4.2 The model
In the modelling example given here, we will assume that all costs of capacity increase linearly with the used capacity. This is the case if we assume perfect competition on the markets for processing as well as for transportation capacities. Our decision-maker can assume the prices to be valid independent of his and other individual agents decisions. In the rst stage of the model we invest in nodes and contract link capacity. In the second stage we face the uncertain demand for processing and between-region link capacity. Spare capacity can be sold on the market. If capacity is too low, we will need to buy more capacity on the market. In both cases we may generate transportation ows out of or into our region. We now present a stochastic two-stage model. In the following, we use E to denote the set of possible combinations of (i ; i ) 2 I I where i 6= i . First stage: 1
min
2
X f (y(i))y(i) + X 2I
2E
2
c(i1; i2)l(i1; i2 ) + Q(l; y )
(i1 ;i2 )
i
s.t.
1
(l; y) 2 S ; l(i1; i2) 2 R1+ ; y (i) 2 Z+1 ;
8(i ; i ) 2 E ; 8i 2 I ; 1
2
where l(i ; i ) is the contracted capacity on the virtual link between i and i , and c(i ; i ) is the corresponding deterministic price. The size of the computers in region i, is denoted by the integer variable y(i) (if the upper bound on this variable is large, it may be considered a real decision variable). Here f (i) is the investment cost in region i. The constraint set for our rst decisions is de ned in the feasible region S . The function Q is the expected value function of the second stage problem, 1
2
1
2
1
2
Q(l; y ) = E [q (l; y )]
where the expectation is taken over the stochastic parameters ~; ~; ~; !~ ; ~; ~ and ~. The second stage is: q (l; y ) =min
+
X[? (i)(i) + (i)x(i)? ? (i)x(i) 2I X ! (i ; i )[p(i ; i )? ? p(i ; i ) ] i
2E
1
2
1
2
1
2
+
]
+
(i1 ;i2 )
s.t.
x(i)? ? x+ (i) =(i) ? y(i); p(i1 ; i2)? ? p(i1; i2 )+ ? 1(i1; i2)x(i1)+ ? 2(i1; i2)x(i2)? = (i1; i2) ? l(i1; i2); p(i1 ; i2)+ ; p(i1; i2 )? 2 R1+ ; (i1; i2) 2 E x(i) 2 R1+ ; i 2 I :
32
i 2 I;
(i ; i ) 2 E ; 1
2
The rst constraint set concerns the processing capacities of the nodes. The variables x(i)?=x(i) represent the processing capacity shortage and surplus in region i. The stochastic parameter ~(i) is the future processing capacity need in region i. The ~(i) is the uncertain pro t per demanded capacity unit. Further ~(i) and ~(i) are respectively the cost and revenue experienced if processing capacity is too small in region i. The second constraint set concerns the transportation capacities on the virtual links. Here p =p? is the surplus/shortage for transportation capacity on virtual links between dierent regions. Here !~ is the price when buying and selling link capacity on the market. The demand for capacity on the virtual link between i and i is given by ~(i ; i ). Parameters ~ and ~ describe how surplus and shortage capacity in the nodes induce transportation needs. These parameters can be stochastic. If ~ = ~ the model has two stages with an integer rst stage and simple continuous recourse in the second, see for example [18, 35]. Otherwise the model has relatively complete recourse. Note that the model can be written as a three-stage model with processing capacities treated in the second stage and transportation capacities treated in the third stage. The two last stages then have simple recourse. This can be tractable for computational purposes, even if it does not contribute anything to the model interpretation. +
+
1
1
1
2
1
2
2
2
5.5 Extensions to the model
Multistage models are better suited if the uncertainty gradually resolves over time and we are able to change our plans based on this increased knowledge. In that case the twostage model we have presented is not able to capture the exibility inherent in the decision process. We assumed here that the market for transportation capacities between regions has perfect competition. If this is not the case, we have to study more carefully prices for transporting information over a virtual link. Especially we have to examine the real physical underlying networks. Investment decisions in transportation infrastructure may now change market prices. This extension is not trivial. Remember that one computing node, may be mapped to several networks. There are several providers of network infrastructure. Our network provider planning his node capacities, may himself be one of them. It is here important to realize that there is dynamic (re)allocation of resources in the physical packet switched transportation networks underneath the computing nodes. Several dierent network paths and providers can be utilized simultaneously to send information between the regions in question. It is clear that there is no direct mapping between the capacity need of a virtual link and the underlying physical networks. This implies that the price of transportation capacity experienced by our decision-maker between two regions, may not in general be treated independently from the other node providers investments, their capacity needs and their prices. In addition a single virtual link can in general not be treated isolated when making decisions concerning capacity in the network. 33
6 Node location problem As we will see, the node location problem is related to the problem above but can also be viewed in its own right. Consider a xed number of sites where computers can be installed inside a bounded region of our network. The purpose of these computers is to meet demand for processing capacity within the region. We also assume that each site has a cost/pro t associated with oering a subservice to customers located at dierent places in the region, and an investment cost, or xed cost, for putting a computer there. At each site the network provider can choose between computers of dierent sizes and types. He wants to locate the processing capacity in the region so as to minimize the cost of installing enough processing and link capacity to meet the overall demand. Obviously dierent choices of node sites can lead to dierent costs for meeting subservice demand, both as a consequence of investments made in the transportation infrastructure and as a consequence of dierent operating costs. In the previous section we presented a model which provided an answer to the question of how large the overall capacity in each region should be. The solution of that problem can be included in the node location problem as the lower bounds for the region's installed capacity. It is natural to assume that the regions in question here are the same as those in the previous problem and the ones discussed at an operational level in Section 4.2.2. In the same way as earlier, we assume that processing capacity is the limiting resource, and that distribution transparencies are valid. We must include the possibility of handling demand that exceeds the installed capacity. This can be done by allowing rejections or trading of processing capacity on the market.
6.1 Transparencies, link capacities and demand
How do we de ne customers and their locations? Subservices are often requested as an interaction between two or more customers, possibly at dierent locations. We let all virtual links between possible sites in the network correspond to locations of requests for subservices. We also have the demand which is present at a single location, re ecting the situation that the sites where we can put computers are also locations of demand. Note that many subservices bring about interactions between more than two locations. The request would in this case contribute to demand for the subservice over all links included in the request. In the overall problem we consider only aggregated demand at each virtual link, but we are able to identify which subservices generate that demand. We can now specify which part of the demand for the various subservices at the dierent locations is to be met at each particular site. It is here important to see how this ts the technological framework we de ned earlier in Section 2. When processing was the limiting factor, transportation transparencies made it possible to conclude in Section 4.2.2 that the location of demand inside regions was not important at the operational level. We will now try to minimize a cost of meeting demand that is dependent on the locations. If we consider strategic or tactical planning, there is no doubt that the location of nodes relative to demand matters. A major reason for this is 34
precisely the exibility in resource allocation at the nodes that the transparencies introduce at the operational level and the corresponding need for transportation capacities. There are at least two dierent ways of including this in the model:
We can explicitly model the links between customer locations and their capacity and installment costs. In the price of meeting demand for subservices from a given site, we include the cost of the necessary transportation infrastructure generated by this choice.
The last approach is selected because there is an enormous amount of eort already put into models for transportation network design. Given the location of sites, their sizes, and the type/amount of demand we expect at the sites, the problem of designing the underlying transportation network is extensively treated in the literature, see for example [13, 15, 16, 25, 29, 33]. The investment costs of the local transportation infrastructure, can probably be split in one xed part depending on the node site (and size) and one variable part depending on the actual use of the node. We assume in the following that the price of meeting demand for a subservice from a given site indicates both operational costs and the variable part of necessary investments in the underlying infrastructure. This infrastructure must be of such a quality and capacity that when transparencies are valid at an operational level, the quality of service is independent of the locations of the subservices within the region. Likewise we include in the investment cost for a node the xed part of necessary investments in local transportation infrastructure.
6.2 Interpretation of the chosen approach
The allocation of subservices to sites must not be confused with the allocation we have already studied at an operational level. The purpose here is just to ensure that the overall demand for processing capacity can be met. We also recognize the fact that the total demand for processing capacity, or even the demand for special subservices, is not necessarily equally distributed over the region. If, at a tactical level, we say that a node must have a given size to be able to house a speci c subservice, this implies that we will dimension the underlying transportation infrastructure based on this. One should here note that this assignment is not xed and is certainly not identical to the assignment of subservices to nodes at an operational level. We may then instead choose to hide the identity of subservices and model the demand for processing capacity aggregated over all subservices at a location. However, this is just a special case of the rst approach, and we will therefore treat the rst.
6.3 The node location model
The important uncertain factors are the demand for subservices (given in terms of resource use) and the prices of meeting this demand from dierent locations. Both operational and 35
investment costs are included in these prices. As in the problems presented previously, we need a stochastic dynamic model to describe the exibility in the decision process and treat the uncertainty. The problem can be formulated as a capacitated facility location model. There are several ways of modelling this problem. References [12, 19] give overviews of dierent formulations and contain a lot of references. The model given here is an example of one modelling approach. The computers are the facilities, the underlying network links are the customer locations, and demand for the subservices over the links should be met to maximize pro t/minimize cost subject to capacity constraints on the nodes. Let y(i) be 1 if computer i is installed and 0 otherwise. The corresponding investment cost is f (i). It is natural to assume that the capacity of the computers is limited. We denote by U (i) the capacity of computer i. Let U be the overall amount of capacity the network provider at least need to install in the region, and U the maximum. The lower bound may come from investment models treated earlier and the upper bound is possibly absent. The variable x(i; j; e) is the demand for the resource generated by subservice j over link e that we decide to meet at node i. The set of all links is E . The demand for the resource generated by subservice j over link e is named ~(e; j ). We denote the possibly stochastic cost/pro t of meeting the demand for subservice j over link e at node i as ~(i; j; e). This parameter should include the variable cost of installing or renting infrastructure in the backbone network. As we have argued, this cost may be independent of subservices. In this formulation we have assumed that it is linear in the use of processing capacity. The variable t(j ) describes how many resource units demanded for subservice j we choose not to meet. The rejection cost (or, alternatively, the cost of obtaining the subservice on the market, for example, from another region) is given by ~(j ). The corresponding stochastic two-stage model can be written as follows. First stage: l
u
min
X f (i)y(i) + Q(y) 2I
i
U
l
X U (i)y(i) U 2I
u
i
Q(y ) = E [q (y )]
where the expectation is taken over the stochastic parameters ~ ; ~ and ~. Second stage: q (y ) = min
X X X (i; j; e)x(i; j; e) + X X (j )t(e; j ) 2I 2J 2E
i
j
e
j
36
2J 2E e
s.t.
)(e; j )y(i); X x(i; j; e) +x(ti;(e;j; je)= (e; j ); 2I X X x(i; j; e)U (i); i
2J 2E
x(i; j; e) 2 R1+ ; y (i) 2 B 1;
j
e
8(i; j; e) 2 I J E ; 8e; j 2 E J ; 8i 2 I ; 8(i; j; e) 2 I J E ; 8i 2 I :
Some references for the stochastic facility location problem are [4, 11, 21, 22, 23, 20].The formulation above is a stochastic integer programming model with binary rst stage and relatively complete continuous recourse, see for example [18, 35].
6.4 Extensions of the model
When uncertainty concerning demand resolves over time, a two-stage model may not be able to describe the implied exibility this gives with respect to waiting before full capacity is installed. To completely capture the dynamics of this problem, may require more than two time periods.
7 Service development In future distributed communications networks distributed services will be tailored from general components. Earlier, we presented an object oriented setting where every service is built from subservices. Also the aspects of distribution and the decreasing dierence between information systems and the services of communications systems will imply new possibilities. Assume that a service provider has a limited set of resources to use in service development. His goal is to utilize these resources in such a way as to maximize the future expected pro tability of his portfolio of services. The increasing number of possibilities also increases the uncertainty regarding which services will be demanded, and how large demand will be. This introduces the need of models to formalize the decision process concerning service development. In the rst time period, service developers make investments under uncertainty. In the second time period, when uncertainty has resolved, they will \cash in" the pro t or pay the penalties for having invested in the wrong services. If the developed services correspond to the ones the customers request, service providers can meet demand using their own products. If there is demand for a service the provider did not develop, he will have to pay to get it, or face the losses incurred by not having it available. The time frame for decisions here is from months to years. We are clearly operating on decisions that vary from tactical to strategic. In any case, the problems we look at here have a longer time frame than the problem of service provision, and a shorter time frame than the investment problems we looked at in the previous sections. 37
7.1 Uncertainty
Uncertain parameters may be future demand for services, future pro tability of services, cost of not having demanded services and cost of developing the services
7.2 D1: The service development model
We here give a stochastic two stage model for the problem. First stage: min
X E [~(j )]u(j ) + X Q(u; ~; ~ ; ~)
j
s.t.
2J
j
2J
u(j ) 2 B 1; 8j 2 J ; Q(u; ~; ~ ; ~) = E [q (u; ~; ~ ; ~)];
where u(j ) is 1 if we develop the service and 0 otherwise. Demand, ~ 2 Z , is uncertain and so is the development cost ~(j ) for service j . Second stage: 1 +
q (u; ; ; ) = min
X [((j ) ? )x(j )? ? (j )x(j )
j
s.t.
2J
+
]
x(j )+ ? x(j )? = (j )u(j ) ? (j )(1 ? u(j )) = 2 (j )u(j ) ? (j ); x(j )+ ; x(j )? 2 Z+1 ; 8j 2 J ; where the x+ and x? variables, respectively, give the surplus capacity or lack of capacity
for the given services. In the second stage, when uncertainty has been resolved, we nd out how much we earn/lose based on our original decisions. The cost per request of obtaining the service in the market is ~ (j ). The pro t per request if we developed it is ~(j ). These may be equal if we have perfect competition with equal quality of services for all providers. We assume that if we receive demand for the service, we will oer it. If we do not have it, we will get it in the market. This is reasonable in any case, and especially make sense under a perfect competition assumption. Note that if the demands are given as integers, this seems to be a two stage model with simple integer recourse [36]. However, the model can be treated as a model with simple continuous recourse when demand is integer, because the second stage coecient matrix is totally unimodular [32].
8 Conclusions We rst identi ed the need for optimization models by considering distributed and processing oriented aspects of a telecommunications network. The main reason for this is the 38
introduction of new technology and a shift in the focus of the services provided in the network from data transport to information processing. The models we presented were based on a distributed telecommunications framework de ned by TINA-C[6, 30]. The distribution transparencies and the abstract infrastructure de ned here are crucial for models treating service provision and investment in distributed networks. The paper discusses decisions for operational resource allocation at the service providing processing nodes, investment in software and infrastructure and decisions concerning how to distribute processing capacity in a region of the network. The models presented in this paper are above the transportation level of the network. They do not treat detailed design of the transportation network underneath, but rather include the relations between the distributed computing nodes providing services and the actual data transported, through the prices and the markets for transportation capacity. From the technological framework of TINA-C, and given the assumption that processing capacity is the limited resource in our network, we conclude that, in regions of the network, allocation of computer resources to services at an operational level may be made independent of the location of the demand. In requiring this, we utilize the increased
exibility for dynamically allocating resources in a distributed network. Increased exibility clearly in uences the decisions to be made for investments in infrastructure, both when it comes to processing and transportation capacities. Strategic and tactical decision models for distributed telecommunication networks, hence cannot be studied isolated from models concerning dynamic resource allocation and the assumptions they are based on. A shift in focus at the operational level from transportation of data to processing of information is also bound to present a need for modelling new aspects when it comes to investments. Examples of how some of these new aspects can be treated and assumptions underlying them are given in this paper. The paper considers both operational, tactical and strategic decisions, and relate them to each other.
9 Future work The models presented are an introduction to how modelling new aspects of distributed networks could be achieved. Several of the models have suggested extensions that may make them a closer match to the real world we are trying to describe. This is true both when it comes to the technological aspects and modelling the underlying dynamic decision process. Work put into future model development may be devoted to nding the best ways to model various aspects, given the reasons for the models. But we should also try to describe alternative models focusing on dierent aspects of distributed networks. There is no ecient general method for solving stochastic integer programs. As for deterministic integer programming, tailored algorithms and solution methods are necessary to solve the models. This is going to be the main area of work on the above models in near future. Also it is clear that a lot of work remains when it comes to describing the underlying 39
stochastic features of our problems. Finding the necessary data and their probability distributions is critical for the results the models give, and their usefulness. Another area of interest is the problem with the availability of data. The models presented incorporate decision making for a future distributed communications network. The data needed are often uncertain at the point of decision. Because these models also describes a reality and a functionality of networks that are not present today, the availability of data is also uncertain. Work remains to be done both when it comes to de ning what data we should assume are available and how to collect the data.
40
References [1] S. Aggarwal, J. A. Garay, and A. Herzberg. Adaptive video on demand. Manuscript. [2] E.C. Anderson and N. Natarajan. A reference architecture for telecommunications operations applications. Journal of Network and Systems Management, 1(3), 1993. [3] J.A. Audestad. Lecture notes. Course 45356 Communication in distributed systems, Department of Computer Systems and Telematics, UNIT/NTH, 7034 Trondheim, Norway, 10.10.1995. [4] J. Balachandran and S. Jain. Optimal facility location under random demand with general cost structure. Naval Research Logistics Quarterly, 23:421{436, 1976. [5] A. Bar-Noy, J.A. Garay, and A. Herzberg. Sharing video on demand-constant competitive ratio with long noti cation time. In 3rd Annual European Symp. On Algorithms, LNCS (979), pages 538{553, Corfu, Greece, September 1995. Springer-Verlag. [6] W.J. Barr, T. Boyd, and Y. Inoue. The TINA initiative. IEEE Communications Magazine, pages 70{76, March 1993. [7] N. Chapman and S. Montesi. Overall concepts and principles of TINA. Document no. TB MDC.018 1.0 94, TINA-C, February 1995. [8] M. De Prycker. Asynchronous Transfer Mode, Solution for Broadband ISDN. Prentice Hall, New Jersey, 1995. [9] S. Dye, L. Stougie, and A. Tomasgard. Relaxations and valid inequalities for the service provision problem. In preparation. [10] S. Dye, A. Tomasgard, and S.W. Wallace. Feasibility in transportation networks with supply eating arcs. Accepted in Networks. [11] P.M. Franca and H.P.L. Luna. Solving stochastic transportation-location problems by generalized Benders decomposition. Transportation Science, 16:113{126, 1982. [12] R.L. Francis, L.F. McGinnis, and J.A. White. Locational analysis. European Journal of Operational Research, 12(3):220{252, 1983. [13] A.A. Gaivoronski. Robust access planning for ATM network in the presence of uncertain multiservice demand. In NETWORKS`94 \Planning for a customer-responsive network", September 1994. [14] B. Gavish and I. Neuman. Routing in a network with unreliable components. IEEE Transactions on Communications, 40(7):1248{1258, 1992. [15] B. Gavish, editor. Operations research in telecommunications. Annals of Operations Research, 36:402 pages, 1992. 41
[16] B. Gavish, editor. Special issue on telecommunications systems: Modeling, analysis and design. Operations research, 43(1):29{191, 1995. [17] P. Graubmann, W. Hwang, M Kudela, K. MacKinnon, N. Mercouro, and N. Watanebe. Engineering modelling concepts (DPE architecture). Document no. TB NS.005 2.0 94, TINA-C, 1994. [18] P. Kall and S.W. Wallace. Stochastic Programming. Wiley, Chichester, 1994. [19] M. Labbe and F.V. Louveaux. Location problems. Discussion paper, Institut de Statistique, Universite Libre de Bruxelles, Belgium, July 1996. [20] G. Laporte, F.V. Louveaux, and L. Van Hamme. Exact solution of a stochastic location problem by the L-shaped algorithm. Transportation Science, 28:95{103, 1994. [21] L.J. Le Blanc. A heuristic approach for large scale discrete stochastic transportationlocation problems. Computers and Mathematics with Applications, 3:87{94, 1977. [22] F.V. Louveaux. Discrete stochastic location models. Annals of Operations research, 6:23{34, 1986. [23] F.V Louveaux and D. Peeters. A dual-based procedure for stochastic facility location. Operations research, 40:564{573, 1992. [24] S. Mullender, editor. Distributed Systems. Addison-Wesley, New York, 1993. [25] P. Nain and K.W. Ross, editors. Stochastic modelling of telecommunication systems. Annals of Operations Research, 35:357 pages, 1992. [26] G. L. Nemhauser and L. A. Wolsey. Integer and Combinatorial optimization. WileyInterscience series in discrete mathematics and optimization. Wiley, New York, 1988. [27] G. Nilsson, F. Dupuy, and M. Chapman. An overview of the Telecommunications Information Networking Architecture. In TINA 95 Conference, Melbourne, Australia, P1, 1995. [28] R. Onvural. Asynchronous Transfer Mode Networks: Performance Issues. Artech House, Boston, 1994. [29] R.O. Onvural, H.G. Perros, and G. Pujolle, editors. Methodologies for high speed networks. Annals of Operations Research, 49:373 pages, 1994. [30] T. Rowbotham. The TINA Consortium { A Collaborative Way Forward. In TELECOM 95, Geneva, 1995. [31] H. Rubin and N. Natarajan. A distributed software architecture for telecommunication networks. IEEE Network Magazine of Computer Communication, January/February 1994. 42
[32] A. Schrijver. Theory of linear and integer programming. Interscience series in discrete mathematics and optimization. Wiley, New York, 1986. [33] Suvrajeet Sen, Robert D. Doverspike, and Steve Cosares. Network planning with random demand. Telecommunications Systems, 3:11{30, 1994. [34] L. Stougie, A. Tomasgard, and M.H. van der Vlerk. Some approaches for solving the stochastic service provision problem. In preparation. [35] L. Stougie and M.H. van der Vlerk. Stochastic integer programming. In M. Delamico, F. Maoli, S. Martello (editors), Combinatorial Optimization: Annotated Bibliographies, Wiley, Chichester, To appear. [36] M. H. van der Vlerk. Stochastic Programming with Integer Recourse. PhD thesis, University of Groningen, 9700 AV Groningen, Netherlands, 1995.
43