CN1926517A - Method and system for affinity management - Google Patents

Method and system for affinity management Download PDF

Info

Publication number
CN1926517A
CN1926517A CNA2005800063974A CN200580006397A CN1926517A CN 1926517 A CN1926517 A CN 1926517A CN A2005800063974 A CNA2005800063974 A CN A2005800063974A CN 200580006397 A CN200580006397 A CN 200580006397A CN 1926517 A CN1926517 A CN 1926517A
Authority
CN
China
Prior art keywords
service provider
addressing
entity
service
addressing entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005800063974A
Other languages
Chinese (zh)
Other versions
CN100421078C (en
Inventor
安德鲁·A·皮珀
马尔科姆·M·沃维克
詹姆斯·R·H·怀特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1926517A publication Critical patent/CN1926517A/en
Application granted granted Critical
Publication of CN100421078C publication Critical patent/CN100421078C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity

Abstract

A method and system for affinity management in a distributed computer system (100) are provided in which a plurality of addressing entities (311-315) need to be balanced across a plurality of service providers (301-304) whilst maintaining group affinities within the addressing entities. An identifier is provided for each of a plurality of addressing entities, wherein the identifier for each member of a group of addressing entities with an affinity is the same group identifier. A list is provided of service providers which are available to be addressed by an addressing entity to provide an instance of a service. The distribution of addressing entities to service providers is managed by an algorithm. The algorithm includes: applying (205) a hash function to the identifier of an addressing entity to obtain a standard integer; dividing (206) the standard integer by the number of service providers and obtaining the modulus; and selecting (207) a service provider by reference to the modulus. The addressing entity is sent to the instance (306) of the service provided by the selected service provider.

Description

The method and system that is used for affinity management
Technical field
The present invention relates to the field of similarity (affinity) management.Especially, the present invention relates to comprise affinity management in the Distributed Computer System of message informing (messaging) system.
Background technology
Handle in a similar fashion in hope under the situation of a plurality of entities and need affinity management.The example of such similarity is provided under can WebSphere MQ (WebSphere and MQ are the trade marks of International Business Machine Corporation (IBM)) the message informing environment in Distributed Computer System.Can send such message groups, wherein not transmit any member in this group till all members have arrived.Yet, if each member that will organize is sent to different queue management devices, owing to before queue management device is seen all group memberships, will not transmit, so consequently can not transmit the group membership.In this case, need utilize similarity to treat the member of group to guarantee that they are all sent to identical queue management device.
Whether another example of similarity necessity for existing two application programs, and they depend on a series of message that the form with problem and answer flows between them.It may be important that all answers are sent back to identical queue management device.It is highly important that workload management routine does not send a message to any queue management device of the copy of controlling (host) correct formation by chance.Similarly, may have the application program of the message that requires processed in sequence, for example, the file of the many batches of message that transmission must be retrieved in order transmits application program or database replication application program.
In bunch queue management device, can route messages to any queue management device of example (instance) of controlling suitable formation.Must check that application program understands the program of the message similarity that whether exists such as the message that needs exchange correlation.If route messages to different queue management devices, the logic that then has the application program of message similarity may be chaotic.
Open the mode (for example, the BIND_ON_OPEN option on MQQPEN calls) of formation by the change application program and can handle the affinity management in the message informing system.Yet this has the shortcoming of sending that the hypothesis application program is understood the message similarity.
In the context of WebSphere MQ message informing system, embodiments of the invention are described.Especially, in the environment of bunch queue management device.Yet the present invention also can be applied in the very wide scope of other distributed computing system such as many relevant client applications wherein wish to use the network service of same instance of network service.Another example is a WebSphere Edge Server system.
The present invention can be applied to and must keep similarity to make in any situation of the directed identical Service Instance of each member in the group by the addressing group of entities.In the environment of WebSphere MQ, message groups can keep similarity, and it is all sent to identical queue management device.
Can keep the history of the destination of the affairs of being undertaken, guarantee then can select identical destination if between the addressing entity, have similarity by the addressing entity.Yet, in high volume transaction systems, keep indicating the history that has sent each affairs normally unactual or not effective.
Summary of the invention
According to a first aspect of the invention, be provided for the method for the affinity management in the Distributed Computer System, this method comprises: in a plurality of addressing entities each provides identifier, each member's the identifier of group that wherein has the addressing entity of similarity is identical group identifier; Determine and to be used to the quantity of addressing by the addressing entity with the service provider of example that service is provided; By the distribution of following management by methods addressing entity to service provider: the identifier that hash (hash) function is applied to the addressing entity obtains standard integer; With standard integer divided by the quantity of service provider and obtain modulus; Select service provider by the reference modulus; The addressing entity is sent to the example of the service that selected service provider provides.
Can carry out the step of the quantity that is used for definite service provider periodically, and the quantity of service provider is constant in a period of time.Even service provider is dynamic, and adds or leave in this cycle, it is constant that the quantity of service provider also keeps.
This method can also comprise provides the index that device is provided by the available service of modulus value reference.For example, for 6 available service providers, modulus value will be 0 to 5, and each modulus value can provide the index of one of service provider.
If selected service provider is unavailable, then can the addressing entity be sent to next service provider with predefined procedure.If service provider is out of order, then can activates and handle the addressing entity of retrieving previous transmission.If service provider is out of order, then can after guaranteeing in another service provider, not have the addressing entity of organizing similarity, recover it.In addition, if service provider is out of order, then can redistribute the addressing entity that sends to service provider.
In one embodiment, distributed computing system can be that the addressing entity is that message and service provider are the message informing systems of bunch queue management device that controls the example of one or more bunches of formations.Group identifier can be the form of universal unique identifier (UUID).
In a further embodiment, the addressing entity can be a client applications, and service provider can be the network service of controlling the example of service.
According to a second aspect of the invention, be provided for the system of the affinity management in the Distributed Computer System, this system comprises: a plurality of addressing entities that each has identifier, and each member's the identifier of group that wherein has the addressing entity of similarity is identical group identifier; Can be used to the tabulation of addressing by the addressing entity with a plurality of service providers of example that service is provided; The algorithm that has the following step by use is used to manage the device of addressing entity to the distribution of service provider: the identifier that hash function is applied to the addressing entity obtains standard integer; With standard integer divided by the tabulation in service provider quantity and obtain modulus; Select service provider by the reference modulus; With the device that is used for the addressing entity is sent to the example of the service that selected service provider provides.
Update service provides the tabulation of device periodically, and the quantity of the service provider in the tabulation is constant in this cycle.Can provide a kind of device to point out the workload manager of the service provider that provides in the tabulation.This system can comprise the index by the service provider in the tabulation of modulus value reference.
If selected service provider is unavailable, then workload manager can send to next service provider with the addressing entity with predefined procedure.If service provider is out of order, then can generator retrieve the addressing entity of previous transmission.If service provider is out of order, then can before the service provider that recovers fault, guarantee in another service provider, not have the addressing entity of group similarity.In addition, if service provider is out of order, then can redistribute the addressing entity that sends to service provider by generator.
In one embodiment, distributed computing system can be that the addressing entity is that message and service provider are the message informing systems of bunch queue management device that controls the example of one or more bunches of formations.Group identifier can be the form of universal unique identifier (UUID).
In a further embodiment, the addressing entity can be a client applications, and service provider can be the network service of controlling the example of service.
According to a third aspect of the invention we, the computer program that is stored on the computer-readable recording medium is provided, it comprises the computer readable program code method, be used for execution in step: for each of a plurality of addressing entities provides identifier, each member's the identifier of group that wherein has the addressing entity of similarity is identical group identifier; Determine and to be used to the quantity of addressing by the addressing entity with the service provider of example that service is provided; By the distribution of following management by methods addressing entity to service provider: the identifier that hash (hash) function is applied to the addressing entity obtains standard integer; With standard integer divided by the quantity of service provider and obtain modulus; Select service provider by the reference modulus; The addressing entity is sent to the example of the service that selected service provider provides.
Description of drawings
With reference to accompanying drawing, only embodiments of the invention are described by the mode of example, wherein:
Fig. 1 is the block scheme according to distributed computing system of the present invention;
Fig. 2 is the process flow diagram of the method according to this invention; With
Fig. 3 is the block scheme according to the message informing system of the embodiment of the invention with bunch queue management device.
Embodiment
Fig. 1 is the synoptic diagram of distributed computing system 100.This system 100 is used to the layout that the affinity management that can be provided by described affinity management method wherein is provided explained in general.This can be applied to different frameworks very on a large scale in.An embodiment of the form of WebSphere MQ message informing system is described.
A plurality of addressing entities 102 in distributed computing system 100 can addressing provide the more than one service provider 104 of same services.Via the communication carried out in the system 100 of one or more networks 106 that the communication basic framework is provided.
Term addressing entity is used as the general terms of any device that comprises addressing service provider 104.For example, the addressing entity can be a client applications, also can be the message in the message informing system.
A plurality of addressing entities 102 can be correlated with in some way forms group 108, and the member of this group has similarity.The member of group 108 must keep their similarity by the same instance of addressing from the service of available service provider 104.
Also use term service that the general sense of device 104 is provided.A plurality of service providers 104 are provided to addressing entity 102 with the example of same services, make to select in a plurality of service providers 104 any one equably by addressing entity 102.Among the embodiment of the message informing system that is described below, service provider 104 is queue management devices, and a plurality of queue management device can be controlled the example of the formation of message institute addressing.In web services environment, in a plurality of service providers 104 each can control will be by the example of the service of client applications addressing.
In the method for described affinity management, determine at first which service provider is being participated in component cloth on special time.That is, can select service provider to carry out service equably by the addressing entity.The tabulation of the service provider of participating in is static in the period before when revising tabulation.Can also can be irregular cycle, for example by tabulating last definite period of quantity of continuing available service provider this period by the cycle of Policy Updates.
If service provider becomes availablely after having determined tabulation, then before revising tabulation, service provider will do not added.Similarly, if provided service provider in tabulation, but stop to available, then service provider remains on tabulation upward till revising tabulation.Therein the addressing entity is sent to and use the fault that is described below to shift (failover) mechanism in such example of no longer available service provider.
From the tabulation of service provider counting this time the quantity of service provider in the interim tabulation.This quantity is used in to be selected and balanced algorithm is chosen in the service provider that is used for each addressing entity during this period.Foundation is by the index of the service provider of numeral 0 to n reference, and wherein n is the quantity of the service provider in the tabulation.
When wishing the addressing service provider, uses the addressing entity selection algorithm.The addressing entity has identifier, and this identifier can be title, ID reference, universal unique identifier (UUID) etc.The member of the group of the addressing entity of needs maintenance similarity has identical group identifier.Come hash identifier by any suitable Hash operation, to obtain standard integer.
With the quantity n of standard integer, and obtain modulus divided by the interim service provider of counting from tabulating when current.This modulus is used for reference key and determines the addressing entity should which service provider of addressing.Owing to have identical identifier (as, group ID) as the member's of similarity group addressing entity, so each member of group will send to identical service provider.If the addressing entity has different identifiers, then according to the result of selection algorithm, they will be sent in the service provider any one, and this causes the stochastic distribution between addressing entity service provider in tabulation, that participated in.
Fig. 2 is the process flow diagram of the above method of diagram.At first step 201, create the tabulation of the service provider of participating in.Determine divisor in step 202 based on the quantity n of service provider.Create the index of the service provider that is used for each modulus in step 203.
Handle the addressing entity in step 204.The hash of carrying out the identifier of addressing entity in step 205 obtains standard integer.In step 206 standard integer is obtained modulus divided by divisor n.Search the index of service provider in step 207 and find out the modulus value that is obtained.The addressing entity is sent to the service provider that identifies with index in step 208 about this modulus.
Another pending addressing entity such as determining whether to exist in step 209 then, if exist, is circulation in next addressing entity manner of execution in step 210 then.If there is not more addressing entity, then armed state put in processing and waited for and want next processed addressing entity in step 211.
Wanting processed addressing entity is in the message informing environment of message, by the arrival triggering step 204 of message, and is message execution in step 205 to 208.Therefore, do not need circulation step 210.
This method has identical identifier by the member of similarity group, sends it to identical service provider thus and makes the addressing entity keep similarity.
Provide the fault transfer device to handle the example that the addressing entity is sent to no longer available service provider.If service provider is unavailable, then the addressing entity is sent to next service provider in the failover list.By this way, all addressing entities that are sent to disabled service provider are sent to identical rollback (fallback) service provider, keep the similarity of addressing entity thus.
If service provider is out of order, then may need to consider similarity, the addressing entity that will not have similarity simultaneously is equilibrated between effective resource, with its addressing entity send back to service provider handle again and again the guiding.Need the processing of all addressing entities that before led of retrieval.
Under the environment of WebSphere MQ message informing system, embodiment is described.The application program of moving on various computing machine or the node in network can use message and queuing (queuing) to communicate.Communicate by letter application program is communicated by letter in network by what message informing and queuing were carried out, do not connect and link them and do not need to have special, special logic.Communicate by message being put into message queue and being obtained message from message queue.
Each node all has queue management device in the network.Queue management device is by carrying out interface by the message queue interface and the application program of application call.Message queue interface is supported many different operating system platforms.
In the distributed-queuing system, queue management device is independently, and uses distributed-queuing to communicate.A queue management device that sends message to another queue management device must define transmit queue, arrive the channel of far-end queue management device and be used to the far-end queue definitions of each formation of wishing to send a message to.
When with bunch packet queue manager, the formation that queue management device can make its control for bunch in each other queue management device all be available.Arbitrarily queue management device can send a message to any other the queue management device in the cluster, and does not need clear and definite channel definition, far-end queue definitions or be used for the transmit queue of each destination.Each queue management device has independent transmit queue in bunch, each queue management device can be from this formation sends a message to bunch any other queue management device.Each queue management device in bunch only needs to define one and receives bunch receiver channel of message thereon and make a bunch of transmitter channel that is used for introducing oneself and understands bunch.
Queue management device 300 in Fig. 3 display message reporting system bunch.Four queue management device QM301, QM302, QM303, QM304 have been shown.The one or more application programs 311,312,313,314 and 315 of each queue manager service.
Each queue management device only can have can be by the local queue 305 of the application access of this queue manager service.Each queue management device in bunch can also have bunch formation 306.Any other queue management device during bunch formation 306 can be visited bunch.One or more queue management devices can also control about bunch in the storehouse (repository) 307 of information of queue management device.
Application program 311 is used MQPUT to call message is put into bunch formation 306 on any queue management device 301,302,303 and 304.Application program 311 uses MQGET to call out bunch formation 306 searching messages from the local queue manager 301.
The workload manager of the distribution queue management by being used for the balance operating load will send to bunches 300 message and be dispersed in the example of bunch formation in the effective queue management device 301,302,303,304.
WebSphere MQ message informing system provides the ability that sends message groups, and the member who does not wherein transmit group is till all members arrive.The example of the group of this same queue manager during to be requirement with all message send to bunch.If the message in will organizing sends to different queue management devices, then since any one queue management device do not see all message and arrive, so message will not transmit.The message same queue manager in there is a need to assure that bunch, that belong to given group has similarity.Yet, must not influence the message that is not grouped so that bunch in queue management device between still have balance.
Represent the group membership by the group ID that shows as 24 universal unique identifiers (UUID).The member of each group also has sequence number, and the same sign of last member of group oneself.
In described method, bunch in the workload manager of distribution queue manager carry out bunch formation which queue management device balanced algorithm determines to send a message to.Same queue manager during this balanced algorithm is sent to bunch by the member who guarantees to organize keeps group membership's similarity.
Balanced algorithm is carried out hash function to group ID and is obtained standard integer.By standard integer is obtained the modulus of standard integer divided by the quantity of queue management device, to determine the index of target queue manager.
With configuration file or other mechanism is that the tabulation of form is used to bunch formation of distribution of notifications queue management device and participates in component cloth.This tabulation determines that divisor obtains to be used in the modulus in the balanced algorithm.This divisor is the quantity of queue management device, thereby is the quantity of the example of bunch formation that can send a message to.No matter formation is to enter or leave bunch, allows the correct formation of balanced algorithm addressing as one man, and this tabulation does not change.
This allows the distribution queue manager that phase all members on the same group of message are sent to identical queue management device, and does not need hold mode or cause a large amount of expenses of checking historical generation or the like.
Queue management device bunch be dynamic, make queue management device to add at any time or to leave.If divisor is based on the current quantity of queue management device, then balanced algorithm is with easier makeing mistakes.Therefore, select to the tabulation (static state) of the given queue management device of balanced algorithm, and the permission balanced algorithm is being consistent selecting aspect the queue management device.
In addition, queue management device falls into the domino form.For example, if there are four queue management devices as shown in Figure 3 in group, then queue management device has predetermined order: QM1, QM2, QM3 and QM4.If a queue management device QM1 fault is then sent its message back to workload manager.If selected queue management device QM1 by balanced algorithm, and it is unavailable, and (in line) selects the next one, i.e. QM2 then according to priority.
Enable this domino fault transfer techniques in conjunction with being used to retrieve all previous group memberships that transmit.Rebuliding of the queue management device that recovers needs similarly control.
In case show the queue management device fault, then under the situation of not guaranteeing not exist any message that belongs to the group of in other queue management device, waiting for, can not recover this queue management device.
In addition,, then must be used for sending, be closed up to the prompting queue management device, and will redistribute till the message that has been sent out with common WebSphere system mode storing message if newly detect the queue management device fault.
By this way, can recover the operating load of the queue management device of fault, consider simultaneously similarity and effectively between resource balance do not have the message of similarity.
Example
In the example depicted in fig. 3, four available queue management devices are arranged.With queue management device and therefore the tabulation of effective example of bunch formation be compiled as index, and each queue management device has call number:
QM1=0,
QM2=1,
QM3=2,
QM4=3。
Because four queue management devices are arranged in table, therefore the divisor that is used in the balanced algorithm is 4.Keep divisor constant till revising tabulation and determining new divisor.
In this example, existence has some message groups of group identifier.For illustrative purposes is elected group identifier as suitable title.In practice, group identifier can be to be the group ID of form with 24 byte UUID for example.
In this example, hash function is to alphabetic(al) lexicographic order assignment numbers, and number phase Calais is obtained standard integer.
Following table shows the operation of the hash function that the title of group is handled.
Group name claims Standard integer Dividend removes Index based on modulus
HAMPSHIRE WILTSHIRE SUSSEX HERTFORDSHIRE DORSET DEVON CORNWALL 97 123 107 153 81 60 98 24+1 30+3 26+3 38+1 20+1 15+0 24+2 1 3 3 1 1 0 2
The call number that obtains by the balanced algorithm about the member of group with identifier " HAMPSHIRE " is 1.Therefore, the member of group is sent to QM2.Following table shows the member's of each group destination.
Queue management device Index Group
QM1 QM2 QM3 QM4 0 1 2 3 DEVON HAMPSHIRE HERTFORDSHIRE DORSET CORNWALL WILTSHIRE SUSSEX
By this way, the member with group of similarity is sent to identical queue management device, simultaneously the operating load of balance queue management device.
The present invention can be embodied as computer program, comprise the program instruction set that is used for control computer or similar device.Can provide these instructions by the storage medium that is preloaded in system or be recorded in such as CD-ROM, perhaps realize by the network download such as the Internet or mobile telephone network.
Can improve and revise the foregoing description and do not deviate from scope of the present invention.

Claims (18)

1. method that is used for the affinity management of Distributed Computer System (100), this method comprises:
For in a plurality of addressing entities (311-315) each provides identifier, each member's the identifier of group that wherein has the addressing entity of similarity is identical group identifier;
Determine and to be used to the quantity of addressing by the addressing entity with the service provider (301-304) of example that service is provided;
By of the distribution of following management by methods addressing entity to service provider:
The identifier that hash function is applied to the addressing entity obtains standard integer (205),
With standard integer divided by the quantity of service provider and obtain modulus (206), and
By the reference modulus select service provider (207) and
The addressing entity is sent to the example (208) of the service that provides by selected service provider.
2. the method for claim 1, wherein carry out the step of the quantity that is used for definite service provider periodically, and the quantity of service provider is constant in a period of time.
3. method as claimed in claim 1 or 2, wherein, this method also comprises provides the index (203) that device is provided by the available service of modulus value reference.
4. as any one described method in the claim 1 to 3, wherein,, then the addressing entity is sent to next service provider with predefined procedure if selected service provider is unavailable.
5. any one described method in the claim as described above wherein, if service provider is out of order, then activates and handles the addressing entity of retrieving previous transmission.
6. any one described method in the claim as described above wherein, if service provider is out of order, is then recovered it guarantee not have the addressing entity of group similarity in another service provider after.
7. any one described method in the claim as described above, wherein, if service provider is out of order, then redistribution sends to the addressing entity of service provider.
8. any one described method in the claim as described above, wherein, distributed computing system is the message informing system, the addressing entity is a message and service provider is a bunch queue management device of controlling the example of one or more bunches of formations.
9. system that is used for the affinity management of Distributed Computer System, this system comprises:
A plurality of addressing entities (311-315) that each all has identifier, each member's the identifier of group that wherein has the addressing entity of similarity is identical group identifier;
Can be used to the tabulation of addressing by the addressing entity with a plurality of service providers (301-304) of example that service is provided;
The algorithm that has the following step by use is used to manage the device of addressing entity to the distribution of service provider:
The identifier that hash function is applied to the addressing entity obtains standard integer (205),
With standard integer divided by the tabulation in service provider quantity and obtain modulus (206), and
By the reference modulus select service provider (207) and
Be used for the addressing entity is sent to the device of the example (208) of the service that selected service provider provides.
10. system as claimed in claim 9, wherein, update service provides the tabulation of device periodically, and the quantity of the service provider in the tabulation in a period of time is constant.
11., wherein, provide a kind of device to point out the workload manager of the service provider that provides in the tabulation as claim 9 or 10 described systems.
12. as any one described system in the claim 9 to 11, wherein, this system comprises the index by the service provider in the tabulation of modulus value reference.
13. as any one described system in the claim 9 to 12, wherein, if selected service provider is unavailable, then workload manager sends to next service provider with predefined procedure with the addressing entity.
14. as any one described system in the claim 9 to 13, wherein, if service provider is out of order, then generator obtains the addressing entity of previous transmission.
15. as any one described system in the claim 9 to 14, wherein, if service provider is out of order, then generator guarantees not have the addressing entity of group similarity in another service provider before the service provider that recovers fault.
16. as any one described system in the claim 9 to 15, wherein, if service provider is out of order, then generator redistributes the addressing entity that sends to service provider.
17. as any one described system in the claim 9 to 16, wherein, distributed computing system is the message informing system, the addressing entity is that message and service provider are bunch queue management devices of controlling the example of one or more bunches of formations.
18. the computer program of the internal storage of the digital machine of can packing into comprises the computer code part that is used for enforcement of rights requirement 1 to 10 when moving described product on computers.
CNB2005800063974A 2004-03-12 2005-03-01 Method and system for affinity management Expired - Fee Related CN100421078C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0405595.0 2004-03-12
GBGB0405595.0A GB0405595D0 (en) 2004-03-12 2004-03-12 Method and system for affinity management

Publications (2)

Publication Number Publication Date
CN1926517A true CN1926517A (en) 2007-03-07
CN100421078C CN100421078C (en) 2008-09-24

Family

ID=32117556

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800063974A Expired - Fee Related CN100421078C (en) 2004-03-12 2005-03-01 Method and system for affinity management

Country Status (6)

Country Link
US (1) US20080019351A1 (en)
EP (1) EP1728158A2 (en)
JP (1) JP2007529066A (en)
CN (1) CN100421078C (en)
GB (1) GB0405595D0 (en)
WO (1) WO2005091134A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200928A (en) * 2010-03-24 2011-09-28 富士施乐株式会社 Computation resource control apparatus, computation resource control method, and non-transitory computer-readable recording medium
CN102521304A (en) * 2011-11-30 2012-06-27 北京人大金仓信息技术股份有限公司 Hash based clustered table storage method

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693050B2 (en) * 2005-04-14 2010-04-06 Microsoft Corporation Stateless, affinity-preserving load balancing
US20080212763A1 (en) * 2007-03-01 2008-09-04 Chandranmenon Girish P Network-based methods and systems for responding to customer requests based on provider presence information
US7793140B2 (en) * 2007-10-15 2010-09-07 International Business Machines Corporation Method and system for handling failover in a distributed environment that uses session affinity
US8881167B2 (en) * 2008-04-28 2014-11-04 International Business Machines Corporation Load balancing in network based telephony applications
WO2010053763A1 (en) * 2008-10-29 2010-05-14 Academia Sinica Tumor-targeting peptides and uses thereof
US20100325640A1 (en) * 2009-06-17 2010-12-23 International Business Machines Corporation Queueing messages related by affinity set
KR101164725B1 (en) * 2009-12-21 2012-07-12 한국전자통신연구원 Apparatus and method for controlling multimedia broadcast and multicast service according to user location
CN101909003A (en) * 2010-07-07 2010-12-08 南京烽火星空通信发展有限公司 Line speed shunt equipment and method
US8751592B2 (en) * 2011-11-04 2014-06-10 Facebook, Inc. Controlling notification based on power expense and social factors
US8843894B2 (en) 2012-03-12 2014-09-23 International Business Machines Corporation Preferential execution of method calls in hybrid systems
US10097628B2 (en) * 2014-01-29 2018-10-09 Microsoft Technology Licensing, Llc Resource affinity in a dynamic resource pool
US10122647B2 (en) 2016-06-20 2018-11-06 Microsoft Technology Licensing, Llc Low-redistribution load balancing
US11237963B2 (en) * 2019-02-01 2022-02-01 Red Hat, Inc. Shared filesystem metadata caching
US11368465B2 (en) * 2019-02-21 2022-06-21 AVAST Software s.r.o. Distributed entity counting with inherent privacy features

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109512A (en) * 1990-05-31 1992-04-28 International Business Machines Corporation Process for dispatching tasks among multiple information processors
JPH04195577A (en) * 1990-11-28 1992-07-15 Hitachi Ltd Task scheduling system for multiprocessor
US6263364B1 (en) * 1999-11-02 2001-07-17 Alta Vista Company Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness
US6587866B1 (en) * 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
US7366755B1 (en) * 2000-07-28 2008-04-29 International Business Machines Corporation Method and apparatus for affinity of users to application servers
CA2479404A1 (en) * 2002-03-15 2003-09-25 Shinkuro, Inc. Data replication system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200928A (en) * 2010-03-24 2011-09-28 富士施乐株式会社 Computation resource control apparatus, computation resource control method, and non-transitory computer-readable recording medium
CN102200928B (en) * 2010-03-24 2015-09-23 富士施乐株式会社 Computational resource opertaing device and computational resource control method
CN102521304A (en) * 2011-11-30 2012-06-27 北京人大金仓信息技术股份有限公司 Hash based clustered table storage method

Also Published As

Publication number Publication date
CN100421078C (en) 2008-09-24
WO2005091134A2 (en) 2005-09-29
US20080019351A1 (en) 2008-01-24
EP1728158A2 (en) 2006-12-06
WO2005091134A3 (en) 2005-12-15
GB0405595D0 (en) 2004-04-21
JP2007529066A (en) 2007-10-18

Similar Documents

Publication Publication Date Title
CN1926517A (en) Method and system for affinity management
US10637949B2 (en) Transparent sharding of traffic across messaging brokers
US8843580B2 (en) Criteria-based message publication control and feedback in a publish/subscribe messaging environment
EP3007113B1 (en) Event processing with enhanced throughput
US8615580B2 (en) Message publication feedback in a publish/subscribe messaging environment
EP2277110B1 (en) Distributed service framework
US8738646B2 (en) Method and system for selecting amongst a plurality of processes to send a message
US9276995B2 (en) Techniques for metadata-driven dynamic content serving
US10958505B2 (en) Techniques and architectures for recovering from a service disruption in a multi-server environment
US20110258628A1 (en) System, method and computer program product for transporting a task to a handler, utilizing a queue
JP2021526751A (en) Secure consensus endorsement for self-monitoring blockchain
US20120215873A1 (en) Failure-controlled message publication and feedback in a publish/subscribe messaging environment
US9195681B2 (en) System, method and computer program product for transmitting a group of data elements
CN1842075A (en) Using subqueues to enhance local message processing
US9418003B2 (en) System, method and computer program product for conditionally performing garbage collection
US11023346B2 (en) Techniques for providing application contextual information
US20180189792A1 (en) Methods and systems for performing data assessment
US11726842B2 (en) Techniques and architectures for non-blocking parallel batching
US11902102B2 (en) Techniques and architectures for efficient allocation of under-utilized resources
US10645155B2 (en) Scalable parallel messaging process
Ghazimirsaeed et al. Communication‐aware message matching in MPI
US20180095664A1 (en) Techniques and architectures for efficient allocation of under-utilized resources
US10511656B1 (en) Log information transmission integrity
US11595309B2 (en) Source network address translation for unique sender identification
US20190278625A1 (en) Rule-based reallocation of hosted compute resources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080924

Termination date: 20100301