A method for making data placement decisions in a computer network uses multiple factors comprising social rules (rules, factors and criteria common to all participating nodes and intended to benefit the community of nodes), as well as rules, factors and criteria driven by individual self-interest of the participating nodes. The method calls for each node to act in a semi-autonomous manner, without the need for a central coordinating node. By considering multiple factors fully, and not eliminating factors by a sequence of True/False decisions, the method may arrive at optimal decisions and may generate a ranked list of node candidates.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for making data placement decisions in a computer network, wherein multiple criteria, rules or factors may be considered, prioritized and weighted using one or more algorithms, wherein such criteria, rules or factors may comprise shared social rules that govern the behavior of all participating nodes, per-object criteria (also called demand criteria) and criteria that relate to a participating node's self-interest and, wherein the criteria, rules and factors to consider may be predefined, assigned, or derived from current data and, wherein algorithms for weighting criteria, rules and factors may be predefined, assigned or derived from current data. 2. The method of claim 1 wherein data placement involves whole objects, composites of whole objects, parts of whole objects, and composites of parts of whole objects. 3. The method of claim 1 wherein a participating node may consider object popularity and replica count, and may also consider factors that reflect its own self-interest such as its current load, the overall density of requests being redirected to it, and its own storage or networking costs. 4. The method of claim 1 wherein a participating node may consider the relative affinity of an object to other objects stored by a participating node, wherein an object's affinity to other objects includes but is not limited to: a function of the completeness of the set of objects to which an object belongs or, a function of the frequency with which requests for an object occur with or near requests for other objects. 5. The method of claim 1 wherein performance levels in the network, in terms of overall throughput, node utilization, latency or other factors may be considered. 6. The method of claim 1 wherein object or data set resilience, robustness, reliability or availability levels may be considered. 7. The method of claim 1 wherein there may be no need for a central coordinating node. 8. The method of claim 1 wherein a participating node asks another participating node to accept responsibility for an object or set of objects. 9. The method of claim 1 wherein a participating node (first node), upon receiving a request for an object or set of objects which the first node does not have, the first node may redirect the request to a peer node on which the object or set of objects is known to be stored, or is likely to be stored and, wherein such redirection is recorded such that a history of redirection requests, relating to nodes, to objects and to sets of objects, may be used as a factor for subsequent data placement decisions. 10. The method of claim 1 wherein data placement decisions may be triggered by events including but not limited to time-related events, access events, threshold events in the network or on one or more participating nodes. 11. The method of claim 1 wherein all relevant criteria are considered in all calculations, without prematurely eliminating a criterion, rule or factor.