throbber
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING. VOL. 14, NO. 9, SEPTEMBER 1988
`
`Dynamic Transaction Routing in Distributed Database
`Systems
`
`1307
`
`this paper, we investigate dynamic transaction routing
`Abstract-In
`strategies for locally distributed database systems in which the data-
`base is partitioned and distributed among multiple transaction pro-
`cessing systems, and the incoming transactions are routed by a com-
`mon front-end processor. In this environment, if a transaction issues
`a database request referencing a nonlocal database partition, the re-
`quest has to be shipped to the system owning the referenced partition
`for processing. Various dynamic strategies are studied. Their perfor-
`mance is compared with that of the optimal static strategy. A new class
`of dynamic transaction routing strategies which take into account rout-
`ing history and minimize the estimated response time of incoming
`transactions is proposed and found to provide a substantial improve-
`ment over the optimal static strategy. The robustness of the strategies
`is further studied through sensitivity analysis over various transaction
`loads, communication overheads and database reference distributions.
`
`Index Terms-Distributed database systems, load balancing, perfor-
`mance analysis, queueing models, transaction routing strategy.
`
`I. INTRODUCTION
`HEN processing power is distributed over multiple
`computer systems, load sharing is critical in achiev-
`ing higher aggregate throughput and better response time.
`To attain appropriate sharing, arriving tasks are allocated
`according to some strategy. Strategies are static in nature
`if allocation decisions are based solely on the static char-
`acteristics of arriving tasks and the processing systems.
`Other strategies, in which allocation decisions depend
`upon not only the static characteristics but also the current
`system state, are referred to as dynamic.
`Numerous load sharing strategies, both static and dy-
`namic, have been studied for different types of distributed
`systems. Queueing network analysis, mathematical pro-
`gramming, and other techniques can be used to obtain
`performance estimates and then to derive optimal static
`strategies; for example, the optimal deterministic alloca-
`tion of tasks in [16], [17], and optimal probabilistic as-
`signments in [12], [18]. On the other hand, certain opti-
`malities
`in
`the dynamic approach have also been
`discovered. For instance, the send-to-shortest queue strat-
`egy is found to be the best for the case of Poisson arrivals
`and identical exponential servers [20] and the round-robin
`
`Manuscript received March 17, 1986; revised March 24, 1987.
`P. S . Yu is with IBM Thomas J . Watson Research Center, Yorktown
`Heights, NY 10598.
`S. Balsam0 is with the Dipartimento di Informatica, University of Pisa,
`Pisa, Italy.
`Y. H. Lee is with the Department of Computer and Information Sci-
`ences, University of Florida, Gainesville, FL 3261 1.
`IEEE Log Number 8822454.
`
`strategy becomes optimal when the queue length at each
`server cannot be observed, provided that all servers have
`the same initial state [IO]. A survey on load sharing strat-
`egies in distributed systems can be found in [ 191. For other
`more complex cases, like heterogeneous servers, multiple
`classes of tasks and different arrival and service time dis-
`tributions, simulations have been adopted to study the
`performance of various strategies [I], [4], [61. In [SI, [91,
`it has been demonstrated that a simple probe limit scheme
`based on queue length threshold is quite effective to im-
`prove performance.
`In these previous studies, it is assumed that incoming
`tasks can be serviced completely at any processing sys-
`tem. This implies that either all tasks are purely compu-
`tational or requested resources, e.g. database or files, are
`shared or replicated among all processing systems. Now,
`consider a locally distributed database environment’ as
`shown in Fig. 1. The database is partitioned among the
`various processing systems, and the arriving transactions
`are routed to one of the processing systems by a common
`front-end system. If a transaction issues a database re-
`quest referencing a remote database partition, the request
`has to be shipped to the system owning the referenced
`partition for processing. This is referred to as a remote
`database request. Thus, a new dimension, the reference
`pattern or the reference locality, has to be considered in
`load sharing strategies.
`The reference pattern of database requests not only
`causes frequent load fluctuation but also complicates rout-
`ing decision making. When the database is partitioned,
`the processing associated with each transaction can be di-
`vided into two categories. The first category denoted as
`routing dependent processing, is to be executed at the pro-
`cessing system to which a transaction is routed. The ap-
`plication process belongs to this category. The other is
`partition dependent processing, which is a service request
`against a particular database partition, e.g., the database
`requests, and can only be executed at the processing sys-
`tem owning the partition. To balance the loads among
`processing systems, only the routing dependent process-
`ing can be used as leverage. In addition, different trans-
`action routing schemes affect the number of remote data-
`base requests and, thus, incur different communication
`loads which are critical to performance. This is in sharp
`
`‘By locally we mean so close together that communication delay is neg-
`ligible, e.g., the entire system is located in the same machine room.
`0098-5589/88/0900-1307$01 .OO 0 1988 IEEE
`
`Petitioner Microsoft Corporation - Ex. 1047, p. 1
`
`

`
`1308
`
`lEEE TRANSACTIONS ON SOFTWARE ENGlNEERlNG. VOL. 14, NO. 9, SEPTEMBER 1988
`
`sumed to be handled by the processing system p,. The
`processor speeds and the I/O access speeds at different
`processing systems are assumed to be identical.
`Transactions submitted by users enter the system
`through the front-end system where transactions get for-
`matted and are routed to one of the processing systems.
`After a transaction processing is completed, output mes-
`sages will be mapped into the user's screen format and
`delivered back to the user via the front-end system. A load
`sharing strategy is employed at the front-end system to
`determine the assignment of an incoming transaction to a
`processing system.
`At the assigned processing system, a transaction in-
`vokes an application process which may issue a number
`of database requests. The application process of a trans-
`action will be executed completely at the assigned pro-
`cessing system, whereas database requests will be exe-
`cuted at the processing systems owning the database
`partitions. During the execution of database request, U0
`device will be accessed if the required data is not in the
`main memory of the processing system. The flow of trans-
`action processing is shown in Fig. 2, where a transaction
`will be completed after several iterations of application
`processing segments and database requests. Transactions,
`then, can be characterized into different classes by 1) the
`processing service demand of each application processing
`segment, 2) the number and reference distribution of da-
`tabase requests, and 3) the processing and I/O service de-
`mands of each database request. For simplicity, we as-
`sume that
`these service demands are exponentially
`distributed. Also, at the end of each application process-
`ing segment, fixed probabilities of issuing a database re-
`quest to a particular database or terminating the transac-
`tion processing are assumed for each class.
`Based on the sequence of transaction processing, we
`construct the model of transaction processing as shown in
`Fig. 3. Let there be K transaction classes in the system
`and let txk denote a class k transaction, k = 1, -
`* , K.
`For the kth class, transactions arrive according to a time-
`invariant Poisson process with rate hk. The mean pro-
`cessing service demands of an application processing seg-
`ment and a database request of txk are ak and bk, respec-
`tively. Both ak and bk can be estimated by measuring the
`pathlengths of application processing and database re-
`quest. For each database requests issued by t&, we as-
`sume that, an I/O device will be accessed with a fixed
`probability pi', and the service time of each I/O access is
`exponentially distributed with mean dk. When the exe-
`cution of an application processing segment is completed,
`transaction txk may issue a database request to database
`DB, with probability Pk, or may terminate with probabil-
`ity P k O . The Pk, is referred to as the database request prob-
`ability of transaction k to DB,. Thus, the total processing
`load of incoming transactions per unit of time to the whole
`system becomes
`
`K
`
`.
`
`
`
`Fig. 1 . The configuration of a locally distributed database system.
`
`contrast with the case of homogeneous system without re-
`mote requests between processing systems.
`In this paper, different dynamic strategies for transac-
`tion routing in a locally distributed database environment
`are studied. The major concerns of designing a dynamic
`strategy are 1) what information is crucial to decision
`making and what is the overhead of collecting the infor-
`mation, and 2) how to use the available information to
`make the routing decisions. We propose a class of dy-
`namic strategies which can provide superior performance
`as compared to the optimal static routing scheme, yet re-
`quire little effort to maintain the dynamic information.
`These strategies are based on routing history of currently
`active transactions along with transaction characteristics,
`and attempt to minimize the estimated response time of
`an incoming transaction. Also considered is a class of
`strategies based on instantaneous queue length informa-
`tion. Well known strategies such as joining the shortest
`queue belong to this class. This class of strategies can be
`costly to implement as frequent message exchanges are
`required to update the queue length information.
`In the next section, the models of locally distributed
`database environment and transactions are described. In
`Section 111, various transaction routing strategies are dis-
`cussed. Section IV presents simulation results on re-
`sponse time under different routing strategies. Detailed
`sensitivity analyses are also provided. We summarize the
`results in Section V.
`11. MODEL DESCRIPTION
`We consider a locally distributed transaction processing
`system as shown in Fig. 1. The system consists of N
`transaction processing systems and a front-end system,
`connected by an interconnection network. The transaction
`processing systems execute transaction application pro-
`cesses and handle database requests. The whole database
`is partitioned into N databases which are denoted as DB,,
`. . . , DB,, where DB, is attached to the transaction pro-
`cessing system PI. All database requests to DB, are as-
`
`Petitioner Microsoft Corporation - Ex. 1047, p. 2
`
`

`
`YU et U / . : DYNAMIC TRANSACTION ROUTING
`
`1309
`
`applleation
`proceasing
`
`opplicotlon
`procesaing
`
`appilcation
`procnalng
`
`Input
`formatting
`
`datobora
`dotobase
`roqueat
`requeat
`to DBI
`to DBI
`(without IO access)
`(wlth IO aceera)
`Fig. 2 . The sequence of transaction processing.
`
`output
`for mottlng
`
`0: opplicotion process
`I: locol dotobose requests
`ov: communication overhead
`r: receiving service and
`remote database requests
`
`P1 - DE1
`
`f
`
`application
`processing
`
`I
`
`-1
`
`formatting
`
`Fig. 3 . Model of transaction processing.
`
`Among this total processing load, there is a portion as-
`sociated with the processing of database requests. We de-
`note the processing load of database requests per unit time
`at Pi as follows:
`
`Notice that S and Sp only depend upon the characteris-
`tics of transactions and are independent of the transaction
`routing decisions. When a database request is issued, it
`must be shipped from processing system PI to PJ if a trans-
`action being executed at PI issues a database request to
`OBJ, where i # j . After the request gets processed, the
`result will be sent back. Both P, and PJ have to perform
`sending and receiving services. The service demands of
`sending and receiving a database request or the results of
`a request are referred to as communication overhead and
`are assumed to be exponentially distributed with mean c.
`The system model is illustrated in Fig. 4. A single
`server processor sharing queue is used to model the pro-
`cessor at each processing system. On the other hand, the
`I/O subsystem of each processing system is modeled as
`an infinite server queue. This is to correspond a global or
`aggregate representation of a more complex U 0 subsys-
`tem. Note that this choice is mainly to simplify the model.
`Extensions to capture I/O contention can be done by ex-
`plicitly considering data allocations and multiple disk
`servers.
`
`~T
`
`. . . . . . . . . . . . . .. . .
`submodel for
`database requests (I k r)
`Fig. 4. Model for locally distributed database system.
`
`In the model, the transmission delay of shipping data-
`base requests in the network is assumed negligible. This
`assumption while reasonable in a locally distributed sys-
`tem, would not be in a geographically distributed system.
`The other simplification in the model is that the overhead
`or the delay due to data conflict and two-phase commit-
`ment is not included. It would be otherwise necessary to
`define a more complicate model than the one presented
`here. In addition, as shown in [21], the routing decisions
`to minimize transaction response times under the optimal
`static routing strategy are not affected whether lock con-
`tention is considered.
`
`111. DYNAMIC TRANSACTION ROUTING STRATEGIES
`We now consider different dynamic transaction routing
`strategies which can be employed at the front-end system.
`As pointed out before, the two major concerns are what
`information to maintain and how to make a routing deci-
`sion based on the available information. To decide on the
`dynamic information, we need to understand which infor-
`mation can be easily maintained at the front-end, and yet
`provide valuable insight for making the routing decisions.
`One class of strategies proposed are based on routing his-
`tory of active transactions along with some static profile
`on transaction characteristics. Here, active transactions
`denote the transactions currently under (or waiting) exe-
`cution in the processing system. This class of strategies
`incurs little overhead, as routing history can be main-
`tained easily in the front-end system. The essential issue
`is to estimate load conditions of the processing systems
`and then make a good routing decision based on this es-
`timate. Different alternatives have been explored, and
`
`Petitioner Microsoft Corporation - Ex. 1047, p. 3
`
`

`
`1310
`
`IEEE TRANSACTIONS ON SOFTWARE ENGINEERING. VOL. 14, NO. 9. SEPTEMBER 1988
`
`some of them lead to very robust performance as shown
`in the next section.
`The other class of strategies considered is based on in-
`stantaneous queue length information of each processing
`system. The queue length of PI is referred to the number
`of tasks being executed at processing system P I , where a
`task is either application processing, database request
`processing or communication overhead * The instanta-
`neous queue lengths are costly to collect, as frequent mes-
`sage exchanges between the front-end system and the pro-
`cessing systems would be required. Surprisingly, we find
`that even ignoring the overhead of collecting the state in-
`formation, the latter class of strategies leads to inferior
`performance compared to the former.
`
`A. Strategies Based on Routing Histoly
`Consider a set of dynamic strategies where the routing
`decision process is based on routing history of active
`transactions along with transaction characteristics. These
`strategies, first, estimate the response time of an incoming
`transaction given that the transaction is routed to the pro-
`cessing system p,. Then the incoming transaction is routed
`to the processing system PI which provides the minimum
`expected response time.
`The routing history of active transactions is maintained
`by the front-end system in a routing history table. Each
`time a transaction txk is routed to P I , the entry in the kth
`row and the ith column of the routing history table is in-
`cremented by one to reflect the new arrival and its routing.
`Furthermore, when a transaction is completed and an out-
`put message is returned to the user through the front-end,
`the entry in the corresponding row and column of the table
`is decremented by one to reflect the departure. Note that
`there is a negligible overhead to maintain the table in the
`front-end system and requires no communications of in-
`stantaneous state information from the processing sys-
`tems.
`Next the issue of estimating the response time is con-
`sidered. The expected response time of an incoming
`transaction depends upon the transient behavior of the
`system and the future arrivals. For efficient implementa-
`tion at the front-end, a steady-state analysis is applied to
`estimate the mean response time using transaction char-
`acteristics and mean queue length at each processing sys-
`tem. From the derivation in the Appendix, the expected
`response time for a transaction txk routed to PI is given as
`
`j # i
`
`(3.1)
`where Li is the mean queue length of Pi and L = ( L l ,
`
`'Note that the number of tasks receiving IO services at system i is not
`included in the queue length.
`
`. * , L N ) . Note that although quite a few parameters ap-
`.
`pears in the above formulas, they are derived from either
`system parameters ( c and p ) , or workload parameters (ak,
`bk, dk, pio, and pkJ) which are provided from the static
`transaction profile. We now present three different ways
`to estimate L, based on routing history.
`I ) Service Time Based Strategy: Consider the moment
`that a new transaction arrives. Let mkl be the number of
`class k transactions assigned to the processing system P I ,
`and not yet completed, i.e., [ m k l ] constructs the routing
`history table. Let probk ( i , j ) denote the probability that
`a class k transaction assigned to processing system P, is
`waiting for or receiving processing service at P, . Hence,
`we can express the expected queue length LJ of P, as
`N
`K
`
`
`(3.2)
`
`for; = 1, . . . , N . Assuming that the fraction of time
`that a type k transaction is either 1) waiting or receiving
`processing service at Pi, or 2) receiving I/O service, is
`proportional to the corresponding service time, one can
`approximate the unknown probabilities in (3.2) as follows
`
`where the normalizing constant Cki is given by
`N
`N
`
`-
`
`/
`
`
`
`\
`
`Notice that the probabilities probk ( i , j ) are normalized
`by assuming that the transactions assigned to Pi receive
`either processing or I/O service.
`= (mki: k = 1 , * . . , K ; i = 1 ,
`Hence, given
`. . . , N ) and the approximate probabilities probk ( i, j )
`based on the service time proportions, one c a 3 derive es-
`timates from (3.2) of the mean queue length L . Each in-
`coming transactionds then routed to the processing system
`Pi such that Rki( L ) = min, 5 j 5
`{ Rkj( L ) }. In sum-
`mary, this strategy uses service times to estimate mean
`queue length and selects the processing system which pro-
`vides minimum response time to route an incoming trans-
`action. We shall call it MRT.ST strategy. The informa-
`tion needed in MRT. ST includes the routing history table
`m and a static profile on transaction characteristics { ak,
`b k , c, P k O , Pki,
`2) Residence Time Based Strategy: The residence time
`based strategy, which will be called MRT.RT, is different
`from MRT.ST only in the computation of probabilities
`probk(i, j ). With MRT.RT strategy, the probability
`prob,(i, j ) is proportional to the residence time at the
`
`1
`
`Petitioner Microsoft Corporation - Ex. 1047, p. 4
`
`

`
`YU et al.: DYNAMIC TRANSACTION ROUTING
`
`131 1
`
`, N . Combining (3.1) and (3.6), the ex-
`for i = 1 ,
`pected response time, for a class k transaction assigned to
`Pi, can be written as
`
`9
`
`(3.7)
`On the other hand each processor utilization is given by
`N
`i
`
`K
`.
`r
`r
`
`
`j # i
`
`(3.8)
`
`,'
`
`processing system PJ, instead of the service time. An it-
`erative approach based on the MVA equations [ 131 is ap-
`plied in order to derke the probability probk (i, j ) and the
`mean queue length L .
`The residence time Tk (i, j ) in PJ of a transaction of
`class k initially assigned to PI can be written as
`Tk(i, j ) = &(i, j ) ( N k ( i , j ) + 1)
`(3.4)
`where Nk (i, j ) is the mean number of tasks that a type k
`transaction assigned to P, finds in PJ , and Sk( i, j ) is its
`total service time at PJ . Values of Sk ( i , j ) can be simply
`derived from the service times expressed in (a.3) of the
`Appendix. Nk (i, j ) can be approximated by Nk( i , j ) =
`LJ - probk (i, j ) which is similar to the well known Bard-
`Shweitzer's algorithm [2], [15]. Thus, the probability
`probk (i, j ) which is proportional to the residence time
`Tk ( i , j ) is given as
`I p k i ( b k + ')PkJ]'
`+ J =
`1
`probk(i,j) = (bk + c)pkj(Lj - p r & ( i , j ) + 1 ) -
`j # i
`Pckr
`Note that the only unknown quantity in (3.8) is the prob-
`ability distribution pki of routing an arriving transaction of
`type k to processing element Pi. Since, in such a model,
`the routing probability distribution corresponds to frac-
`tions of transactions assigned to each P i , one can intro-
`duce the following approximation
`
`Uk + bkpk, + C
`
`pkJ
`
`J = I
`I + '
`
`( 3 . 5 )
`
`(Li - probk(i, i) + I ) - 1
`P cki
`where the normalizing constant Ck, is given by
`(LI - probk(i, i) + 1 )
`ck, = - ak + bkpk, -k C
`P
`I [
`l N
`+ -
`(bk + c ) p k j ( ~ j - p r o b k ( i , j ) + 1)
`p J=l
`J f l
`
`+ Pl'dk e P k j .
`
`J f
`
`l
`
`
`
`N
`
`j = 1
`
`Hence, given a system state 6 , the mean queue lengths
`are computed by iterating (3.5) and (3.2), starting with
`zero values for both queue lengths LJ and probabilities
`* . , N . The
`p r o b k ( i , j ) , f o r k = 1 , *
`, K, i , j = 1 ,
`MRT.RT strategy uses the same static and state-depen-
`dent information as the MRT.ST strategy. The iteration
`between (3.5) and (3.2) should not impose any substantial
`overhead during decision making.
`3) Utilization Bused Strategy: The Utilization Based
`Strategy routes each arriving transaction to the processing
`element that offers the minimum response time computed
`by using an approximation of server utilizations. (The
`strategy is simply called MRT.UT.) The approximation
`of server utilizations is based on the number mkl in the
`routing history table.
`Let pI denote the utilization of the processing element
`P I . Since each PI has a fixed service capacity and uses the
`processor sharing discipline, one can write
`
`L, = -
`1 - PI
`
`PI
`
`(3.6)
`
`e mkj
`
`(3.9)
`
`j = I
`In other words, the MRT.UT approximates the steady-
`state utilization pi by assuming a routing probability at the
`front-end and by setting it proportional to number of ac-
`tive transactions in the system.
`Hence, given a routing history table G = ( ml I ,
`,
`m,,), estimates of utilizations can be computed by (3.8)
`and (3.9), and then, by (3.7) estimates of the expected
`response time can be derived. MRT.UT strategy routes
`each arrivi-l transaction to the precessing system Pi such
`that Rki( L ) = min, s j 5 N {Rkj( L ) } . This strategy is
`based on state-dependent information i?z and static infor-
`mation {L, ak, bk, P ~ O , P k i , P ; k = 1 , *
`* , K ; i = 1,
`, N } .
`
`*
`
`*
`
`*
`
`a
`
`
`
`B. Strategies Based on Instantaneous Queue Length
`We now consider a class of strategies based on the in-
`stantaneous queue length at each processing systems. Two
`different approaches of making routing decisions are con-
`sidered. The first approach selects the processing system
`which minimizes the estimated response time as before,
`and the second one selects the system with minimal queue
`length. Although the overhead to maintain instantaneous
`queue length can be quite costly, in the following analysis
`we shall ignore this overhead, as the objective is to un-
`derstand, in the presence of remote calls, whether instan-
`taneous queue length can provide more robust estimate on
`the load condition.
`
`Petitioner Microsoft Corporation - Ex. 1047, p. 5
`
`

`
`1312
`
`IEEE TRANSACTIONS ON SOFTWARE ENGINEERING. VOL 14, NO. 9. SEPTEMBER 1988
`
`*
`
`1) Minimum Response Time: Let ?? = ( n , ,
`> nN)
`where n, is the instantaneous queue length of the process-
`. .
`, N . Assume that the
`ing system P I , for i = 1, 2,
`instantaneous queue IengLh Z is available to the front-
`end. We then estimate L by ??, i.e., the expected re-
`sponse time is estimated by Rr,( s ) . Thus, this strategy
`requires state information Z and static information { a r ,
`br , c, pko, pL,, p }. We refer to this strategy as MRT.IQL
`for minimum response time based on instantaneous queue
`length. Note that in the presence of remote database calls,
`the instantaneous queue length may not be representative
`of the mean queue length.
`2) Minimum Instantaneous Queue Length: The mini-
`mum instantaneous queue length strategy (denoted as
`MQL) routes each arriving transaction to the processing
`system that has the least number of tasks being executed.
`The minimum queue length strategy selects the processor
`{ n, } . If the minimum
`element PI such that n, = min, <,
`is not unique, a processing system, among the ones that
`achieve the minimum, is randomly chosen. This strategy
`is only based on the state information ?? and does not
`require any static information.
`The minimum instantaneous queue length strategy, also
`known as the send-to-shortest queue policy, is optimal for
`a system with identical exponential queues, a single Pois-
`son arriving transaction stream and where each transac-
`tion can be executed completely on any processor. For
`more complex systems with multiple classes and/or trans-
`actions with distributed processing requirement, the min-
`imum queue length strategy is not in general optimal.
`
`IV. SIMULATION STUDY A N D PERFORMANCE
`COMPARISONS
`In the following, we use simulation to investigate the
`effectiveness of the proposed dynamic routing strategies.
`Mean transaction response time is the main concern and
`is used to indicate system performance under the different
`load sharing strategies. To compare the performance of
`the strategies given in Section 111, we also consider the
`optimal static load sharing strategy under which an in-
`coming transaction is routed to a processing system ac-
`cording to a predefined routing probability. The optimal
`static load sharing strategy takes account of all static in-
`formation, i.e., { hk, ak, bk, c, pko, pki, p } , to determine
`the routing probabilities such that the mean transaction
`response time is minimized. The details of solving this
`optimization problem have been given in [21], where a
`simplex reflection method is used to find the optimal rout-
`ing probabilities.
`
`A. Description of the Simulations
`In order to evaluate dynamic load sharing strategies, we
`simulated the model for the locally distributed database
`system illustrated in Fig. 4. The simulation was imple-
`mented using RESQ [ 141. The routing decision is imple-
`mented as a separate function and is invoked upon a trans-
`action arrival at the front-end system. In addition, for all
`
`simulation runs, 95 percent confidence level estimates
`were obtained. The simulations were run until the relative
`width of the confidence interval (width divided by mid-
`point) was less than 0.1.
`In the experiments reported in the following, we as-
`sume that there are three transaction processing systems
`( N = 3 ) and three transaction classes ( K = 3 ) . Based on
`data from some IBM IMS systems [ 7 ] , [22], the average
`number of database requests per transaction is set to 15
`for all transaction classes, i.e., pro = 0.0625 for k = 1,
`2, 3. The matrices 1 /( 1 - p r o ) [ p r r ] , which indicate the
`distribution of database requests, are given in Table I to
`reflect low, middle, and high localities of database re-
`quests.
`To study the impact of processing load on database re-
`quests and request shippings, various system parameters
`are assigned with the following values. We assume that
`the processor speed is 7.5 MIPS and regard ah + br as a
`unit of service demand for all k . The mean service time
`of this unit is assumed to be 0.004 second (equivalently,
`30K instructions in pathlength). The service demand of
`shipping a request, c, is defined in terms of this unit. The
`IO access time, dk, and the probability of having IO ac-
`cess pio are assumed to be 40 ms and 0.7 for all transac-
`tion classes, respectively. Also, we denote the ratio of bk
`to ak + bk as rk, which represents the complexity of da-
`tabase requests.
`The load of a processing system could be due to the
`services of transaction application processing, database
`request processing, and communication overhead pro-
`cessing. Let p,, = S / N p , where S is given in Section 11,
`which indicates the average processing utilization per sys-
`tem due to application processing and database requests,
`and is independent of the routing decisions. By changing
`the arrival rates hk, we can study the transaction response
`times under different p,,. The load of a processing system
`PI due to processing database requests, denoted by ,oh( i ) ,
`is routing independent and is equal to Sf/p, where Sf is
`given in Section 11. By changing the arrival rates subject
`to a fixed pp, we can vary the relative value of the ph ( i )
`which represent the partition depending processing utili-
`zations.
`B. Performance Comparisons
`First, we study the effectiveness of routing strategies
`under different processing loads p,,. The incoming trans-
`actions are assumed to have middle locality in regard to
`the distribution of database requests, and rr = 0.3 for all
`transaction classes. The partition dependent load on each
`processing
`system
`is assumed
`to be equal,
`i.e.,
`p h ( I ) : p h ( 2 ) : p h ( 3 ) = 1 : 1 : 1 . Figs. 5 and 6 show the
`transaction response times versus p,, for c = 0.05 and c
`= 0.25 (1.5K and 7.5K instructions in terms of path-
`length), respectively.
`When the communication overhead of shipping remote
`requests is low, all dynamic load sharing strategies have
`better performance than the optimal static strategy. When
`the communication overhead is high, the optimal static
`
`Petitioner Microsoft Corporation - Ex. 1047, p. 6
`
`

`
`YU 1’1 (11.: DYNAMIC TRANSACTION ROUTING
`
`TABLE I
`THE DISTRIBUTION OF DATABASE REQUESTS USED I N EXPERIMENTS
`
`
`
`~
`
`1313
`
`h t a h a ~ c
`
`l o w locality
`3
`
`2
`
`1
`
`I
`
`i n i d d l c locality
`1
`
`I
`
`2
`
`9ign locality
`
`I
`
`2
`
`3
`
`3
`
`Tx t y p e I
`Tx type 2
`Tx t y p e 3
`
`0.65 0 . 2 0 0.15
`0 . 1 7 0 . 5 2 0.31
`0 . 2 1 0 . 2 1 0 . 5 8
`
`0.15 0.11 0 . 1 4
`0 . 0 7 0 . 8 2 0.11
`0 . 1 1 0 . 0 6 0 . 8 3
`
`0.90 0.10 0 . 0
`0 . 0 7 0 . 8 7 0.06
`0 . 1 1 0.03 0 . 8 6
`
`strategy becomes better than the MRT.UT, MQL, and
`MRT.IQL strategies. Over all strategies considered,
`MRT.ST and MRT.RT strategies yield the best perfor-
`mance. Neither of these two strategies needs instanta-
`neous state information. By maintain a routing history ta-
`ble in the front-end system, both strategies can be
`implemented easily.
`In Fig. 5(c), the mean communication load at each pro-
`cessing system versus the processing load is plotted under
`the strategies studied. The communication load at each
`processing system is due to the service of remote request
`shipping and can reflect the number of remote database
`requests. The optimal static strategy leads to the smallest
`communication load. This implies that most transactions
`are routed to the preferred processing system which owns
`the database partition referenced by the majority of their
`database requests. In general, except for MRT. UT, the
`communication loads under the other five strategies are
`increased either linearly or concavely. When the process-
`ing load is 0.81, the communication load introduced un-
`der the MRT.UT makes the system saturated. This seems
`to suggest that the system under MRT.UT tends to be
`unstable once the processing load is high.
`Both the MQL and MRT.IQL strategies use instanta-
`neous queue lengths to make transaction rout

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket