USRE43146EExpiredUtility

Method and apparatus for providing a search engine for optimizing a decentralized or emergent model on a computer network

45
Assignee: WALL MATTHEWPriority: Jul 3, 2000Filed: May 1, 2008Granted: Jan 24, 2012
Est. expiryJul 3, 2020(expired)· nominal 20-yr term from priority
G06F 8/10G06F 16/24565G06F 30/20Y10S707/99944G06F 16/289G06F 2111/04G06F 2111/02
45
PatentIndex Score
0
Cited by
50
References
61
Claims

Abstract

A search engine is provided for searching, evaluating and/or optimizing an emergent model on a computer network. The emergent model is created by independently generating, publishing references to, and subscribing to data objects and/or function objects in a manner free of a globally predefined data object and/or function object definition. Messages are sent to referencing data objects and/or function objects when referenced data objects and/or function objects change. Functions within the function objects are solved when the messages are received. The data objects and/or the function objects are stored in a distributed manner across multiple computing devices on a computer network. At least one of the data objects is defined as an input data object and at least one of the data objects is defined as an output data object to a search engine, the search engine generating changes to the input data object until the output data object satisfies a predefined criteria.

Claims

exact text as granted — not AI-modified
1. A method of providing an engine for searching and/or optimizing an emergent model on a computer network, the emergent model including one or more models having computer instructions and data that describe behavior of a system and/or evaluate the system, comprising the steps of:
 generating data objects and/or function objects, at least some of the data objects and/or function objects being model inputs and/or model outputs, at least some of the function objects defining interdependencies within a model by providing solvable expressions that relate data objects and/or function objects; 
 publishing identifiers for the data objects and/or the function objects; 
 subscribing to the data objects and/or the function objects by creating relationships between the data objects and/or the function objects by referencing the data objects and/or the function objects within the function objects, thereby linking the data objects and/or the function objects, wherein networks of linked data objects and/or function objects emerge; 
 sending messages to referencing data objects and/or function objects when referenced data objects and/or referenced function objects change; 
 invoking methods on data objects and/or function objects when data objects and/or function objects require information; 
 solving the expressions within the function objects when the messages are received; 
 storing the data objects and/or the function objects in a central location on a single computing device or in a distributed manner across multiple computing devices on a computer network; and 
 defining at least one of the data objects and/or function objects as an input object and defining at least one of the data objects and/or function objects as an output object to a search engine, the search engine generating changes to the input object until the output object satisfies a predefined criteria; and 
 wherein the emergent networks of linked data objects and/or function objects are independently published to, and subscribed to, in a manner free of a globally predefined network of data objects and/or function objects, thereby generating the emergent model. 
 
     
     
       2. The method of  claim 1  wherein at least a part of the configuration of the networks of linked data objects and/or function objects is predefined and used to determine which data objects and/or function objects are generated on which of the computing devices in the computer network. 
     
     
       3. The method of  claim 1  wherein a user interface is defined that displays the data objects and/or function objects on a computing device on the computer network using a client process that communicates with a server process wherein the data objects and/or function objects can be viewed on any computing device connected to the computer network. 
     
     
       4. The method of  claim 1  wherein the data objects and/or function objects are stored in logical groups. 
     
     
       5. The method of  claim 1  wherein the references to the data objects and/or function objects are published using electronic media, print media or human conversation. 
     
     
       6. The method of  claim 1  wherein the step of generating the data objects and/or function objects provides an interface mapping for data objects and/or function objects stored in application programs, databases or computer code libraries. 
     
     
       7. The method of  claim 1  wherein the function objects are implemented by computer code that is complied, dynamically linked and evaluated at runtime. 
     
     
       8. The method of  claim 1  wherein the function objects are implemented by computer code that is interpreted and evaluated at runtime. 
     
     
       9. The method of  claim 1  wherein the sending or receiving of messages can be enabled or disabled based on predefined criteria. 
     
     
       10. The method of  claim 9  wherein the criteria is based upon message source, message destination or message contents. 
     
     
       11. A method of providing an engine for optimizing a decentralized model on a computer network, the decentralized model including one or more models having computer instructions and data that describe behavior of a system and/or evaluate the system, comprising the steps of:
 generating data objects and/or function objects, at least same of the data objects and/or function objects being model inputs and/or model outputs, at least some of the function objects defining interdependencies within a model by providing solvable expressions that relate data objects and/or function objects; 
 publishing identifiers for the data objects and/or the function objects; 
 subscribing to the data objects and/or the function objects by creating relationships between the data objects and/or the function objects by referencing the data objects and/or the function objects within the function objects, thereby linking the data objects and/or the function objects, wherein networks of linked data objects and/or function objects emerge; 
 sending messages to referencing data objects and/or function objects when referenced data objects and/or referenced function objects change; 
 invoking methods on data objects and/or function objects when data objects and/or function objects require information; 
 solving the expressions within the function objects when the messages are received; 
 storing the data objects and/or the function objects in a central location on a single computing device or in a distributed manner across multiple computing devices on a computer network; 
 defining at least one of the data objects as an input data object and defining at least one of data objects as an output data object to a search engine, the search engine generating changes to the input data object until the output data object satisfies a predefined criteria; and 
 wherein the relationships between the data objects and/or function objects are created without using a single coordinating computing device, or are created using multiple coordinating computing devices on the computer network. 
 
     
     
       12. The method of  claim 11  wherein at least a part of the configuration of the networks of linked data objects and/or function objects is predefined and used to determine which data objects and/or function objects are generated on which of the computing devices in the computer network. 
     
     
       13. The method of  claim 11  wherein a user interface is defined that displays the data objects and/or function objects on a computing device on the computer network using a client process that communicates with a server process wherein the data objects and/or function objects can be viewed on any computing device connected to the computer network. 
     
     
       14. The method of  claim 11  wherein the data objects and/or function objects are stored in logical groups. 
     
     
       15. The method of  claim 11  wherein the references to the data objects and/or function objects are published using electronic media, print media or human conversation. 
     
     
       16. The method of  claim 11  wherein the step of generating the data objects and/or function objects provides an interface mapping for data objects and/or function objects stored in application programs, databases or computer code libraries. 
     
     
       17. The method of  claim 11  wherein the function objects are implemented by computer code that is compiled, dynamically linked and evaluated at runtime. 
     
     
       18. The method of  claim 11  wherein the function objects are implemented by computer code that is interpreted and evaluated at runtime. 
     
     
       19. The method of  claim 11  wherein the sending or receiving of messages can be enabled or disabled based on predefined criteria. 
     
     
       20. The method of  claim 19  wherein the criteria is based upon message source, message destination or message contents. 
     
     
       21. The method of  claim 11  wherein the method provides a search engine for performing any one or combination of searching, evaluating and optimizing a decentralized model. 
     
     
       22. An apparatus for generating an emergent model including one or more models that describe a system, comprising:
 at least one storage device; and   a processor configured to execute instructions stored in the at least one storage device that result in:
 generating data and/or function objects, at least one of the function objects configured to define interdependencies within the emergent model by providing solvable expressions that relate the data and/or function objects; 
 publishing identifiers for the data and/or function objects; 
 subscribing to the data and/or function objects in response to the published identifiers by referencing one data and/or function object within at least another function object to link the one data and/or function object with the at least another function object in a network of data and/or function objects; 
 invoking methods in response to data and/or function objects requiring information; 
 solving the solvable expressions responsive to receiving a message that the one data and/or function object referenced within the at least another function object has changed; and 
 defining an input object and an output object of a search engine configured to generate changes to the input object until the output object satisfies a predefined criteria; 
   where the network of data and/or function objects interoperates with other networks of data and/or function objects in a manner free of a globally predefined network of objects to generate the emergent model.   
     
     
       23. The apparatus of claim 22 where the processor is further configured to execute instructions that result in enabling or disabling of the message responsive to at least one of a message source, message destination, or message contents. 
     
     
       24. The apparatus of claim 22 where the processor is further configured to execute instructions that result in storing the data and/or function objects in a central location on a single computing device or in a distributed manner across multiple computing devices. 
     
     
       25. The apparatus of claim 24 where the processor is further configured to execute instructions that result in configuring at least part of the network of data and/or function objects to identify at least one of a plurality of computing devices on a network to generate a corresponding data and/or function object within the network of data and/or function objects. 
     
     
       26. The apparatus of claim 22 where the processor is further configured to execute instructions that result in defining a user interface to display the data and/or function objects on at least one computing device using a client or server process. 
     
     
       27. The apparatus of claim 26 where the processor is further configured to execute instructions that result in viewing the data and/or function objects of the network of data and/or function objects or the data and/or function objects of other networks on any computing device coupled to a network. 
     
     
       28. The apparatus of claim 22 where the processor is further configured to execute instructions that result in storing the data and/or function objects in the storage device in logical groups. 
     
     
       29. The apparatus of claim 22 where the processor is further configured to execute instructions that result in publishing the identifiers for the data and/or function objects using at least one of electronic media, print media, human conversation, or human interaction. 
     
     
       30. The apparatus of claim 22 where the processor is further configured to execute instructions that result in mapping the data and/or function objects stored in at least one of an application program, database, or computer code library. 
     
     
       31. The apparatus of claim 22 where the processor is further configured to execute instructions that result in implementing function objects using computer code that is compiled, dynamically linked, interpreted, or evaluated at run time, or combinations thereof. 
     
     
       32. A non-transitory computer readable medium having instructions stored thereon that, when executed by a computing device, result in:
 generating objects at least one of which comprises a function object configured to define interdependencies within a model by providing solvable expressions that relate objects;   publishing identifiers for the objects;   subscribing to the objects responsive to the published identifiers by referencing one object within a function object to link the one object with the function object in a network of objects;   solving the solvable expressions responsive to receiving a message that the one object referenced within the function object has changed;   invoking methods responsive to objects requiring information; and   defining an input object and an output object of a search engine, the search engine being configured to generate changes to the input object until the output object satisfies a predefined criteria;   where the network of objects interoperates with other networks of objects in a manner free of a globally predefined network of objects to generate an emergent model; and   where the emergent model includes one or more models having corresponding computer instructions that describe a system.   
     
     
       33. The computer readable medium ot claim 32 further comprising enabling or disabling of the message responsive to at least one of a message source, message destination, or message contents. 
     
     
       34. The computer readable medium of claim 32 further comprising storing the objects in a central location on a single computing device or in a distributed manner across multiple computing devices. 
     
     
       35. The computer readable medium of claim 32 further comprising configuring at least part of the network of objects to identify at least one of a plurality of computing devices on a network to generate a corresponding object within the network of objects. 
     
     
       36. The computer readable medium of claim 32 further comprising defining a user interface to display the objects on at least one computing device using a client or server process. 
     
     
       37. The computer readable medium of claim 32 further comprising viewing the objects of the network of objects or the objects of other networks on any computing device coupled to a network. 
     
     
       38. The computer readable medium of claim 32 further comprising storing the objects in a storage device in logical groups. 
     
     
       39. The computer readable medium of claim 32 further comprising publishing the identifiers for the objects using at least one of electronic media, print media, human conversation, or human interaction. 
     
     
       40. The computer readable medium of claim 32 further where generating the objects comprises mapping the objects stored in at least one of an application program, database, or computer code library. 
     
     
       41. The computer readable medium of claim 32 further comprising implementing function objects using computer code that is compiled, dynamically linked, interpreted, or evaluated at run time, or combinations thereof. 
     
     
       42. An apparatus for generating an emergent model on a computer network, the emergent model including at least one model having computer instructions that describe a system, comprising:
 a plurality of objects at least one of which comprises a function object configured to define interdependencies within the model by providing solvable expressions that relate objects;   a plurality of identifiers, each identifier configured to identify a corresponding object;   a publisher configured to publish the plurality of identifiers;   a subscriber configured to create relationships between the plurality of objects responsive to the published plurality of identifiers by referencing one object within a function object to create a network of objects that interrelate free of a globally predefined network of objects;   a solver configured to solve the solvable expressions responsive to a message that the one object referenced in the function object has changed;   an invoker configured to invoke methods on the least one object responsive to the at least one object requiring information;   an input object;   an output object configured to generate changes to the input object until the output object satisfies a predefined criteria provided to a search engine; and   a storage device configured to store the plurality of objects.   
     
     
       43. The apparatus of claim 42 where the message is configured to be enabled responsive to at least one of a message source, message destination, or message contents. 
     
     
       44. The apparatus of claim 42 where the storage device is further configured to store the plurality of objects in a central location on a single computing device or in a distributed manner across multiple computing devices. 
     
     
       45. The apparatus of claim 42 where the subscriber is further configured to identify at least one computing device on a network of computing devices to generate a corresponding object within the network of objects. 
     
     
       46. The apparatus of claim 42 further comprising a user interface configured to display the plurality of objects on at least one client or server in the computer network. 
     
     
       47. The apparatus of claim 42 further comprising a display configured to display the plurality of objects of the network of objects or the plurality of objects in other networks of objects. 
     
     
       48. The apparatus of claim 42 where the storage device is configured to store the plurality of objects in logical groups. 
     
     
       49. The apparatus of claim 42 where the publisher is configured to publish the plurality of identifiers in at least one of electronic media, print media, human conversation, or human interaction. 
     
     
       50. The apparatus of claim 42 where the storage device is further configured to map the plurality of objects stored in at least one of an application program, database, or computer code library. 
     
     
       51. The apparatus of claim 42 further comprising a run time compiler configured to compile, dynamically link, interpret, or evaluate, at run time, computer code implementing the plurality of objects. 
     
     
       52. An apparatus for generating an emergent model on a computer network, comprising:
 means for generating objects at least one of which comprises a function object configured to define interdependencies within a model by providing solvable expressions that relate interdependencies between objects;   means for publishing identifiers for the objects;   means for subscribing to the objects responsive to the published identifiers by referencing one object within another object to link the one object with the another object in a network of objects;   means for solving the solvable expressions responsive to receiving a message that the one object referenced within the another object has changed;   means for invoking methods responsive to objects requiring information; and   means for defining an input object and an output object of a search engine, the search engine being configured to generate changes to the input object until the output object satisfies a predefined criteria;   where the network of objects interoperates with other networks of objects in a manner free of a globally predefined network of objects to generate the emergent model; and   where the emergent model comprises at least one model having computer instructions that describe a system.   
     
     
       53. The apparatus of claim 52 further comprising means for enabling the message responsive to at least one of a message source, message destination, or message contents. 
     
     
       54. The apparatus of claim 52 further comprising means for storing the objects in a central location on a single computing device or in a distributed manner across multiple computing devices. 
     
     
       55. The apparatus of claim 52 further comprising means for configuring at least part of the network of objects to identify at least one of a plurality of computing devices on a network to generate a corresponding object within the network of objects. 
     
     
       56. The apparatus of claim 52 further comprising means for defining a user interface to display the objects on at least one computing device using a client or server process. 
     
     
       57. The apparatus of claim 52 further comprising means for viewing the objects of the network of objects or the objects of other networks on any computing device coupled to a network. 
     
     
       58. The apparatus of claim 52 further comprising means for storing the objects in a storage device in logical groups. 
     
     
       59. The apparatus of claim 52 further comprising means for publishing the identifiers for the objects using at least one of electronic media, print media, human conversation, or human interaction. 
     
     
       60. The apparatus of claim 52 where means for generating the objects comprises mapping the objects stored in at least one of an application program, database, or computer code library. 
     
     
       61. The apparatus of claim 52 further comprising means for implementing function objects using computer code that is compiled, dynamically linked, interpreted, or evaluated at run time, or combinations thereof.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.