The present invention relates to the field of information dissemination over a computer network. More particularly the invention relates to client server architecture in a computer network where clients seek information items from the server by generating request messages and receiving data messages.
Modem computer networks often involve systems/agents/servers that are required to maintain (have) a large database of information (Items). For example, yahoo.com provides news, stock market quotes, sports information, multimedia content etc involving a multitude of large databases. The databases are used to serve requests for subsets of items of information from various client systems (Information seekers/Seekers).
The most obvious manner of fulfilling the requests is by sending the requested subsets of items to each individual client. This approach however may burden the computational resources of the server as well as the network resources. Alternatively, the server could broadcast all items to all information seekers and the individual recipients would then extract the information required by it. This solution results in inefficient utilization of the network bandwidth while at the same time burdening each recipient with the task of searching through an enormous amount of information. One manner of resolving the contradicting requirements on computational costs at the server as well as at the client system is to group items that are requested by groups of clients and then furnish the set of responses to the corresponding groups of clients. In this manner, a tradeoff between the contradicting requirements can be achieved that optimizes a global objective.
There are various types of costs involved in servicing the requests from clients. The server will incur some cost each time it sends an information bundle across to the clients.
A given client may not receive exact number of items that it has requested; it may receive more/less number of items than that the requested number. There is a cost associated with each item that a client did not receive. Also, there is a cost associated with each item it received and did not request for, because the client has an additional burden to prune such extra information.
U.S. Pat. No. 5,805,823 provides a system and method for optimal multiplexed message aggregation between client applications in a client-server network. This invention provides for a message architecture that multiplexes messages to a client. This invention does a plain simple aggregation of messages and not of clients. Further the aggregation done is plain and simple and no optimisation technique is defined in order to save on computational resources.
US patent Publication Ser. No. 2002020124101A1 relates to server side optimization of content delivery to clients by selective in-advance delivery to enable performance optimization based on the current load of the server. This invention based on probabilistic measure delivers the content in advance to the clients. It does not take into consideration the actual requests by one or more clients.
US patent Publication Ser. No. 20010027494A1 bundles one or more messages destined for the same address or sub-address. The data packets are managed only for the same client and the computing devices being served by it. The bundling is done based on the user-defined time limit or the packet size. The invention does not disclose any method wherein an optimisation between bundling the messages as against transmitting them alone is achieved.
U.S. Pat. No. 6,407,994 provides a system and method for bundling messages for transmission in a telecommunications network. This patent bundles one or more messages intended only for a particular client and does not take into consideration other clients having the requests for the same information item. Thereby though this patent reduces the bandwidth requirement, it does nothing to tackle the processing overhead involved at the server or at the client end.
The object of the present invention is to minimize the overall cost of satisfying clients' requests by simultaneously clustering the clients and their requests. The optimization covers computational costs at both the server and the client.
To achieve the said objective the proposed invention first formulates the various costs involved in serving requests from various clients. The invention then applies a method and system for simultaneously clustering clients and items. The clustering is carried-out over a number of requests and clients over a range of configurable pre-defined values and calculates the costs involved for each chosen cluster number value. The invention uses a fuzzy clustering algorithm for simultaneously clustering the clients and items so as to minimize the overall cost of satisfying the clients' requests.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative preferred embodiment when read in conjunction with the accompanying drawings, wherein:
The clients (1.2, 1.3, 1.4, 1.5) comprise be electronic devices such as personal computers, mobile phones, interactive televisions and the like, operated by humans or software agents operating on behalf of individuals or organizations.
In the preferred embodiment of the invention, the instructions are stored on the storage device (2.5) in the form of a computer program. This program contains coded instructions for different algorithms described herein the specification. On running the program, the instructions are transferred to the memory (2.4) and the microprocessor (2.3) executes the instructions. The system can be manually controlled by giving instructions through means of input devices such as keyboard (2.11) and mouse (2.12). Instructions, whether from the program or from the user input reside in the memory (2.4) and are subsequently acted upon by the microprocessor (2.3). It should be understood that the invention is not limited to any particular hardware comprising the computer system or the software running on it.
Those of ordinary skill in the art will appreciate that the various means for generating service requests by the clients and their processing by the server are computer programs. These programs are capable of existing in an embedded form within the hardware of the system or may be embodied on various computer readable media. The computer readable media may take the form of coded formats that are decoded for actual use in a particular information processing system. Computer program means or a computer program in the present context mean any expression, in any language, code, or notation, of a set of instructions intended to cause a system having information processing capability to perform the particular function either directly or after performing either or both of the following:
The depicted example in
The problem sought to be solved by the instant invention maybe defined as follows:
Let R1, . . . , and RK be sets of subsets of items that are sent to subsets S1, . . . , and SK, of clients, respectively. Let R1, . . . , and RK be represented by N-dimensional binary column vectors and S1, . . . , and SK also by M-dimensional binary column vectors. Also, let R=[rij]=[R1, . . . , RK] and S=[sij]=[S1, . . . , SK] represent the corresponding matrices. That is,
Then, the cost at the server is proportional to K and the cost at a client depends on the number of extra items it received and the number of the items it requested but did not receive. Let T=[tij] where tij is the number of copies of ri that sj receives,
Then, the total number of items received by sj is Σit
where, aj=[a1j, . . . , aNj] is the vector representing the items requested by sj, tj=[t1j, . . . , tNj] is the vector representing the items received by sj, and |x∇y| represents the cardinality of the symmetric difference between vectors x and y. The problem then is to find R, S, and K such that φ(R, S, K) is minimized.
The solution to the above problem depends on the matrix A=[aij]. As a simple example, consider a case in which M clients, each seeking only one item, seek M distinct items (that is, M<N). Since all clients are identical from the optimization point of view, assume that the M items requested by the clients are grouped into K equal groups and each group of items is multicast to the corresponding set of clients that request the items in the group. Then, |tj∇aj|=M/K−1 the solution to the above optimization problem, result in
One of the inferences from the above equation is that the items should be grouped and multicast to serve the requests only when βM2>α, i.e., the server processing cost is at least M times more important than that of clients.
The invention proposes to solve the aforementioned problem of optimization through clustering of clients and items. The basic steps involved are highlighted in
Finding an optimal solution to the above stated problem, when A is an arbitrary binary matrix, is difficult. This invention proposes a clustering algorithm that approximately solves the above problem by finding a sub-optimal solution.
The solution operates by finding R and S that minimizes φ(R, S, K) for various values of K over a given range, and then selecting a K that minimizes the objective function. An optimization algorithm based on fuzzy set theory that optimizes φ(R, S, K) for a given K, denoted as φ(R, S) for simplicity is given below. For a given K, the solution optimizes
Assume element sj belongs to the l-th cluster with a fuzzy membership sjl and ri belongs to the l-th cluster with a fuzzy membership ril, where sjl ∈[0,1] and ril ∈[0,1]. These fuzzy memberships are required to satisfy
To achieve this new objective function required to be minimized is:,
where, ρ(R, S) is a regularization function that helps in specifying the degree of fuzziness, and ηi and μj are the Lagrange's multipliers corresponding to conditions (3) and (4) respectively. The fuzzy symmetric difference between tj and aj is computed as
One of the examples of ρ(R, S) is
It is to be noted that individual terms in ρ(R, S) maximize when sjl and ril equals to either 1 or 0. λr and λs are the weighting parameters that specify the degree of fuzziness. Let uij=sign (tij−aij) where,
Then,
The necessary conditions for the optimality of φ with ρ(R,S) as given in (6) with respect to sjl and ril are given below:
And, the necessary conditions with respect to ηi and μj are defined in equations (3) and (4). Solving for sjl and ril from equations (3), (4), (7) and (8), results in:
where,
Picard iteration is used with (9) and (10) to optimize the objective function given in (5). Start with some initial random values for sjl and ril the values of sjl and ril are updated using (9) and (10) respectively at every iteration, until convergence or some termination condition is achieved. Finally the fuzzy memberships sjl and ril are defuzzied to obtain crisp clusters of clients and items.
Step 1. Form the matrix A=[aij] based on the requests made by various clients (4.1).
Step 2. Initialize sjl and ril randomly such that equations (3) and (4) are satisfied (4.2).
Step 3. Compute a new set of sjl, s′jl using equation (9). (4.3)
Step 4. Compute a new set of ril, ril′ using equation (10). (4.3)
Step 5. If
(4.4) then copy r′il to ril, copy s′jl to sjl, and go to Step 3. (4.5,4.6)
Step 6. Copy r′il to ril, and copy s′jl to sjl. (4.7)
Step 7. Defuzzify sjl and ril. (4.7)
Step 8. End.
Defuzzification converts a vector of fuzzy memberships to a vector of binary values. In other words, it assigns items and clients to various clusters based on the fuzzy memberships. Suppose f=(f1, . . . , fK) represents the fuzzy membership of an item or a client in cluster Cl, for l=1, . . . , K. The method given below defuzzifies f to obtain g=(g1, . . . gK) where gi is binary for i=1, . . . , K. Let f′=max, (f−l), then the elements of g are obtained using the following equation:
where γ is a constant less than 1.
Other Modifications:
The other form of regularization term, ρ(R, S) possible is:
Using this in equation (5) the resultant update equations for sjl and ril are
It will be apparent to those with ordinary skill in the art that the foregoing is merely illustrative and not intended to be exhaustive or limiting, having been presented by way of example only and that various modifications can be made within the scope of the above invention. The present invention can be realized in hardware, software or a combination of hardware and software. The modules as described in the invention could either be realized in a centralized manner, on one computer system could be spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, controls the computer system such that it carries out the methods described herein.
Accordingly, this invention is not to be considered limited to the specific examples chosen for purposes of disclosure, but rather to cover all changes and modifications, which do not constitute departures from the permissible scope of the present invention. The invention is therefore not limited by the description contained herein or by the drawings, but only by the claims.
Number | Name | Date | Kind |
---|---|---|---|
4873517 | Baratz et al. | Oct 1989 | A |
5805823 | Seitz | Sep 1998 | A |
5951634 | Sitbon et al. | Sep 1999 | A |
6064770 | Scarth et al. | May 2000 | A |
6154778 | Koistinen et al. | Nov 2000 | A |
6304639 | Malomsoky et al. | Oct 2001 | B1 |
6407994 | Archer | Jun 2002 | B1 |
7072960 | Graupner et al. | Jul 2006 | B2 |
7092369 | Fuccello et al. | Aug 2006 | B2 |
20010027494 | Deo et al. | Oct 2001 | A1 |
20020019985 | Fuccello et al. | Feb 2002 | A1 |
20020124101 | Schaeck | Sep 2002 | A1 |
20030236822 | Graupner et al. | Dec 2003 | A1 |
20040017783 | Szentesi et al. | Jan 2004 | A1 |
20040044600 | Chu et al. | Mar 2004 | A1 |
20040199488 | Schultz et al. | Oct 2004 | A1 |
20050149481 | Hesselink et al. | Jul 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20040117469 A1 | Jun 2004 | US |