Claims
- 1. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and a plurality of data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database; entering a query in a database language at said querying node in said network, said query including at least one table name, at least one a table attribute, and at least one value of a table attribute; decomposing said query into at least one network message including a particular set of a table name, a table attribute and a value; transmitting said network message to data sources relevant to said particular set of said table name, said table attribute and said value in said query; receiving at least one reply message from said data sources relevant to said particular set of said table name, said table attribute and said value of said query when said query is met; and providing a query result in said database language at said querying node from said at least one reply message.
- 2. The method according to claim 1, wherein said schema providing step includes providing a rank for each table attribute, and wherein a relative value of said rank of said table attribute in said query is used to select which table, table attribute, and value will be used as the routing key in said transmitting step.
- 3. The method according to claim 1, further comprising a step of resolving any joins contained in said query once said at least one reply message has been received.
- 4. The method according to claim 1, wherein said network message is an Ethernet packet, IP packet, TCP packet, UDP packet, Profibus packet, DeviceNet packet, IEEE 802.11 packet, Ricochet packet, GSM formatted packet, or CDMA formatted packet, or multiple of said packets.
- 5. The method according to claim 1, wherein said query language comprises SQL.
- 6. The method according to claim 1, wherein said transmitting step comprises routing said network message to data sources relevant to said query by using characteristic routing.
- 7. The method according to claim 1, wherein said transmitting step comprises routing said network message only to data sources relevant to said query by using multicast routing.
- 8. The method of claim 2 wherein said rank for each attribute is selected based on attributes partitioning the records along network topology getting highest rank and attributes having a large number of different values are ranked higher than attributes which have a small number of different values.
- 9. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and a plurality of data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database; entering a query in a database language at said querying node in said network, said query including at least one class name, at least one class attribute, and at least one value of a class attribute; decomposing said query into at least one network message including a particular set of a class name, a class attribute and a value; transmitting said network message to data sources relevant to said particular set of said class name, said class attribute and said value in said query; receiving at least one reply message from said data sources relevant to said particular set of said class name, said class attribute and said value of said query when said query is met; and providing a query result in said database language at said querying node from said at least one reply message.
- 10. The method according to claim 9, wherein said schema providing step includes providing a rank for each class attribute, and wherein a relative value of said rank of said class attribute in said query is used to select which class, class attribute, and value will be used as the routing key in said transmitting step.
- 11. The method according to claim 9, further comprising a step of resolving any joins contained in said query once said at least one reply message has been received.
- 12. The method according to claim 9, wherein said network message is an Ethernet packet, IP packet, TCP packet, UDP packet, Profibus packet, DeviceNet packet, IEEE 802.11 packet, Ricochet packet, GSM formatted packet, or CDMA formatted packet, or multiple of said packets.
- 13. The method according to claim 9, wherein said query language comprises SQL.
- 14. The method according to claim 9, wherein said transmitting step comprises routing said network message to data sources relevant to said query by using characteristic routing.
- 15. The method according to claim 9, wherein said transmitting step comprises routing said network message only to data sources relevant to said query by using multicast routing.
- 16. The method of claim 10 wherein said rank for each attribute is selected based on attributes partitioning the records along network topology getting highest rank and attributes having a large number of different values are ranked higher than attributes which have a small number of different values.
- 17. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and a plurality of data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database; entering a query in a database language at said querying node in said network, said query including at least one tag name, at least one tag attribute, and at least one value of a tag attribute; decomposing said query into at least one network message including a particular set of a tag name, a tag attribute and a value; transmitting said network message to data sources relevant to said particular set of said tag name, said tag attribute and said value in said query; receiving at least one reply message from said data sources relevant to said particular set of said tag name, said tag attribute and said value of said query when said query is met; and providing a query result in said database language at said querying node from said at least one reply message.
- 18. The method according to claim 17, wherein said schema providing step includes providing a rank for each tag attribute, and wherein a relative value of said rank of said tag attribute in said query is used to select which tag table, tag attribute, and value will be used as the routing key in said transmitting step.
- 19. The method according to claim 17, further comprising a step of resolving any joins contained in said query once said at least one reply message has been received.
- 20. The method according to claim 17, wherein said network message is an Ethernet packet, IP packet, TCP packet, UDP packet, Profibus packet, DeviceNet packet, IEEE 802.11 packet, Ricochet packet, GSM formatted packet, or CDMA formatted packet, or multiple of said packets.
- 21. The method according to claim 17, wherein said query language comprises SQL.
- 22. The method according to claim 17, wherein said transmitting step comprises routing said network message to data sources relevant to said query by using characteristic routing.
- 23. The method according to claim 17, wherein said transmitting step comprises routing said network message only to data sources relevant to said query by using multicast routing.
- 24. The method of claim 18 wherein said rank for each attribute is selected based on attributes partitioning the records along network topology getting highest rank and attributes having a large number of different values are ranked higher than attributes which have a small number of different values.
- 25. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and a plurality of data sources and a plurality of archive nodes representing particular data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database; entering a query in a database language at said querying node in said network; decomposing said query into at least one network message; transmitting said network message to data sources relevant to said query; receiving from said network a list of successfully accessed data sources; retransmitting said network message to said archive nodes and to said data sources on said list; receiving a reply message from said data sources from said list and from said archive nodes representing those data sources that match said query but are not on said list; and providing a query result in said database language based on said reply message.
- 26. The method according to claim 25, wherein said network message is an Ethernet packet, IP packet, TCP packet, UDP packet, Profibus packet, DeviceNet packet, IEEE 802.11 packet, Ricochet packet, GSM formatted packet, or CDMA formatted packet, or multiple of said packets.
- 27. The method according to claim 25, wherein said schema comprises a relational schema, an object-oriented schema, or an object-relational schema.
- 28. The method according to claim 25, wherein said query language comprises SQL.
- 29. The method according to claim 25, wherein said transmitting step comprises routing said network message to data sources relevant to said query by using characteristic routing.
- 30. The method according to claim 25, wherein said transmitting step comprises routing said network message only to data sources relevant to said query by using multicast routing.
- 31. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and a plurality of data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database, said schema providing a list of descriptors which are locally joinable; entering a query in a database language at said querying node in said network, said query including a plurality of predicates; decomposing said query into at least one network message; transmitting said network message to data sources relevant to said plurality of predicates of said query; receiving from said data sources relevant to said query a reply message to said network message when those predicates of said query which are included in said list of locally joinable descriptors are locally joined at said data sources; and providing a query result in said database language at said querying node from said reply message.
- 32. The method according to claim 31, wherein said network message is an Ethernet packet, IP packet, TCP packet, UDP packet, Profibus packet, DeviceNet packet, IEEE 802.11 packet, Ricochet packet, GSM formatted packet, or CDMA formatted packet, or multiple of said packets.
- 33. The method according to claim 31, wherein said schema comprises a relational schema and said descriptors comprise attributes or tables, an object-oriented schema and said descriptors comprise class attributes or classes, or an object-relational schema.
- 34. The method according to claim 31, wherein said query language comprises SQL.
- 35. The method according to claim 31, wherein said transmitting step comprises routing said network message to data sources relevant to said query by using characteristic routing.
- 36. The method according to claim 31, wherein said transmitting step comprises routing said network message only to data sources relevant to said query by using multicast routing.
- 37. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and at least one designated query node and a plurality of data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database; entering a query in a database language at said querying node in said network, said query including a plurality of subqueries; decomposing said query into a plurality of network messages, one of said plurality of said network messages corresponding to one of said plurality of subqueries; transmitting one of said plurality of said network messages to a designated query node relevant to said one of said plurality of subqueries of said query, said at least one designated query node processing said one of said plurality of subqueries and transmitting query fragments of said query to data sources relevant to said query fragments and for which said at least one designated query node is responsible; receiving from said at least one designated query node a reply message to said network message when responses to said query fragments are joined and said query is met; and providing a query result in said database language at said querying node from said reply message.
- 38. The method of claim 37 wherein said schema provides a list of descriptors which are locally joinable, wherein said schema is a relational schema and said descriptors include attributes or tables or wherein said schema is an object-oriented schema and said descriptors include class attributes or classes.
- 39. The method of claim 37 wherein said at least one designated query node is located at main branch points of said distributed data sources network database.
- 40. The method according to claim 38, wherein said schema providing step includes providing a rank for each attribute, and wherein said query incudes an attribute, and wherein a relative value of said rank of said attribute in said query is used to select a routing key in said transmitting step.
- 41. The method according to claim 37, wherein said network message is an Ethernet packet, IP packet, TCP packet, UDP packet, Profibus packet, DeviceNet packet, IEEE 802.11 packet, Ricochet packet, GSM formatted packet, or CDMA formatted packet, or multiple of said packets.
- 42. The method according to claim 37 wherein said rank for each attribute is selected based on attributes partitioning the records along network topology getting highest rank and attributes having a large number of different values are ranked higher than attributes which have a small number of different values.
- 43. The method according to claim 42, wherein said query language comprises SQL.
- 44. The method according to claim 37, wherein said transmitting step comprises routing said network message to data sources relevant to said query by using characteristic routing.
- 45. The method according to claim 37, wherein said transmitting step comprises routing said network message only to data sources relevant to said query by using multicast routing.
- 46. A method for information management of a distributed data sources network database that comprises a plurality of nodes, said plurality of nodes including a querying node and a plurality of data sources, said method comprising the steps of:
providing a schema for said distributed data sources network database; distributing one or more functions to at least one node; entering a query in a database language at said querying node in said network; decomposing said query into at least one network message; transmitting said network message to data sources relevant to said query; receiving from said data sources relevant to said query a reply message to said network message when said query is met and said one or more functions are applied; and providing a query result in said database language at said querying node from said reply message.
- 47. The method of claim 46 wherein said one or more functions comprise instructions, said instructions comprising object class methods distributed to said at least one node, which comprises an object-oriented data source.
- 48. The method of claim 46 wherein said one or more functions comprise instructions, said instructions comprising distribution of data reduction instructions.
- 49. The method of claim 46 wherein said one or more functions comprise instructions, said instructions comprising averaging, delta extraction, peak extraction or hashing.
- 50. The method of claim 46 wherein said one or more functions comprise instructions, said instructions comprising distribution of data compression instructions.
- 51. The method of claim 46 wherein said one or more functions comprise instructions, said instructions comprising distribution of trend analysis instructions that extract relevant summaries.
- 52. The method of claim 46 wherein said at least one node comprises a data source.
- 53. The method of claim 46 wherein said at least one node comprises a designated join node.
- 54. The method of claim 53 further comprising the steps of receiving said network message at said designated join node, performing said one or more functions at said designated join node, and receiving from data sources relevant to said query responses to portions of said query from said network message in accordance with said one or more functions.
- 55. The method of claim 47 wherein said one or more functions relates to new aspects of said schema.
- 56. A system for information management of a distributed database comprising a network of data sources, said system comprising:
a plurality of data sources coupled to said network, said data sources capable of providing information according to a schema for said distributed database; at least one querying node coupled to said network, said querying node capable of receiving a query in a database language and decomposing said query into at least one network message that is transmitted over said network to data sources relevant to said query; wherein data sources relevant to said query send a reply message over said network in response to said network message when said query is met, and said querying node provides a query result in said database language from said reply message; and wherein said plurality of data sources includes at least one data source capable of performing local joins on said query.
- 57. The system according to claim 56, wherein said network message and said reply message are Ethernet packets, IP packets, TCP packets, UDP packets, Profibus packets, DeviceNet packets, IEEE 802.11 packets, Ricochet packets, GSM formatted packets, or CDMA formatted packets, or multiple of said packets.
- 58. The system according to claim 56, wherein said schema comprises a relational schema, an object-oriented schema, or an object-relational schema.
- 59. The system according to claim 56, wherein said query language comprises SQL.
- 60. The system according to claim 56, wherein said network message is transmitted using characteristic routing over said network only to data sources relevant to said query.
- 61. The system according to claim 56, wherein said network message is transmitted using multicast routing over said network only to data sources relevant to said query.
- 62. The method according to claim 31 wherein said transmitting step comprises transmitting a bloom filter bit vector with a bit vector representation less than a specified threshold.
- 63. The method according to claim 37 wherein said at least one designated query node is located close to a centroid location of said distributed data sources network database, wherein said centroid location comprises an optimal location between said querying node and said data sources relevant to said query.
- 64. The method according to claim 63 wherein said optimal location comprises the point equidistant between said querying node and said data sources relevant to said query.
- 65. The method according to claim 63 wherein said optimal location comprises the point where there would be as much query-relevant data on one side as on the other side of said point.
- 66. The method according to claim 46 wherein said distributing step also includes distributing the bodies of one or more functions with one or more functions closures to said at least one node.
- 67. The method according to claim 66 wherein said at least one node comprises a querying node.
- 68. The method according to claim 66 wherein said at least one node comprises a designated query node.
- 69. The method according to claim 46 wherein said distributing step can be done through said query.
- 70. The method according to claim 46 further comprising the step of sending a terminate query message to said data sources relevant to said query.
- 71. The method of claim 46 wherein said instructions comprise distribution of trend analysis instructions that extract relevant summaries.
- 72. The method of claim 46 wherein said at least one node comprises a data source.
- 73. The method of claim 46 wherein said at least one node comprises a designated query node.
- 74. The method of claim 54 furher comprising the steps of receiving said network message at said designated query node, performing said instructions at said designated query node, and receiving from data sources relevant to said query responses to portions of said query from said network message in accordance with said instructions.
- 75. The method of claim 47 wherein said instructions relate to new aspects of said schema.
- 76. The method of claim 46 wherein said query includes events or exceptions descriptions in the form of query constraints and/or a specified refresh rate and/or as part of the declarative steps in the said one or more functions, and wherein said one or more functions comprise an action to be taken when said events or said exceptions occur, and further comprising the step of performing said one or more functions at said at least one node to provide an event-based system reaction.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from commonly-owned provisional U.S. patent application Ser. No. 60/275,429 (01P4385US) filed on Mar. 12, 2001. This application also is a continuation-in-part of commonly-owned non-provisional U.S. patent application Ser. No. 09/726,702 (99P7390US01) filed on Nov. 28, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60275429 |
Mar 2001 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09726702 |
Nov 2000 |
US |
Child |
10096209 |
Mar 2002 |
US |