Routing workloads and method thereof
7 claims: 7 independent, 0 dependent
- 1A method (300) of calculating, in a workload manager (101), a dispatcher's share (D) of the relative amount of workload items a dispatcher should receive, said workload manager (101) coupled to an arbitrator (102), said arbitrator (102) coupled to a plurality of systems (117-119), each system comprising a dispatcher (103), each dispatcher (103) coupled to a plurality of execution units (106-114), said arbitrator (102) being adapted for receiving and distributing a flow of workload items (115) to said dispatchers (103-105), said execution units (106-114) being adapted for executing said workload items (115), said workload items (115) being of at least a first, a second or a third type, said method comprising the steps of:reading (301) a total of service units (W, 407) for each workload type across said plurality of systems (117-119) from a memory (116), said service units being a value for measuring CPU consumption in a time interval;reading (302) a capacity (cap, 408, 409, 410) value for each workload type on each system (SYS) of said plurality of systems (117-119) from said memory, said capacity value being indicative of a maximum of service units that a system can execute in said time interval;calculating (303) a first, second and third dispatcher's relative share (R) by dividing said capacity of each workload type on each system by said total of service units of each workload type and obtaining the minimum value of said dispatcher's relative share of each system;calculating a relative queue length (V, 424, 425, 426) for each system by dividing a queue length (q, 421, 422, 423) of said workload items for each workload type on each system by said capacity of each workload type on each system;calculating said dispatcher's share (D) for each system by combining said minimum value and a first function of said relative queue length using an arithmetic operation, wherein said first function of said relative queue length comprises calculating an inverse of one plus a maximum of said relative queue length and said arithmetic operation is a multiplication.
- 2A method as in any preceding claim, wherein said dispatcher's share (R) is normalized by dividing said dispatcher's share by an addition of all dispatcher's shares of all systems.
- 3A method as in any preceding claim, wherein said first, second and third workload type are CP, zAAP and zIIP.
- 4A method as in any preceding claim, wherein said minimum value is normalized by dividing said minimum value by an addition of all minimum value of all systems.
- 5A method as in any preceding claim, wherein said arbitrator distributes said flow of workload items to other dispatchers in other systems.
Independent claims7
41 paragraphs, as filed
Technical field
0001The invention relates to a method of calculating a routing workload in a workload manager and to a computer program product.
Background and related art
0002Mainframes are computers used mainly by large organizations for critical application and processing of great amounts of data, as e.g. financial transaction processing. Mainframes are highly redundant for providing reliable and secure systems. Mainframes are able to run or host multiple operating systems and therefore may replace the use of dozens of smaller servers, reducing management and providing improved scalability. Modern mainframes include the IBM zSeries and System z9 servers.
0003A parallel sysplex is a cluster of IBM mainframes acting together as a single system image, using z/OS. A sysplex uses parallel processing and enables read/write data sharing across multiple systems with full data integrity, in order to cluster up to 32 systems and share a workload across the systems. The workload can be dynamically distributed across individual processors within a system, as well as to any system in a cluster having available resources. Workload balancing also permits to run diverse applications across a parallel sysplex cluster, while maintaining a critical response level. If the workload balancing or workload routing is not done correctly, an overload in the system may occur.
0004Therefore a method of efficiently calculating a dispatcher's share in a workload manager, a workload manager and a computer program product adapted for performing the method in accordance with the invention is needed.
0005<patcit id="pcit0001" dnum="WO0113228A"><text>WO0113228</text></patcit> discusses application server load balancing. Requests may be mapped from client computers to a set of application servers in a cluster. Different load balancing methods and criteria may be used, such as client computers making the load balancing decisions or the load balancing decisions being made by load balancing services running on the application server computers. A variety of load balancing criteria may be used, such as server load factors such as CPU load, disk input/output rate, number of requests queued, etc. <patcit id="pcit0002" dnum="US2007143460A"><text>US2007/143460</text></patcit> discusses load-balancing metrics for adaptive dispatching of long asynchronous network requests. Load-balancing in a data network involves a network dispatcher for assigning each new request to a selected server. The servers generate metrics indicative of their currently assigned workloads, and the network dispatcher allocates requests according to weighted server probabilities reflecting the servers' capabilities and the metrics.
Summary of the invention
0006The invention is set out as in independent method claim 1, corresponding computer program product claim 6 and corresponding system claim 7. The present invention provides a method of calculating, in a workload manager, a dispatcher's share (D) of the relative amount of workload items a dispatcher should receive, the workload manager coupled to an arbitrator, the arbitrator coupled to a plurality of systems, each system comprising a dispatcher, each dispatcher coupled to a plurality of execution units, the arbitrator being adapted for receiving and distributing a flow of workload items to the dispatchers, the execution units being adapted for executing the workload items, the workload items being of at least a first, a second and a third type, the method comprising the steps of: reading a total of service units (W) for each workload type across the plurality of systems from a memory, the service units being a value for measuring CPU consumption in a time interval; reading a capacity (cap) value for each workload type on each system (SYS) of the plurality of systems from the memory, the capacity value being indicative of a maximum of service units that a system can execute in the time interval.
0007The method further comprises: calculating a first, second and third dispatcher's relative share (R) by dividing the capacity of each workload type on each system by the total of service units of each workload type and obtaining the minimum value of the dispatcher's relative share of each system; calculating a relative queue length (V) for each system by dividing a queue length (q) of the workload items for each workload type on each system by the capacity of each workload type on each system; calculating the dispatcher's share (D) for each system by combining the minimum value and a first function of a maximum of the relative queue length using an arithmetic operation.
0008The dispatcher's share refers to the dispatcher's share to all routing, that is the share of workload that all dispatchers receive from the arbitrator. The dispatcher's relative share refers to the dispatcher's relative share of smallest relative execution capacities.
0009The first function of the relative queue length of the method comprises calculating an inverse value of one plus a maximum of the relative queue length. The arithmetic operation is a multiplication. The first, second and third workload type are general CPU (CP), z Application Assist Processor (zAAP) and z9 Integrated Information Processor (zIIP). The dispatcher's share is normalized by dividing the dispatcher's share by an addition of all dispatcher's shares of all systems.
0010The minimum value of the method is normalized by dividing the minimum value by an addition of all minimum value of all systems. The arbitrator distributes the flow of workload items to other dispatchers in other systems.
0011One of the advantages of the embodiments is that the queues in the dispatchers and the execution units do not grow to infinity as a result of capacity shortage or an outage of an execution unit, as long as the total sysplex capacity still exceeds the total workload demand for every workload type. For these cases, the dispatcher's share of all routings to each system depend on the queue length relative to its capacity on any processor and the relative value of the total of services unity of a workload type by its capacity. In the case of an outage of an execution unit on one system, it is possible to compensate it by distributing the workload to other systems without resulting in an overflow of or congestion of resources in the other systems. Another advantage is that the dispatcher's share calculation is independent of the initial workload distribution and the algorithm converges to an optimal workload distribution.
0012In another aspect, the invention relates to a computer program product stored on a computer usable medium, comprising computer readable program means for causing a computer to perform a method according to the invention when said program is run on said computer.
0013In another aspect, the invention relates to a data processing system for workload management operable to perform according to any of the preceding embodiments.
Brief description of the drawings
0014In the following preferred embodiments of the invention are described in greater detail by way of example only making reference to the drawings in which: <dl id="dl0001"><dt>Fig. 1</dt><dd>shows a block diagram of a first sysplex according to an embodiment of the invention,</dd><dt>Fig. 2</dt><dd>shows a block diagram of a plurality of interconnected systems forming a sysplex according to an embodiment of the invention,</dd><dt>Fig. 3</dt><dd>shows a flow chart of a method of calculating a dispatcher's share according to an embodiment of the invention,</dd><dt>Fig. 4</dt><dd>shows a block diagram of the calculation of the workload manager in accordance with an embodiment of the invention.</dd></dl>
Detailed description
0015<figref idref="f0001">Fig. 1</figref> shows an example 100 comprising a first system 118 with a first workload manager 101 coupled to an arbitrator 102; the arbitrator coupled to a first, a second and a third dispatcher 103-105, each dispatcher coupled to three execution units 106-114. The first workload manager 101 is coupled to another two workload managers 120-121. The first dispatcher 103 is located in a second system 117 and is coupled to the execution units 106-108, the dispatcher 104 is located in the first system 118 and is coupled to the three execution units 109-111, and the third dispatcher 105 is located in the third system 119 and is coupled to another three execution units 112-114. A memory 116 is coupled to the workload manager 101.
0016An arbitrator 102 receives incoming workload items 115 and routes them to dispatching units 103-105. Each dispatcher determines the workload type of the workload items and routes them to specialized execution units 106-114. The queue length of the plurality of workload items can be measured for each dispatcher and each execution unit. For example the dispatcher 103 has a queue length (q<sub>D1</sub>) of five workload items and the execution unit 106 has a queue length (q<sub>E1,1</sub>) of three workload items. There is no need to measure the queue lengths for all dispatchers or execution units. The only prerequisite of the embodiment of the invention is that at least one stage of the routing behind the arbitrator the queues are measured.
0017Each workload item requires a different CPU consumption of an execution unit in a time interval, and that consumption is not known in advance by the arbitrator, so that the assignment of the plurality of workload items 115 to the dispatchers does not depend on the size of each workload item or its CPU consumption. The workload type of each workload item is identified by the dispatchers, and the size of the workload items is identified either by the dispatcher or by the execution units. As the arbitrator does not know in advance the workload type of the workload items and the size of the workload items, a wrong algorithm may cause a queue to grow to infinity. The workload managers 101,120-121 of all systems are connected and constantly interact and communicate the capacity and workload values of its systems. The memory 116 stores the values of total of services units of all workload types across the plurality of systems and the capacity value of all workload types of each system.
0018<figref idref="f0002">Fig. 2</figref> shows an example of a Sysplex 200 that is formed by a plurality of interconnected systems including a first, second, third and fourth system 201-204. Each system includes a workload manager 205-208, all workload managers 205-208 are coupled to each other. The workload managers 205-206 are coupled to the arbitrators 209-210. Alternatively, it is sufficient to have one arbitrator in the whole sysplex. The arbitrators 209-210 are coupled to a plurality of dispatchers 213-216 and each dispatcher 213-216 is coupled as well to a plurality of execution units 217-220. Not every system requires an arbitrator, as the arbitrator may route the workload to any system in the sysplex.
0019Each workload manager 205-208 processes the routing algorithm that calculates the dispatcher's share of the relative amount of workload items a dispatcher should receive. The arbitrators 209-210 do not know the workload type or workload size and receive the routing recommendations from the workload manager 205-208 and distribute the workload items according to the results of the algorithm. The dispatchers 213-216 are also known as queue managers and receive the workload items from the arbitrators 209-210 and queue them until they are fetched by the execution units 217-220, also called servers. The execution units 217-220 execute the workload items, read the workload type and decide what processor is able to process the workload item. The workload types may be of three or more types including general CPU (CP), z Application Assist Processor (zAAP) and z9 Integrated Information Processor (zIIP). A different processor is used for each workload type. The workload managers across all the systems are coupled in order to receive the information related to the dispatcher status across all the systems.
0020<figref idref="f0003">Fig. 3</figref> shows a flow diagram 300 of the method of calculating a dispatcher's share (D) in a workload manager. The first step 301 comprises obtaining a total of service units for each workload type across the plurality of systems in the time interval in progress. The service units are a value that measures the CPU consumption in a time interval. The total of service units includes a value for the first workload type, a second and third values for the second and third workload types. Further workload types may also be available in the system, with a further corresponding total of service units.
0021The second step 302 includes obtaining a capacity value for each workload type, including the first, second and third workload type on each system of the plurality of systems. The capacity measures the maximum amount of service units that a system is capable of executing in a time interval. A Different capacity value is obtained for each workload type and for each system, so that each system will include a capacity value for each workload type.
0022The flow diagram 300 further comprises a third step 303 for calculating a dispatcher's relative share, that is obtained by dividing the capacity for each workload type on each system by the total of service units for each workload type. The obtained capacity for each workload type on each system is divided by the total of service units of the same workload type and the minimum value corresponds to the dispatcher's relative share of each system. On the third step 303 a single value is obtained for each system. The forth step 304 comprises calculating a relative queue length from each system by dividing a queue length of the workload items for each workload type on each system by the capacity of each workload type on each system, each system obtaining a value for each workload type. The fifth step 305 calculates the dispatcher's share (D) for each system by combining the minimum value and a first function of the relative queue length using an arithmetic operation.
0023<figref idref="f0004">Fig. 4</figref> shows an example of a calculation of the dispatcher's share for distributing a flow of workload items across a plurality of dispatchers. The table comprising three systems 401-403, a first workload type 404, a second 405 and a third workload type 406; a total of service units 407, a plurality of capacities on each system, the first plurality of capacities 408 on the first system 408, the second plurality of capacities 409 on the second system 409 and the third plurality of capacities 410 on the third system 410. The second table 420 further comprises a plurality of queue lengths of each workload type and on each system 421-423, a calculated relative queue length on each system and for each workload type 424-426 and a function of the relative queue length for each workload type on each system 427.
0024One of the first steps for calculating a dispatcher's share in a workload manager includes obtaining the values for the total of service units 407 of each workload type across all the systems 401-403. In this example, the total of service units on the first system 401 for the first workload type is 300, the total of service units for the second workload type is 500 and the third total of service units for the third workload type is 10.
0025Another step includes obtaining a capacity value of each system 408-410 and workload type. For example, on the first system 401 the capacity of the first workload type is 90, the capacity of the second workload type is 100 and the capacity for the third workload type is 10. On the second system 402, the capacity for the first workload type is 200, the capacity for the second workload type is 400 and the capacity for the third workload type is 100. After the capacities are obtained for all the systems, a dispatcher's relative share may be calculated on each system and for each workload type.
0026On the first system 401, a first workload a system is able to process 411 is obtained by dividing the capacity of the first workload type, corresponding to '90', by the total of service units of the first workload type, corresponding to '300', resulting on '0.3'. The second capacity of the second workload type, with a value of '100', is divided by the total of service units of the second workload type, with a value of '500', resulting in a second workload a system is able to process of '0.2'. This value refers to the actual workload in percentage that a system is able to process. The same process is repeated for the third system that results in '1' and the same is repeated across all the systems obtaining three different values for each system.
0027Another step of the method of calculating a dispatcher's share includes calculating the minimum value of the previously obtained dispatcher's relative share. For example on the first system there are three values of the dispatcher's relative share, which are '0.3', '0.2' and '1'; the minimum value of these three values is '0.2'. For the second system, the minimum value is '0.6' and on the third system the minimum value of the dispatcher's relative share is '1'.
0028The second table 420 shows an example of the following steps that comprises the method of calculating a dispatcher's share that includes calculating the relative queue length 424-426 by dividing a queue length by the capacity for a specific workload type. On the first system 401 and for the first workload type the queue length is '125'; the queue length for the second workload type is '89' and the third queue length for the third workload type is '67'. The first relative queue length of the first system is obtained by dividing '125' by '90', obtaining '1.388'; and the second relative queue length is obtained by dividing '89' by '100', obtaining '0.89'. The same process is repeated for all queue lengths of all workload types across all the systems, so that the third relative queue length of the first system is '6.7'.
0029The table 420 further comprises a first function of the relative queue length that includes obtaining the inverse value of one plus the maximum relative queue length. On the first system 401 the maximum relative queue length is '6.7', so that the inverse of that value plus 1 is '0.12987'. On the second system, the highest relative queue length is '3.655', so that the inverse of one plus the value is '0.214'; and for the third system the maximum relative queue length is '4.356' and the inverse value of the maximum queue length is '0.186'. When all these values are calculated, the dispatcher's share is obtained by multiplying the minimum value of a dispatcher's relative share of each system by the first function value of each system, so that for the first system the '0.2' is multiplied by '0.129', obtaining '0.0259'; and for the second system the '0.66' is multiplied by '0.214'.
0030Finally, for the third system '1' is multiplied by '0.18'. These three values indicate the dispatcher's share for each system, so that the arbitrator can route a different amount of workload units for each dispatcher, so that the best possible distribution of the workload items is obtained across all the dispatchers and for all the systems. After a predefined, fixed time interval the calculation is repeated, taking into account any changes in the workload W, the capacities and queue lengths and thus adjusting the dispatchers' shares to new optimal values.
0031The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
0032Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
0033The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk - read only memory (CD-ROM), compact disk - read/write (CD-R/W) and DVD.
0034A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
0035Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
0036While the foregoing has been with reference to particular embodiments of the invention, it will be appreciated by those skilled in the art that changes in these embodiments may be made without departing from the scope of the invention that is defined by the appended claims. <tables id="tabl0001" num="0001"><table frame="all"><title><b><u>List of Reference Numerals</u></b></title><tgroup cols="2"><colspec colnum="1" colname="col1" colwidth="19mm" /><colspec colnum="2" colname="col2" colwidth="40mm" /><tbody><row><entry>100</entry><entry>Block diagram</entry></row><row><entry>101</entry><entry>Workload manager</entry></row><row><entry>102</entry><entry>Arbitrator</entry></row><row><entry>103</entry><entry>First dispatcher</entry></row><row><entry>104</entry><entry>Second dispatcher</entry></row><row><entry>105</entry><entry>Third dispatcher</entry></row><row><entry>106</entry><entry>Execution unit</entry></row><row><entry>107</entry><entry>Execution unit</entry></row><row><entry>108</entry><entry>Execution unit</entry></row><row><entry>109</entry><entry>Execution unit</entry></row><row><entry>110</entry><entry>Execution unit</entry></row><row><entry>111</entry><entry>Execution unit</entry></row><row><entry>112</entry><entry>Execution unit</entry></row><row><entry>113</entry><entry>Execution unit</entry></row><row><entry>114</entry><entry>Execution unit</entry></row><row><entry>115</entry><entry>Workload items</entry></row><row><entry>200</entry><entry>Sysplex</entry></row><row><entry>201</entry><entry>System 1</entry></row><row><entry>202</entry><entry>System 2</entry></row><row><entry>203</entry><entry>System 3</entry></row><row><entry>204</entry><entry>System 4</entry></row><row><entry>205</entry><entry>Workload manager</entry></row><row><entry>206</entry><entry>Workload manager</entry></row><row><entry>207</entry><entry>Workload manager</entry></row><row><entry>208</entry><entry>Workload manager</entry></row><row><entry>209</entry><entry>Arbitrator</entry></row><row><entry>210</entry><entry>Arbitrator</entry></row><row><entry>211</entry><entry>Arbitrator</entry></row><row><entry>212</entry><entry>Arbitrator</entry></row><row><entry>213</entry><entry>Dispatchers</entry></row><row><entry>214</entry><entry>Dispatchers</entry></row><row><entry>215</entry><entry>Dispatchers</entry></row><row><entry>216</entry><entry>Dispatchers</entry></row><row><entry>217</entry><entry>Execution units</entry></row><row><entry>218</entry><entry>Execution units</entry></row><row><entry>219</entry><entry>Execution units</entry></row><row><entry>220</entry><entry>Execution units</entry></row><row><entry>300</entry><entry>Flow chart</entry></row><row><entry>301</entry><entry>First step</entry></row><row><entry>302</entry><entry>Second step</entry></row><row><entry>303</entry><entry>Third step</entry></row><row><entry>304</entry><entry>Forth step</entry></row><row><entry>305</entry><entry>Fifth step</entry></row><row><entry>306</entry><entry>Sixth step</entry></row><row><entry>400</entry><entry>First table</entry></row><row><entry>401</entry><entry>System 1</entry></row><row><entry>402</entry><entry>System 2</entry></row><row><entry>403</entry><entry>System 3</entry></row><row><entry>404</entry><entry>CP</entry></row><row><entry>405</entry><entry>Second workload type</entry></row><row><entry>406</entry><entry>Third workload type</entry></row><row><entry>407</entry><entry>Total of service units</entry></row><row><entry>408</entry><entry>Capacity</entry></row><row><entry>409</entry><entry>Capacity</entry></row><row><entry>410</entry><entry>Capacity</entry></row><row><entry>420</entry><entry>Second table</entry></row><row><entry>421</entry><entry>Queue length</entry></row><row><entry>422</entry><entry>Queue length</entry></row><row><entry>423</entry><entry>Queue length</entry></row><row><entry>424</entry><entry>Relative share</entry></row><row><entry>425</entry><entry>Relative share</entry></row><row><entry>426</entry><entry>Relative share</entry></row><row><entry>427</entry><entry>Function of relative share</entry></row></tbody></tgroup></table></tables>
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| WO0113228A | Cites | World Intellectual Property Organization (WIPO) |
| US2007143460A1 | Cites | United States of America |
16 members in 6 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 08151917 | European Patent Office (EPO) | – | |
| 08151917 | European Patent Office (EPO) | A | |
| 2009050914 | European Patent Office (EPO) | W | |
| 09716163 | European Patent Office (EPO) | A | |
| WO2009EP50914 | – | – | – |
| EP20080151917 | – | – | – |
| EP20090716163 | – | – | – |
| 08151917 | – | – | – |
| 2009050914 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| US2009217288A1 | United States of America | A1 | |
| WO2009106398A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2009106398A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP2255286A1 | European Patent Office (EPO) | A1 | |
| KR20100138885A | Republic of Korea | A | |
| KR20100138885A | Republic of Korea | A | |
| CN101960428A | China | A | |
| JP2011513807A | Japan | A | |
| JP4959845B2 | Japan | B2 | |
| US8245238B2 | United States of America | B2 | |
| US2012291044A1 | United States of America | A1 | |
| CN101960428B | China | B | |
| US8875153B2 | United States of America | B2 | |
| US2015040138A1 | United States of America | A1 | |
| EP2255286B1This record | European Patent Office (EPO) | B1 | |
| US9582338B2 | United States of America | B2 |
72 legal events, as 9 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Opt-out of the competence of the unified patent court (upc) registeredP01 | P01 | EP | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: H04L0029080000R079 | R079 | DE | |
| Change of representativeR082 | R082 | DE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent lapsedLapsedMM4A | MM4A | IE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Deletion acc. to par. 5 (withdrawal of the translation of the ep patent)MK05 | MK05 | AT | |
| Patent invalid in the netherlands as no translation has been filedMP | MP | NL | |
| Invalidated european patentMG4D | MG4D | LT | |
| Register noted 'licences of right' (sect. 46/1977)746 | 746 | GB | |
| New agentNV | NV | CH | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| Declaration of willingness to licenceR084 | R084 | DE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Reference to at number (ep patent validated in austria)REF | REF | AT | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Intention to grant announcedINTG | INTG | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: G06F0009500000R079 | R079 | DE | |
| First examination report despatched17Q | 17Q | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 2255286
- Publication, DOCDB
- 2255286
- Publication, EPODOC
- EP2255286
- Application
- 97161632
- Application, DOCDB
- 09716163
- Application, EPODOC
- EP20090716163
Titles3
- German
- WEITERLEITUNG VON ARBEITSLASTEN UND VERFAHREN DAFÜR
- English
- ROUTING WORKLOADS AND METHOD THEREOF
- French
- ROUTAGE DE CHARGES DE TRAVAIL ET PROCÉDÉ APPARENTÉ
Classification
- CPC, 6
- G06F9/5083
- G06F9/505
- H04L67/1008
- G06F9/4881
- H04L67/1001
- H04L67/1002
- IPC, 3
- H04L29 08
- G06F9 48
- G06F9 50
Designated states35
- Contracting states, 35
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Croatia
- Hungary
- Ireland
- Iceland
- Italy
- Liechtenstein
- Lithuania
- Luxembourg
- Latvia
- Monaco
and 11 moreShow fewer
- North Macedonia
- Malta
- Netherlands (Kingdom of the)
- Norway
- Poland
- Portugal
- Romania
- Sweden
- Slovenia
- Slovakia
- Türkiye
