Patent ID: 8239492

Claim:
A computing device comprising: (a) a processor; (b) a data storage device for tangibly storing program logic for execution by the processor, the program logic comprising: a file system executed by the processor for performing one or more of reading, writing, and controlling access to data on the data storage device; a network protocol suite executed by the processor for sending the data over a network; a higher-order indexing system executed by the processor for generating a plurality of topic indexes from a pre-selected data set, wherein higher-order indexing is based on relationships between information in the pre-selected data set, wherein each topic index comprises a plurality of key elements, a plurality of entry items that link the plurality of key elements to the data, and a topic classifier for the data; a peer-to-peer networking system executed by the processor for transmitting the topic indexes over the network; an interconnection between the higher-order indexing system and the file system to automatically generate topic indexes of data as data is written to the data storage device; an interconnection between the higher-order indexing system and the peer-to-peer networking system to provide the topic indexes to the peer-to-peer networking system for sharing the topic indexes on the network; and an interconnection between the peer-to-peer networking system and the network protocol suite for translating peer-to-peer messages into data packets suitable for transmission through the network, thereby enabling the storing, indexing, and sharing of data by topic on the network, wherein the higher-order indexing system further calculates a probability that a vector d belongs to class C using: P ( C|d )= P ( d|C ) P ( C ), and wherein the higher-order indexing system calculates probabilities: P(t|C)=(# of higher-order paths in class C comprising entity t)/(# of higher-order paths in class C) and P(C)=(# of higher-order paths in class C)/(total # of higher-order paths), and wherein the higher-order indexing module defines higher-order paths using a non-empty graph G=(V,E) of the form V={x 0 , x 1 , . . . , x k }E={(x 0 , x 1 , x 2 , . . . , x k−1 x k } with nodes x i distinct, two vertices x i and x k linked by path P where the number of edges in P is its length, where vertices V={e 0 ,e 1 , . . . , e k } represent entities, and edges E={r 0 , r 1 , . . . , r m }represent records, documents, vectors or instances, and wherein both vertices and edges are distinct.