WO2005008358A2 - Information access using ontologies - Google Patents
Information access using ontologies Download PDFInfo
- Publication number
- WO2005008358A2 WO2005008358A2 PCT/IL2004/000667 IL2004000667W WO2005008358A2 WO 2005008358 A2 WO2005008358 A2 WO 2005008358A2 IL 2004000667 W IL2004000667 W IL 2004000667W WO 2005008358 A2 WO2005008358 A2 WO 2005008358A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- query
- ontology
- responsively
- data sources
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Definitions
- An ontology is a structured vocabulary that represents the schematic metadata of a particular application domain.
- the ontology provides a unified, semantic model of the information in the domain, including both the types of entities that the information may include and relationships among the entities.
- the ontology allows users to express query concepts and relationships in high-level terms, which are then translated by appropriate agents into lower-level database schemata and semantic analyses.
- One of the early tools of this sort was InfoSleuthTM, developed at MCC (Microelectronics and Computer Technology Corporation, Austin, Texas). InfoSleuth is described, for example, in an article by Fowler et al., entitled “Agent-Based Semantic Interoperability in InfoSleuth," SIGMOD Record 28:1 (March, 1999), pp.
- InfoSleuth is an agent-based system, in which a set, or community, of agents collaborate at a semantic level to execute information gathering and analysis tasks.
- the underlying information sources can be diverse in both structure and content.
- the agents which are coded in JavaTM, communicate at the semantic level over ontologies using a Knowledge Query Manipulation Language (KQML).
- Agent types defined by InfoSleuth include: • User agents, which provide a system interface that enables the user to communicate with the system. • Broker agents, which match requests for services or information with agents that can provide them. • An ontology agent, which serves the set of ontologies supported by InfoSleuth and pro vides details of the.
- Resource agents which translate queries and data between the local forms in which they are stored and their InfoSleuth forms. » Value mapping agents, which convert queries and results between common acceptable forms and a canonical form defined by the ontology.
- Multi-resource query agents which handle the decomposition and distribution of sub- queries to various resource agents and then recompose the results. Agents communicate and determine each other's capabilities using a shared onto logical model of information management.
- the ontology provides the semantic framework for information activities in the domain of interest to the user. Semantic brokering allows agents to advertise their capabilities and to identify potential collaborators based on their advertised ' capabilities. The user may access the resources of the agent community from any location, and need know nothing about the physical location or structural characteristics of any resource.
- a traditional database query is converted into network messages, which are routed to those data sources that have relevant data.
- the messages may be routed either directly or through designated query nodes.
- the data sources then send reply messages either directly to the originator of the query or via designated join nodes.
- the data sources may be able to perform local join operations.
- the system collects the reply messages, and the messages that meet the requirements of the query are sent back to the query originator for presentation as a traditional database result. Unicorn Solutions Inc.
- SIM Semantic Information Management
- Patent Application Publication US 2003/0163597 describes a method and system for collaborative ontology modeling, for use in building up an ontology from individual ontology efforts distributed over the Web.
- U.S. Patent Application Publication US 2004/0093344, to Berger et al. describes a method for mapping data schemas into an ontology model.
- U.S. Patent Application Publication US 2003/0101170, to Edelstein et al. describes a data query system using a central ontology model, in which a query processor generates a query in a data schema query language corresponding to a specified query expressed in an ontology query language.
- Patent Application Publication US 2003/0163450 to Borenstein et al, describes a method for providing a semantic registry for Web services and other services, based on an ontology model. The method is said to enable dynamic Web service integration by overcoming problems of semantic inconsistency.
- the disclosures of all the above patent application publications are incorporated herein by reference.
- SUMMARY OF THE INVENTION Embodiments of the present invention provide tools for use in a distributed, federated system for data management and access, based on a domain-specific ontology.
- the system comprises a grid of agents and gateways, which communicate with one another over a communication network by exchanging semantic, ontology-based messages.
- the agents share a common, distributed platform, as well as a common directory of the ontology, data sources and rules that apply in the federated system.
- the gateways comprise wrappers, for interfacing between data sources and the ontology, as well as portals, through which users may address queries to the system.
- the portal Upon receiving a user query, the portal directs the query to one of the agents, which develops a query plan based on the availability of necessary data and system resources for responding to the query. After collecting the required information in accordance with the query plan, the agent returns the query response to the user portal.
- the ontology accommodates logical rules that are applicable to the entities in the ontology, as well as to the attributes of and relationships between the entities.
- the agent handling a query uses these rules in generating the query plan. For example, the agent may use the rules to determine which set of data fields, in which data sources, are most likely to give complete and correct data in response to a given query, and possibly also to validate the data that are collected in executing the query plan. The agent may also use the rules to determine the key according to which records from different sources should be joined, and whether the join should be performed by the agent or should be "pushed down" to the gateway for execution in order to optimize response or conserve system resources.
- the ontological rules comprise access rules, indicating which user roles are authorized to read information in a given data source or set of sources.
- the access rales may pertain to particular data sources, to particular entities in the sources, or to particular attributes of a given type of entities.
- the access rales are expressed in unified terms, which may be maintained by a community of owners in the form of a community ontology that includes classes of roles, sources, clients, and authentication methods. These features of the ontology are thus useful in providing a unified model under which different data owners in a federated system may determine the access rules that are applicable to their data, such as which clients are trusted under which circumstances.
- the use of abstracted classes in the model such as in a government database source, also enables clients and users to determine the scope of sources to be used without knowing each source specifically.
- the access rales for each source are published together with additional source metadata in a grid-wide directory.
- the query agents can read the access rales immediately, without the need for central management of access authorizations. Since the access rales are already contained in the directory, there is no need for the agents to request authorization for each resource that is to be accessed (unless specifically required by the source owner).
- the agents may use the access rales in developing query plans so that the plan includes only those sources of information that the requesting user is authorized to access.
- access to each data source is logged along with the credentials of the user requesting the data.
- access policies are not only automatically enforced, but they are also recorded in a manner that supports automated auditing.
- a network utility gathers and updates _infpm ⁇ atipn regarding the topology and status of resources in the system, Based on this information, the agents and gateways are able to discover and integrate new sources of information as they become available, as well as to determine the level of computing and communication loads on different agents and data sources. Thus, in making and executing the query plans, agents may use the topology and status information in order to optimize response time and dynamically load-balance the resources of the system.
- the grid functions as an application-level virtual private network, which links and provides services to the member sites and organizations.
- This virtual private network is internally managed by distributed functions of the grid, so that individual member sites need not explicitly provision for or coordinate their own virtual private networks with the other member sites.
- agents in the grid may even balance the overall load among resources that belong to different organizations within the federated system.
- the grid directory may comprise entities and attributes relating to performance of application- related tasks, which are used by the agents in monitoring resource performance and applying resource-use policies.
- Grid robustness and agility are enhanced by the use of dynamic, grid- generated query plans, as described above, and by the ability to balance loads across the grid. Altered grid topology, sources, and usage policies are automatically accommodated by generating new plans and rebalancing loads. Other grid conditions, such as fallen nodes, inaccessible sources, and revoked certificates, may be handled in similar fashion.
- agents and/or gateways apply a semantic filter to each packet that they receive over the network and accept only packets that are compatible with the system ontology. Packets that do not meet the expected semantic criteria are discarded. Therefore, even if one of the elements of the grid is attacked by m alicious traffic, the element will not permit the traffic to propagate into the grid.
- gateways can examine each data element in the semantic payload of each packet to determine whether to pass it on or nullify it.
- a method for data access including: defining an ontology for application to a set of diverse data sources including data having predefined semantics; associating with the ontology one or more logical rales applicable to the semantics of the data in the data sources; receiving a query from a user regarding the data; determining a query plan for responding to the query by selecting one or more of the data sources responsively to the ontology and by identifying an operation to be applied to the data responsively to the applicable logical rales; and generating a response to the query in accordance with the query plan.
- the logical rales include a validation rale, and the query plan includes validating the data firom at least one of the data sources responsively to the validation rale. Additionally or alternatively, the logical rales include a mapping rale, such that data sources that match these rales can be automatically mapped to the ontology when the sources are primed and attached to the grid. Further additionally or alternatively, the logical rales include a joining rale, and the query plan includes selecting a key responsively to the joining rule, and joining the data from two or more of the data sources using the key.
- selecting the key includes analyzing the data so as to select one or more fields in the two or more of the data sources for use as the key so as to provide a desired statistical probability that the data will be joined correctly.
- the logical rales include a transformation rule, and the query plan includes transforming the data in at least one of the data sources from a first value that is held in the at least one of the data sources to a second value responsively to the transformation rale.
- the logical rales include a business logic rule, and the query plan includes processing the data from at least one of the sources responsively to the business logic rule.
- the logical rules may also include an access rale
- the query plan may include selecting at least one of the data sources for use in generating the response responsively to the access rule as applied to the user and client who submitted the query.
- defining the ontology includes associating a respective wrapper with each of the data sources, so as to transform the data from each of the data sources from a native format to an ontological format determined by the ontology, and generating the response includes applying the operation using the wrapper, and then reporting the data . from the wrapper to a hub that links the data sources following application of the operation.
- the operation applied by the wrapper includes joining the data from two or more of the data sources. Additionally or alternatively, the operation applied by the wrapper includes mapping values of the data.
- mapping the values may include normalizing the data from a native representation to an ontological representation.
- t he q uery p Ian i excludes a group of sub-queries, and generating the response includes sending the sub-queries from an agent running on the hub to respective wrappers of a plurality of the data sources, and combining the data reported from the wrappers in order to produce the response.
- sending the sub-queries includes invoking two or more of the wrappers to operate in parallel.
- reporting the data includes sending data packets over a network, the packets including semantic content in a form determined by the ontology, and upon receipt of the data packets at the hub, verifying legitimacy of the packets responsively to the semantic content and nullifying semantic elements that must be filtered.
- reporting the data includes streaming the data from the wrapper to a specified storage location.
- reporting the data includes moving the data in a block operation from the wrapper to a specified storage location.
- determining the query plan includes collecting information regarding a topology and performance characteristics of the data sources, and selecting, responsively to the i nformation, the d ata s ources t o b e u sed i n r esponding t o the query.
- a method for providing a user with access to a set of diverse information resources which are configured to provide information with predefined semantics, the method including: defining an ontology for application to the information provided by the set of diverse information resources; associating with the ontology one or more logical rales applicable to the semantics of the information; receiving a request from the user to access the information; determining a plan for responding to the request by selecting one or more of the information resources responsively to the ontology and by identifying an operation to be applied to the information responsively to the applicable logical rales; and generating a response to the request in accordance with the plan.
- the request includes a query for data held by the information resources.
- the request includes a subscription request, and generating the response includes providing a succession of responses over a period of time responsively to the subscription request.
- the information resources are configured to provide Web services, and the request specifies one or more of the Web services to be provided to the user.
- the request specifies data to be written to a data repository associated with one or more of the information resources.
- the request specifies a transaction to be carried out and recorded by one or more of the information resources.
- the request specifies a process to be carried out by one or more of the information resources.
- a method for data access including: defining an ontology for application to a set of diverse data sources including data; defining data access rights with respect to the ontology; and controlling user access to the data responsively to the ontology of the data and the access rights applicable thereto.
- defining the ontology includes specifying a user ontology
- defining the data access rights includes assigning a classification to a user according to the user ontology
- controlling the user access includes comparing the classification to the access rights applicable to the data.
- the diverse data sources are distributed among a set of autonomous organizations including at least first and second organizations, and assigning the classification includes classifying the user according to an organizational affiliation of the user so as to control access by users in the first organization to the data sources held by the second organization.
- controlling the user access includes receiving a query from a user to access the data in the data sources, determining a query plan for responding to the query by selecting one or more of the data sources responsively to the ontology such that the access rights permit the user to access the data in the one or more of the data sources, and generating a response to the query in accordance with the query plan.
- a method for data access including: defining a set of data resources providing access to data; collecting information regarding a topology and performance characteristics of the data resources; receiving a query from a user regarding the data; determining a query plan responsively to the query and to the information regarding the topology and performance characteristics; and generating a response to the query in accordance with the query plan.
- collecting the information includes measuring respective load levels of two or more of the data resources, and determining the query plan includes selecting one of the data resources so as to balance the load levels.
- the data resources are distributed among a set of autonomous organizations including at least first and second organizations, wherein the user submitting the query belongs to the first organization, and wherein determining the query plan includes selecting, responsively to the performance characteristics, one of the data resources of the second organization for use in responding to the query.
- a method for exchange of information including: establishing a virtual private network among a plurality of nodes, including at least first and second nodes, which are configured to communicate with one another over an underlying public physical network; defining a semantic communication model for conveying data packets among the nodes in the virtual private network, responsively to an ontology of the information; sending a data packet over the virtual private network from the first node to the second node; and filtering the data packet against the semantic communication model at the second node, so as to verify that the data packet is legitimate and nullify semantic elements that must be filtered.
- defining the semantic communication model includes defining a closed set of semantic messages that may be carried by data packets in the virtual private network.
- the nodes are distributed among a set of autonomous organizations.
- the nodes include gateway nodes, which are configured to communicate with clients and data sources using native data formats, and to translate the native data formats to the semantic communication model for communication over the virtual private network.
- the nodes further includes hub nodes, and establishing the virtual private network includes configuring the gateway nodes to communicate with the hub nodes using the semantic communication model.
- apparatus for data access including a hub processor, which is adapted to receive a definition of an ontology for application to a set of diverse data sources including data having predefined semantics, and to associate with the ontology one or more logical rales applicable to the semantics of the data in the data sources, and which is further adapted, upon receiving a query from a user regarding the data, to determine a query plan for responding to the query by selecting one or more of the data sources responsively to the ontology and by identifying an operation to be applied to the data responsively to the applicable logical rules, and to generate a .response., to the.q ⁇ ery in accordance with the query plan.
- apparatus for providing a user with access to a set of diverse information resources, which are configured to provide information with predefined semantics
- the apparatus including a hub processor, which is adapted to receive a definition of an ontology for application to the information provided by the set of diverse information resources and to associate with the ontology one or more logical rales applicable to the semantics of the information, and which is further adapted, upon receiving a request from the user to access the information, to determine a plan for responding to t he r equest b y s electing o ne o r m ore o f t he i nformation r esources responsively to the ontology and by identifying an operation to be applied to the information responsively to the applicable logical rales, and to generate a response to the request in accordance with the plan.
- apparatus for data access including a hub processor, which is adapted to receive a definition of an ontology for application to a set of diverse data sources including data and a definition of data access rights with respect to the ontology, and which is adapted to control user access to the data responsively to the ontology of the data and the access rights applicable thereto.
- apparatus for data access including a hub processor, which is adapted to receive a definition of a set of data resources providing access to data, and to collect information regarding a topology and performance characteristics of the data resources, and which is further adapted, upon receiving a query from a user regarding the data, to determine a query plan responsively to the query and to the information regarding the topology and performance characteristics, and to generate a response to the query in accordance with the query plan.
- a hub processor which is adapted to receive a definition of a set of data resources providing access to data, and to collect information regarding a topology and performance characteristics of the data resources, and which is further adapted, upon receiving a query from a user regarding the data, to determine a query plan responsively to the query and to the information regarding the topology and performance characteristics, and to generate a response to the query in accordance with the query plan.
- apparatus for exchange of information including a plurality of computing nodes, which include at least first and second nodes, and which are linked to communicate over a virtual private network running over an underlying public ysical n etwork, and which are configured to exchange data packets over the virtual private network in accordance with a semantic communication model, which is defined responsively to an ontology of the information, wherein at least the second node is adapted, upon receiving a data packet over the virtual private network from the first node, to filter the data packet against the semantic communication model so as to verify that the data packet is legitimate.
- a computer software product including a computer-readable medium in which program instractions are stored, which instractions, when read by a computer, cause the computer to receive a definition of an ontology for application to a set of diverse data sources including data having predefined semantics, and to associate with the ontology one or more logical rules applicable to the semantics of the data in the data sources, and further cause the computer, upon receiving a query from a user regarding the data, to determine a query plan for responding to the query by selecting one or more of the data sources responsively to the ontology and by identifying an operation to be applied to the data responsively to the applicable logical rales, and to generate a response to the query in accordance with the query plan.
- a computer software product for providing a user with access to a set of diverse information resources, which are configured to provide information with predefined semantics
- the product including a computer-readable medium in which program instractions are stored, which instractions, when read by a computer, cause the computer to receive a definition of an ontology for application to the information provided by the set of diverse information resources and to associate with the ontology one or more logical rules applicable to the semantics of the information, and further cause the computer, upon receiving a request from the user to access the information, to determine a plan for responding to the request by selecting one or more of the information resources responsively to the ontology and by identifying an operation to be applied to the information responsively to the applicable logical rales, and to generate a response to the request in accordance with the plan.
- a computer software product including a computer-readable medium in which program instractions are stored, which instractions, when read by a computer, cause the computer to receive a definition of an ontology for application to a set of diverse data sources including data and a definition of data access rights with respect to the ontology, and to control user access to the data responsively to the ontology of the data and the access rights applicable thereto.
- a computer software product including a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer to receive a definition of a set of data resources providing access to data, and to collect information regarding a topology and performance characteristics of the data resources, and further cause the computer, upon receiving a query from a user regarding the data, to determine a query plan responsively to the query and to the information regarding the topology and performance characteristics, and to generate a response to the query in accordance with the query plan.
- a computer software product including a computer-readable medium in which program instractions are stored, which instractions, when read by a group of computing nodes that i ncludes at 1 east first and s econd n odes, 1 inked to e ommunicate o ver a physical public network, cause the computing nodes to communicate in a virtual private network by exchanging data packets over the public physical network in accordance with a semantic communication model, which is defined responsively to an ontology of the information, wherein the instractions cause at least the second node, upon receiving a data packet over the virtual private network from the first node, to filter the data packet against the semantic communication model so as to verify that the data packet is legitimate.
- FIG. 1 is a schematic, pictorial illustration of a federated data management system, in accordance with an embodiment of the present invention
- Figs. 2A and 2B are block diagrams that schematically show elements of an ontology- based data management system, in accordance with an embodiment of the present invention
- Fig. 3 is a graph that schematically illustrates an exemplary ontology
- Fig. 4 is a block diagram that schematically illustrates elements of a data management system that are used in query planning and response, in accordance with an embodiment of the present invention
- Figs. 1 is a schematic, pictorial illustration of a federated data management system, in accordance with an embodiment of the present invention
- Figs. 2A and 2B are block diagrams that schematically show elements of an ontology- based data management system, in accordance with an embodiment of the present invention
- Fig. 3 is a graph that schematically illustrates an exemplary ontology
- Fig. 4 is a block diagram that schematically illustrates elements of
- FIG. 5A and 5B are flow charts that schematically illustrate a method for query planning and response, in accordance with an embodiment of the present invention
- Fig. 6 is a flow chart that schematically illustrates a method by which a data source wrapper responds to a request made by a query agent, in accordance with an embodiment of the present invention
- Fig. 7 is a block diagram that schematically illustrates elements of a query p lan, in accordance with an embodiment of the present invention
- Fig. 8 is a flow chart that schematically illustrates background tasks carried out in a data management system, in accordance with an embodiment of the present invention
- Fig. 6 is a flow chart that schematically illustrates a method by which a data source wrapper responds to a request made by a query agent, in accordance with an embodiment of the present invention
- Fig. 7 is a block diagram that schematically illustrates elements of a query p lan, in accordance with an embodiment of the present invention
- Fig. 8 is a flow chart that
- FIG. 9A is a schematic representation of a user interface screen for use in mapping a database to an ontology, in accordance with an embodiment of the present invention
- Fig. 9B is a schematic representation of a user interface screen for use in mapping local users to community roles, in accordance with an embodiment of the present invention
- Fig. 10 is a block diagram that schematically illustrates elements of a virtual private network for a data access application, in accordance with an embodiment of the present invention.
- Fig. 1 is a schematic, pictorial illustration of a federated system 20 for data management, in accordance with an embodiment of the present invention.
- System 20 crosses enterprise boundaries, in the sense that it involves multiple, autonomous organizations in sharing data and data management services.
- Fig. 1 involves a "community" of health-care related organizations, including, for example, a governmental health service 22, a private HMO 24, a hospital 26, a medical school 28, a local clinic 30 with associated mobile emergency medical service 32, and a drag manufacturer 34.
- These organizations have a mutual interest in sharing certain information that is gathered and held by each of the bodies in its own data repositories. The information may relate to matters such as patient health records, billing for services, activities of medical personnel, and so forth. Sharing information can clearly enhance the effectiveness with which each of the organizations in system 20 carries out its functions.
- the information to be shared within system 20 is typically held in many different data formats, at different locations within different organizations, with their own information models, structures and representations.
- Embodiments of the present invention addresses the needs and problems outlined above by linking the participating organizations to exchange information over an internal, grid- managed virtual private network 42, with a semantic, ontology-based foundation.
- network 42 may ran over existing, generic wide-area networks (WANs) 36, such as the Internet, and local area networks (LANs) 38.
- WANs wide-area networks
- LANs local area networks
- the users (clients) and data sources within system 20 are connected through secure, semantic links of virtual network 42 to a backbone of hubs 40.
- WANs wide-area networks
- LANs local area networks
- hubs may be at any suitable physical location, either on the sites of participating organizations or at independent locations linked to network 42.
- Priming tasks are carried out by community and site administrators when assembling, growing, and evolving the grid. Examples of such tasks include wrapping and attaching a new source, adding a new site, altering a usage policy.
- Foreground tasks are carried out by the grid to respond to client requests during run-time, for example, executing a client query or subscription.
- Background tasks are carried out by the grid to maintain, self-adapt, and improve services. Examples of background tasks include periodically checking source integrity, producing auxiliary tables for more efficient joins, dynamically indexing internal tables, and reconfiguring agents to better address dynamic global requirements. Fig.
- FIG. 2A is a block diagram that schematically illustrates the logical architecture of system 20, in accordance with an embodiment of the present invention.
- the elements of system 20 are implemented in the form of software running on suitable computer workstations o r s ervers. T his s oftware m ay b e d ownloaded t o t he c omputer i n question in electronic form, over a computer network, for example, or it may alternatively be provided on tangible media, such as optical, magnetic or electronic memory media.
- the elements of system 20 are shown in Fig. 2 , for the sake of conceptual clarity, as separate functional blocks, in practice two or more of these elements may ran on a single computer.
- Gateways have two possible functions: • A portal 52 links clients 54 to network 42, for the purpose of submitting queries and receiving replies. • A wrapper 56 interfaces between data sources 58 and network 42, by translating data and messages between the native format of each data source and the ontological format used on network 42. Portal 52 also handles security functions relating to the clients, such as user authentication and mapping to a community role. Similarly, wrapper 56 handles security functions relating to the data sources, such as representing an authorized role with appropriate credentials. These functions may be implemented as agents.
- a given gateway node may perform one or more instances of either or both of the portal and wrapper functions.
- Query agents 60 run on hubs 40, wherein each hub may ran one or more of these agents. Agents 60 receive queries from portals 52 and "compile" the que ⁇ es into query plans that identify potential sources of the data. The query agents then carry out the plans by sending appropriate messages, referred to hereinbelow as sub-queries, to wrappers 56 requesting that they supply the required data from respective sources 58. When execution of the query plan is completed, agent 60 reports the results back to the requesting portal 52.
- the query planning and execution process is described in greater detail hereinbelow.
- Hubs 40 may also ran agents of other types, such as subscription agents, i.e., agents that listen continuously for source, data, or grid-related events o f a s pecified t ype i n s ystem 20, a nd t hen r eport t he r esults o ft hese events to a client. Further agent types are enumerated below. hi planning and executing queries, the query agent on hub 40 is assisted and supported by other hub utilities (not shown in the figure), which may also be implemented as agents. These utilities include the following:
- Directory utilities maintain a registry ("directory") of nodes, agents, sources, clients and authorization certificates, and the capabilities, privileges, configurations and status of each.
- Discovery utilities enable nodes and components (such as portals, wrappers and agents) to automatically discover, register, and link to other available nodes and components.
- Ontology utilities provide access to all the ontologies that are used in system 20, as well as a comprehensive set of ontology-related services.
- Messaging utilities support asynchronous message queuing facilities for all agents on network 42 regardless of location (even if the agents change location).
- Matching utilities are applied by agents 60 in determining which data sources 58 are authorized and useful for responding to a specific client request.
- Planning utilities compile abstract queries into concrete query plans of sub-queries and other data management actions (such as joins, filters and sorts) on the appropriate set of data sources. Details of this query compilation process are described below with reference to Figs. 4, 5A and 5B.
- Storage utilities provide persistent storage for registries, messages, posted client requests, query plans, cached results and other information used by agents 60.
- Logging utilities provide distributed logging of system functions and load levels. These utilities may be ⁇ sed for management functions, such as monitoring, auditing, diagnostics and debugging, as well as for optimized dynamic query planning - compilation of query plans based on availability and load levels of system resources, as described hereinbelow.
- Security utilities provide PKI (public key infrastructure) and authentication facilities for components.
- FIG. 2B is a block diagram that schematically illustrates further details of the architecture and implementation of system 20.
- System 20 is shown to comprise multiple sites 61, each of which typically comprises multiple computers 62, which may be interconnected by LAN 38 on the site.
- Each of the functions of hub 40 or gateway 5 0 mayrun on a single computer on any given site or on multiple computers.
- gateways 50 are "thin,” requiring only limited computing resources, and most of the computing power in system 20 is concentrated in the hubs.
- Query agents 60 ran on hubs 40, and other agents 64, 65 may run on the hubs and gateways, as well, as noted above.
- agents 65 on gateways 50 may comprise portal and wrapper agents.
- Local storage 63 is provided for use by the agents in carrying out their functions.
- computers 62 are configured to operate as Java platforms.
- the utilities described above are typically implemented in Java as conventional Remote Method Invocation (RMI) services, with additional HTTP tunneling when beneficial, such as to accommodate site firewalls.
- Agents 60, 64, 65 communicate via grid-wide messaging services 66.
- Gateways 50 may serve any number of communities, but each hub 40 typically serves a specific community. Each community defines the nature of client services to be supported, possibly differentiating between different service priorities.
- Each service and priority is handled by an appropriate set of service agents 60, 64, for example, query and subscription agents, which communicate via messaging services 66 with portal and wrapper agents as needed. Multiple agents at different nodes can share in the handling of any specific service and priority by subscribing to a shared message queue 68 of pending requests. Similarly, portal agents 65 submitting multiple types of client service requests publish the requests to message queues 68 designated for handling each type of service request. Message queues are dynamically maintained by the distributed grid platform to facilitate changes in the c urrent configuration of services and agents.
- each gateway 50 is configured to connect to a specific set of hubs 40. Each community maintains a list of hubs serving that community so that the hubs can readily discover each other.
- a dynamic grid-wide directory 67 maintains the current state of nodes (gateways and hubs) and connectivity, as well as a registry of all sources, clients, and agents accessible via these nodes. Agents and other utilities ensure that the dynamic directory is kept up to date as part of their background activities. As noted earlier, all grid nodes and components are mutually authenticated, and an internal virtual private network is maintained to produce a secure grid substrate. When one of clients 54 submits a service request to one of portal agents 65 on its gateway 50, this request is queued to all hub agents 60, 64 that have subscribed to such requests. An agent picks up the request, produces a concrete plan for executing it, and then executes it with the assistance of other agents, such as the source wrapper agents 65 needed to produce the results.
- each wrapper agent receives an appropriate sub-request via its queue.
- the results of the sub-request are stored directly in storage 63 at a predetennined location.
- the servicing hub agent then collects these partial results to produce final results in the same storage location or any other storage location.
- a link to the final results is then sent to the originating portal agent via its message queue.
- the grid topology and consistency is fluid enough to accommodate change without disruption.
- all agents with ongoing tasks that use this source can either produce a new plan of action without the source or return results with an appropriate exception (assuming the source plays a non-critical part in the current query plan).
- FIG. 3 is a graph that schematically shows an ontology 70 that may be used in system 20, in accordance with an embodiment of the present invention.
- This exemplary ontology relates to the domain of securities transactions 72, but of course, similar ontologies may be defined for other domains, such as the healthcare domain illustrated in Fig. 1.
- ontologies are used not only for organizing data held in sources 58, but also for holding meta-information regarding the system itself, such as network nodes, resources, users and policies, including access permissions by users to different resources and records.
- Ontology 70 typically contains a hierarchy of classes, which provide a vocabulary for describing entities, such as people and vehicles, and their attributes, such as age and weight.
- Ontology classes are commonly referred to as “entities” or “frames,” and their attributes are referred to as "slots/')
- the transaction ontology comprises entities identified as trades 74 and traders 76, with subsidiary entities 80, 82, 84 that contain elements and sub-elements of a trade (such as the share traded and the time it was traded) and of a trader making the trade (such as identifying details of the trader).
- Some entities, such as entities 80 and 82 contain further hierarchies of sub-entities, while other entities, such as entities 84, are closed.
- ontology 70 may be used in ontology 70 to define multiple abstraction layers.
- trader 76 inherits the ontology of person 80, with sub- entities of name, birth date, social security number (SSN), etc.
- SSN social security number
- Ontology 70 also defines relationships, by associating semantic labels with relationships that may exist between entities. For example, trader 76 makes trade 74, while trade 74 is traded by trader 76.
- Properties in the ontology define different aspects of the ontological slots and relationships, such as the slot types and cardinality, value ranges and statistics, and how one relationship is the inverse of another.
- wrappers 56 map the metadata of the respective sources to corresponding entities and attributes of the ontology. Automated methods for carrying out this mapping are describe hereinbelow.
- the ontologies used in system 20 incorporate logical rules, which enable the o ntology to c apture g eneralized domain knowledge that c an then be applied in query planning and execution.
- the rales may be expressed as methods associated with the object classes of the different entities in the ontology. Exemplary types of rales may include the following:
- Validation rales indicating properties that may be validly associated with a given entity. For example, a rale may state that persons listed as instances of traders 76 in the ontology must have ages between 18 and 75. If values in a data source are out of range or do not conform to a given statistical distribution, the validation rules in the ontology will identify the deviant entries.
- mapping rules used to map source data structure and content to a given ontology during system priming. For example, a mapping rale may apply ontological properties of a specific column of source data in order to calculate the probability that the column of data actually does belong to a given frame and slot. A wrapper wizard, as described hereinbelow, or other gateway component may then suggest this mapping to a system manager for use in mapping the column to the ontology.
- Joining rules useful particularly in query planning and execution for purposes of joining data from multiple sources.
- Query agents use such rules to determine the probability that two records, with a given slot or set of slots serving as a joint key, do indeed belong to the same entity and instance.
- a joining rale may state that if two person entities have the same social security number and the same first four letters of their last name, then they belong to the same person.
- Joining rales enable query agents to automatically infer which set of available slots should be used to join data from several sources in order to achieve the required level of uniqueness.
- Transformation rules may be used to infer how values that reflect a given representation, language, or code scheme can be automatically transformed into another (for example, inches to centimeters).
- Business logic rales are used to capture reusable domain-specific knowledge, such as the eligible age for a driving license in a given jurisdiction.
- Policy rules can be used to control access to the ontology or to specific entities and attributes in the ontology. Note that in a community of multiple, federated organizations, each organization still sets its own access policies. The common ontology, however, permits the rules to be promulgated in a shared format and to cover different types of content. For example, a policy rule could impose a constraint that only users with given roles in system 20 or belonging to a specific organization or group in the system may access a given data source. Such a rule might further permit such users to read a specific set of slots in the data source only after they have been biometrically authenticated, and after the client computer that they are using has also been authenticated and confirmed to be linked to network 42 by a suitable private link.
- Fig. 4 is a block diagram that schematically illustrates elements of system 20 that are used in query planning, in accordance with an embodiment of the present invention.
- Agent 60 relies on a unified metadata model 90 in compiling query plans.
- the metadata model includes an ontology 92, as described above, and a source directory 94.
- a semi-automated ontology builder 96 may be used to generate and modify ontology 92, typically under control of a system manager.
- the ontology builder then maps data ' structures in sources 58 to the terms in the ontology.
- a source modeler 98 maps sources 58 themselves to source directory 94, based on the ontology of sources in system 20.
- Query server 100 refers user queries to a query compiler 104, which composes a query plan for responding to each query. Query planning is described further hereinbelow with reference to Figs. 5A and 5B.
- query compiler 104 exploits ontology 92 and the database mappings and rales in source directory 94 to translate portable client queries into a set of sub-queries directed to specific sources 58 (via their respective wrappers).
- the client query is typically expressed in abstracted ontological terms, with no foreknowledge regarding the specific available sources and their structure.
- the sub-queries generated by compiler 104 comprise sequences of queries that can be submitted to specific sources to produce the required results.
- server 100 addresses the query messages to the appropriate sources 58, and thus builds the query response for client 54. Figs.
- FIG. 5 A and 5B are a flow chart that schematically illustrates a method for query planning and execution, in accordance with an embodiment of the present invention.
- the method is initiated when portal 52 receives a query submitted by a user of client 54, at a query submission step 110.
- the portal authenticates the client and/or user credentials, and transforms the submitted query expressed in client terms (for example, in a structured query language [SQL] format) into an equivalent query expressed in ontological terms.
- Portal 52 selects a query agent 60 to carry out the query, at an agent selection step 112.
- the choice of query agent may take into account the resources available to the agent, its current work load, and its qualifications to deal with the given ontology of the query.
- Directory 67 (Fig.
- a portal on the site of one member organization may even address queries to agents resident on computers in other sites, subject to applicable policy constraints.
- Portal 52 then submits the ontological query to the selected query agent.
- Query compiler 104 parses and analyzes the query and uses the matching utility mentioned above to produce a subset of data sources 58 (or equivalently, a subset of wrappers 56) that are relevant to the query, at a data source identification step 114.
- Selection of the data sources depends on the ontological terms of the query, the requested scope of the data, the client and user credentials, and the source use policies. Specifically, for each candidate data source, the query compiler checks the client and/or user identity against the access policies that are included in the source ontology, as listed in ontology 92, at an access checking step 118. Any source for which the query compiler determines that the client or user does not have sufficient access rights is removed from the query plan. The query compiler next examines the query and the matched subset of data sources in order to compile the ontological query into an optimized query plan that best exploits the available data sources, at a query compilation step 120. Further aspects of query compilation and optimization are described below with reference to a specific query example in Fig. 7.
- the query plan comprises sub-queries addressed to one or more sources 58, and subsequent joins that combine the normalized sub-query results to produce final results.
- Query agent 60 also allocates storage resources, via the above-mentioned storage utility, for collecting results during each stage of the plan.
- Query agent 60 then executes the plan, sending appropriate sub-query messages to wrappers 56 of sources selected in the plan, at a message distribution step 122.
- the messages typically comprise handles to the storage resources allocated for the responses. Wrapper invocations are initiated in parallel whenever possible, as illustrated in the figure. Wrappers 56 use the source mappings to translate the ontological sub-queries into the appropriate native terms of local data sources 58. Details of this process are shown below in Fig. 6.
- the resulting native sub-queries may typically be executed by the local database management system (DBMS) of the corresponding data source.
- sources 58 need not b e databases, but may alternatively comprise other types of data (structured or unstructured), services and other applications.
- the wrappers may also perform normalization of the sub-query results based on translation terms provided in the sub-query, as well as other post-processing of returned values after the sub-query is executed.
- Each wrapper writes its processed data to the appropriate storage location, at a data reception step 124.
- Query agent 60 is notified, typically via the storage utility, using the storage handles, when the results have been appropriately normalized by the wrapper and stored, at a data storage step 126.
- the query plan may call for joining, filtering, sorting and additional actions to be carried out by the query agent upon subsets of results at various stages.
- the query agent keeps track of the wrapper notifications and uses DBMS capabilities of the storage utility to carry out these actions when the result subsets are ready.
- the query agent also handles exceptions, such as when results are not obtained within designated response times.
- the query plan may indicate which results are critical to the query and which are not, so that the query agent can respond accordingly. For example, when a sub-query requesting non-critical results fails, the results may simply be omitted from the query response.
- critical results if unavailable from the original intended source, may be procured by agent 60 from another source, based on the information in metadata sources 90.
- Query agent 60 checks periodically to determine whether the query plan has been completed, at a completion checking step 130. As long as further results are still required in order to complete the query plan, the query agent continues to collect and process data from wrappers 56, at a continued collection step 132. Upon completion of the query plan, the query agent caches the results in an appropriate storage location, at a caching step 134. The agent then provides portal 52 with a handle to the final results, at a handle passing step 136. The portal transfonns the cached results into client terms as needed, and delivers the results in the form requested by the client. All the above actions are typically logged by the logging utility, along with the credentials of the user and client that submitted the query, for auditing and accountability purposes. Fig.
- FIG. 6 is a flow chart that schematically illustrates steps performed by wrapper 56 in responding to a sub-query addressed to it by query agent 60, in accordance with an embodiment of the present invention.
- This method is initiated when the wrapper receives a request for data from the query agent, at a data request step 140.
- the wrapper checks the validity of the request, at a validity checking step 142.
- a request may be invalid, for example, if it lacks the proper access authorization. If the request is found to be invalid (or if any of the subsequent steps in the method fails), the wrapper sends a failure message back to query agent 60, at a failure s tep 143.
- wrapper 56 maps the sub-query from the ontological "SQL" used by agent 60 to the native query format that is understood by the data source 58 that wrapper 56 serves, at a query mapping step 144.
- Fig. 6 for the sake of convenience, refers to the native query format as a "data source SQL," the method shown in the figure is equally applicable to other types of data sources - not necessarily databases - and services that may be accessed in system 20.
- the sub-query may also contain data input, which is again expressed in the normalized, ontological units and format of network 42.
- Wrapper 56 similarly maps the S QL data from the ontological format to the native units and format o f source 58, at a data mapping step 146.
- the wrapper then retrieves the requested data from source 58, using the local, native DBMS of the source, at a data retrieval step 148.
- wrapper 56 may locally perform a part of the data processing required by the plan, at a pushdown step 150. This step may be carried out using the processing capabilities of the local DBMS or using processing capabilities built into the wrapper.
- the step may include, for example, joining values from multiple tables held in data source 58 or, additionally or alternatively, performing arithmetic or string operations on data values. Some examples are shown in Fig. 7.
- wrapper 56 normalizes the data read from the data source, i.e., maps the data values from native units to the units used in the ontology, at a normalization step 151. Value mapping carried out by the wrapper may also include translation of text from one language to another. After retrieving the data from source 58 and completing any required local processing, wrapper 56 normalizes the results in the appropriate ontological terms.
- the wrapper stores the results in the appropriate location using the above-mentioned storage service, at a data storage step 152 (corresponding to steps 124 and 126 in Fig. 5A).
- the wrapper then uses the storage service to send a message to query agent 60 indicating the location of the sub-query result, at a sub-query completion step 154.
- wrapper 56 may stream data to agent 60, so that processing of the data can proceed even before all the sub-query results have been gathered.
- the wrapper may move the data to a storage location specified by the agent in a block operation, such as a block move or block insert operation.
- system 20 is configured to support a comprehensive set of information services, such as data updates, subscriptions, events, and backups.
- Each service is typically carried out by an appropriate type of service agent. Requests from clients 54 for services of these types are submitted by portal 52 to the appropriate service agent, which collaborates with other agents and invokes utilities as needed.
- a data writing service agent may use the same matching and planning processes as were described above to identify relevant sources 58 for update. Writing privileges in this case, as maintained in ontology 92, are typically more limited than reading privileges, so that client writes are of narrow scope. Wrappers 56 transform data updates expressed in.
- a process service agent may receive standard process definitions, which may be expressed, for example, in Business Process Execution Language (BPEL).
- BPEL Business Process Execution Language
- the process definition may incorporate elements such as flow control, client notification interaction, and o ther services of system 20. These other services (for example, queries, data write, and recursive processes) are executed by invoking the appropriate service agents.
- a transactional process service agent may be used to execute processes that require a two- phase commit.
- An event service agent may be used to handle requests for data-dependent events that prompt the activation of a process.
- Data events can be viewed as queries with constraints that produce non-empty results (i.e., when the query returns a result, the event has occurred).
- a query agent may thus be invoked to produce cached results that are examined to determine when the event has occurred.
- Some of sources 58 may themselves have active database capabilities, i.e., they may incorporate their own event-driven triggers, hi this case, the event service agent may invoke the wrappers of these sources to manage the triggers and thus detect and report on events, so that it is in this case unnecessary to poll the sources. Otherwise, the wrappers may poll their sources at a frequency specified by the event service agent (subject to any throughput limits imposed by the source itself).
- the event s ervice agent examines the results when they b ecome available, such as when all wrappers have responded via trigger or polling.
- the event service agent invokes a process service agent to execute the appropriate process when the event has occurred.
- a subscription service agent handles requests from clients 54 for continuous queries. Depending on the query terms, the agent returns complete o r i ncremental r esults to the client on a periodic or event-driven basis.
- the subscription agent typically recruits query agents and/or event service agents to provide the results.
- a backup service agent may be invoked to record a copy of the results of a specified query on a designated hub or source.
- the results are maintained in ontological terms, and can thus be restored on any source 58 in source terms even if the source has evolved since the copy was recorded.
- the recorded results are tagged with the list of sources used to produce the results so that source restoration can be limited to the results that came from a given source.
- a history service agent may be used to produce time-tagged copies of specified data.
- the copies may be made periodically, or they may be event-driven. They may b e used for tracking and on-line analytical processing (OLAP) trend analysis.
- Fig. 7 is a block diagram that schematically illustrates elements of a query plan carried out in system 20, in accordance with an embodiment of the present invention.
- a simple ontology 160 is defined, comprising a sale entity 162 and a product entity 164.
- the entities are related by a product-sold relationship, identifying the product or products sold in each sale.
- the sale entity includes a number of attributes, including a unique order ID, as well as the sale amount and the customer account number.
- Each product entity includes a product ID (such as a catalog number), product name and price.
- the hierarchy of products in ontology 160 includes, in this example, two types of product entities: a monitor entity 166 and a printer entity 168, which are defined by inheritance from product entity 164 but have their own specific attributes (such as size or resolution).
- the data sources available for responding to queries in this example include relational databases 170 and 172 and structured documents 174, 176, 178. It can be seen in the figure that the fields in the databases and documents have already been mapped by wrappers (not shown in this figure) to ontology 160. Thus, for example, a field that might have appeared in sales database 1 72 as the "purchase order number" has been mapped to the ID slot of sale entity 162, while another field labeled "catalog number" has been mapped to the ID slot of product entity 164.
- a query 180 is now submitted to system 20, asking for a listing of products sold, by name and price, and the amounts and account numbers of sales in which these products have been sold.
- Query compiler 104 examines the contents of sources 170, 172, 174, 176, 178 to determine where the necessary information can be procured and how the information can be joined into a query response.
- the query plan developed by the compiler includes the following steps, which are typically formulated as sub-queries addressed to the wrappers of the data sources, as described above: 1.
- the wrapper of one or both of databases 170 and 172 generates an initial sub-query result 182 by p erforming an outer j oin o f sales account data from customer database 170 and sales amount data from sales database 172.
- the wrapper uses the " unique sale ID as a key. This outer join operation, as well as other operations described below, is thus “pushed down” to the local level of the databases and their wrappers in order to reduce the processing burden on hub 40 (Fig. 2) and to reduce the amount of communication traffic that must be carried by network 42.
- the wrapper next takes a union of monitor list 174 and printer list 176, and then joins the name and price information from these lists into result 182 in order to create a combined sub-query result 184.
- the product ID is used as the key for joining the data.
- the wrapper also performs a complementation operation on the product names, i.e., it converts the names to lower-case characters to prevent errors in subsequent processing.
- the wrapper of sale documents 178 performs a natural join over the documents in order to generate a second sub-query result 186.
- This sub-query may be performed in parallel with the sub-queries carried out in the two preceding steps.
- product names are converted by the wrapper to lower case.
- the form of result 186 is identical to that of result 184, except that the account number field is null in this case.
- the query agent may ignore records that are partial or incomplete, or it may alternatively return these results with an indication of the missing values, depending on user preferences that accompany the query.
- the query compiler has chosen to collect potentially duplicate results 184 and 186.
- Agent 60 takes a union of results 184 and 186 in order to generate a query response 188.
- the lower-case form of the product names enables the agent to avoid duplicating records due to anomalies in capitalization.
- Selection of the keys to be used in joining data from different sources is a function of compiler 104.
- the compiler uses ontological rules in order to choose the optimal key to use in each case, so as to increase the likelihood of obtaining complete and unambiguous data. For example, consider the case in which a query is submitted regarding a group of persons, requiring that query agent 60 provide contact data (such as address), personal data (such as age), and a vehicle registration number for each person. The data are assumed to be in different tables, and the query requires that they be joined for an authorized client.
- Source metadata will typically identify foreign keys for joining them. Otherwise, it is possible that the data are distributed among several sources, wherein each source has a field that has been mapped to the same distinct identifier, such as an employee number, or the unique sale ID number noted in the example above, fn this case, the common identifying field or fields provide a solid base for joining the tables.
- Source directory 94 (Fig. 4) typically provides compiler 104 with this meta-information regarding possible keys. Assembly of this meta-information is one of the background tasks that may be carried out in system 20 in order to enhance accuracy of results and efficiency of query handling in runtime.
- compiler 104 may use rales contained in ontology 92 to find a key.
- the ontology might reveal that a name and social security number can be transformed into a distinct identifier.
- source fields mapped to the name and social security number can be used to join the relevant tables.
- compiler 104 may perform empirical tests to evaluate the statistical uniqueness of using the available non-distinct fields in these sources as the basis for joining. For example, the compiler may count the number of people in the target population that actually have the same name and age, and may then choose the most distinct combination as the key for joining the tables.
- Compiler 104 may use ontological rales and empirical testing to determine the likelihood that such cases exist. For example, the query agent may test for similar names that have identical social security numbers and home addresses. It may then construct an auxiliary join table to automatically translate similar names and other personal attributes into distinct person identifiers. Each entry in the table may also list the evaluated probability that the relationship it represents is valid. This auxiliary table can subsequently be used as the basis for joining data from the original tables, and also gives a well-defined measure of probability that the join was valid. Such join tables can be produced per class of entities or for specific subsets of each class.
- FIG. 8 is a flow chart that schematically illustrates other background processes carried out in system 20 in order to generate information that can be used by compiler 104 in query planning and optimization, in accordance with an embodiment of the present invention. These functions are carried out, inter alia, by wrappers 56, as well as by ontology builder 96 and source modeler 98 and other services running on hubs 40. Some other background activities, such as building and maintaining ontologies 92 and generating auxiliary join tables, were already mentioned above. New data sources maybe addedto system 20 on a "plug-and-play" basis. F or this purpose, a wrapper is first created, in order to map the fields of the new source to the appropriate ontology, at a wrapper creation step 190.
- This step is typically carried out semi- automatically by a system manager, using a wrapper "wizard" program, as described below with reference to Fig. 9.
- the wrapper advertises the new source by sending appropriate messages over network 42, at a source advertisement step 192.
- the discovery utility on hubs 40 receives these messages, and informs source modeler 98.
- the source modeler registers the appropriate source information in source directory 94, at a source discovery step 194.
- Ontology builder 96 may also generate new ontology versions. For this purpose, the ontology builder applies a version management utility to automatically transform ontological expressions from one version to another. Similarly, source mappings to one ontology version are automatically upgraded in source directory 94 to new versions.
- ontological evolution consists mainly of expansion of the topology, with occasional renaming and merging of structures, so that forward and b ackward transformations between versions are relatively simple.
- the organizations participating in system 20 may choose to change use policies with respect to data sources 58 and other resources that they make available via network 42.
- Such policy changes are likewise advertised by wrappers 56, at a policy advertisement step 196, and are then discovered and recorded in source directory 94, at a policy discovery step 198.
- the above-mentioned logging utilities (which may run on both hubs 40 and gateways 50) track changes in the topology of network 42 and measure performance of various network functions, at a monitoring step 200.
- the monitoring semantics are based on a common, network-wide ontology, which defines entities such as queries submitted and answered, data transfer quantities and rates, duration of operations and timeouts. Activities are logged at the nodes at which they occur, so that the logs accumulate in a manner that does not disrupt messaging. Each log records each activity along with an identification of the request that generated it, so that a complete record of the handling of any particular request can be reconstructed end-to-end based on information held in the different logs. For the purpose of such logging, a network-wide system clock may be defined (despite the fact that the underlying physical network is asynchronous) by periodic distribution of appropriate timing messages, thus creating a "virtual time" that is uniform for all logs in system 20.
- Fig. 9 A is a schematic representation of a computer screen 210, showing a user interface provided by a wrapper wizard, in accordance with an embodiment of the present invention.
- Source modeler 98 provides this wizard in order to assist the system manager in the process of identifying the source structures, defining source mappings, and registering the source in directory 94.
- the source is a relational SQL database, which is automatically loaded into modeler 98 along with the chosen ontology.
- the ontology is then displayed in an ontology window 211, while source metadata are displayed in a database window 212.
- the system manager uses a mouse to associate metadata entries in window 212 with corresponding slots in window 211, and to operate controls 213 in order to confirm or remove the mappings.
- the new source is advertised as described above. Similar models may be used for wrapping data resources of other types. For example, if the resource is a Web service, the source Web service description language (WSDL) model may be automatically loaded into the source modeler, in place of the SQL metadata. Similarly, if the resource is an XML database, an XQuery server may be used to identify available schemata for mapping by the source modeler.
- WSDL source Web service description language
- Fig. 9B is a schematic representation of a computer screen 214, showing a user interface provided for the purpose of mapping users to ontological user classes, in accordance with an embodiment of the present invention. The mapping typically depends on the users' organizational affiliation and role within their respective organizations.
- FIG. 10 is a block diagram that schematically illustrates elements of virtual private network 42, in accordance with an embodiment of the present invention. This figure exemplifies the semantic nature of communications over network 42 and the benefits of such communications. As noted earlier, although network 42 may physically run over public networks, such as WAN 36, network 42 is logically separate from other communications that are carried by WAN 36.
- Network 42 connects clients 220, 250 and sources 224 via gateways 222, 226 and 252 to a backbone of agents 228, 230, 232 and 234.
- the agents are logically connected in a full mesh grid topology, as shown in the figure.
- Clients 220 and 250 may communicate with sources, such as source 224, only via the respective gateways and the backbone agents. All communications between the clients and the gateways are purely semantic in form, as are all communications between agents.
- An exemplary data packet 240 contains a message queue header 246 and a semantic payload 248. Header 246 comprises the logical addresses of the application-level source and destination of the packet (typically agents) and possibly other parameters.
- Payload 248 comprises a query, response or other system message.
- the contents of both header 246 and payload 248 are selected from a limited, predetermined set of possible semantic contents, which must conform to the specified ontology of system 20. This ontology is known to all of the agents. Therefore, upon receiving a packet over network 42, the receiving agent can check the semantics of packet header 246 and payload 248 for conformance with the known ontology, hi other words, the agent filters the header and payload against a limited set of known templates to which legitimate traffic must conform. Packets with non-conforming semantics are simply discarded, or filtered semantic elements are nullified.
- Network 42 is thus substantially immune to malicious traffic attacks.
- header 246 and payload 248 are encrypted.
- a malicious user operating on client 250, for example, may "hack into” gateway 252, and may then bombard agent 230 with packets.
- Agent 230 will recognize that the packets do not have the proper semantics and will discard them. Even if the malicious user is successful in this manner in disrupting the performance of agent 230, the resultant traffic will not propagate further into network 42.
- Other clients such as client
- each client 220 and source 224 can determine which ontological elements it is willing to share and what s ecurity checks should b e applied to each element before it is either sent or received. Since all shared information must correspond to ontological elements to flow through the grid, each owner is guaranteed that all incoming and outgoing flows comply w ith w ell-defined s tandards, r egardless o f t he n ature o f t he service being provided. This model is far less complex than the common alternative of screening binary information, which may assume any form for any number of clients and applications with no semantic basis.
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002533167A CA2533167A1 (en) | 2003-07-22 | 2004-07-22 | Information access using ontologies |
US10/565,400 US7761480B2 (en) | 2003-07-22 | 2004-07-22 | Information access using ontologies |
AU2004258349A AU2004258349B2 (en) | 2003-07-22 | 2004-07-22 | Information access using ontologies |
BRPI0412778-1A BRPI0412778A (en) | 2003-07-22 | 2004-07-22 | access to information using ontology |
EP04745007A EP1654679A4 (en) | 2003-07-22 | 2004-07-22 | Information access using ontologies |
US12/835,812 US20100287158A1 (en) | 2003-07-22 | 2010-07-14 | Information access using ontologies |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48976803P | 2003-07-22 | 2003-07-22 | |
US60/489,768 | 2003-07-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/835,812 Division US20100287158A1 (en) | 2003-07-22 | 2010-07-14 | Information access using ontologies |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2005008358A2 true WO2005008358A2 (en) | 2005-01-27 |
WO2005008358A3 WO2005008358A3 (en) | 2005-04-21 |
Family
ID=34079488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IL2004/000667 WO2005008358A2 (en) | 2003-07-22 | 2004-07-22 | Information access using ontologies |
Country Status (7)
Country | Link |
---|---|
US (2) | US7761480B2 (en) |
EP (1) | EP1654679A4 (en) |
CN (1) | CN1856790A (en) |
AU (1) | AU2004258349B2 (en) |
BR (1) | BRPI0412778A (en) |
CA (1) | CA2533167A1 (en) |
WO (1) | WO2005008358A2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100432930C (en) * | 2006-12-06 | 2008-11-12 | 武汉大学 | Management method of software component resources |
CN100444112C (en) * | 2006-12-06 | 2008-12-17 | 武汉大学 | Management method of component library |
WO2011026212A1 (en) * | 2009-09-04 | 2011-03-10 | Redknee Inc. | Data broker method, apparatus and system |
CN102959568A (en) * | 2010-06-30 | 2013-03-06 | 惠普发展公司,有限责任合伙企业 | System and method for collaborative information services |
WO2014098662A1 (en) * | 2012-12-19 | 2014-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Exposing data to query generating applications using usage profiles |
US9110895B2 (en) | 2010-06-30 | 2015-08-18 | Hewlett-Packard Development Company, L.P. | System and method for a serialized data service |
EP2589204A4 (en) * | 2010-07-02 | 2016-04-27 | Nokia Technologies Oy | Method and apparatus for information and computation closures account management |
US9361405B2 (en) | 2010-06-30 | 2016-06-07 | Hewlett Packard Enterprise Development Lp | System and method for service recommendation service |
US10490306B2 (en) * | 2015-02-20 | 2019-11-26 | Cerner Innovation, Inc. | Medical information translation system |
WO2021070012A1 (en) * | 2019-10-07 | 2021-04-15 | International Business Machines Corporation | Ontology-based query routing for distributed knowledge bases |
KR20210081309A (en) * | 2020-06-22 | 2021-07-01 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Method and apparatus for generating semantic representation model,and storage medium |
WO2022003217A1 (en) * | 2020-07-03 | 2022-01-06 | Stratio Big Data Inc Sucursal En España | Ontology-based method and system for restricted access to data |
EP3847796A4 (en) * | 2018-09-06 | 2022-06-15 | Omnimesh Technologies, Inc. | Method and system for managing mutual distributed ledgers in a system of interconnected devices |
EP4014127A4 (en) * | 2019-08-15 | 2022-10-05 | Clinicomp International, Inc. | Method and system for adapting programs for interoperability and adapters therefor |
Families Citing this family (241)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640267B2 (en) * | 2002-11-20 | 2009-12-29 | Radar Networks, Inc. | Methods and systems for managing entities in a computing device using semantic objects |
US7584208B2 (en) * | 2002-11-20 | 2009-09-01 | Radar Networks, Inc. | Methods and systems for managing offers and requests in a network |
US7403939B1 (en) | 2003-05-30 | 2008-07-22 | Aol Llc | Resolving queries based on automatic determination of requestor geographic location |
US7761480B2 (en) * | 2003-07-22 | 2010-07-20 | Kinor Technologies Inc. | Information access using ontologies |
US8949220B2 (en) * | 2003-12-19 | 2015-02-03 | Oracle International Corporation | Techniques for managing XML data associated with multiple execution units |
US7433876B2 (en) * | 2004-02-23 | 2008-10-07 | Radar Networks, Inc. | Semantic web portal and platform |
US8005937B2 (en) * | 2004-03-02 | 2011-08-23 | Fatpot Technologies, Llc | Dynamically integrating disparate computer-aided dispatch systems |
US20050289175A1 (en) * | 2004-06-23 | 2005-12-29 | Oracle International Corporation | Providing XML node identity based operations in a value based SQL system |
JP2006011739A (en) * | 2004-06-24 | 2006-01-12 | Internatl Business Mach Corp <Ibm> | Device, computer system and data processing method using ontology |
BRPI0513210A8 (en) * | 2004-07-01 | 2018-04-24 | Nokia Corp | method for the user to define at least one aspect of a user interface for the device, tool to allow the user to define at least one aspect of a user interface for the mobile device, mobile terminal, and computer program product |
US7562069B1 (en) | 2004-07-01 | 2009-07-14 | Aol Llc | Query disambiguation |
JP2006048129A (en) * | 2004-07-30 | 2006-02-16 | Toshiba Corp | Data processor, data processing method and data processing program |
US7373355B2 (en) * | 2004-09-03 | 2008-05-13 | Metallect Corporation | System and method for relating applications in a computing system |
GB2419691A (en) * | 2004-10-20 | 2006-05-03 | Motorola Inc | Method for generating user preferences |
US7272597B2 (en) | 2004-12-29 | 2007-09-18 | Aol Llc | Domain expert search |
US7349896B2 (en) * | 2004-12-29 | 2008-03-25 | Aol Llc | Query routing |
US7571157B2 (en) * | 2004-12-29 | 2009-08-04 | Aol Llc | Filtering search results |
US7818314B2 (en) * | 2004-12-29 | 2010-10-19 | Aol Inc. | Search fusion |
US8244689B2 (en) | 2006-02-17 | 2012-08-14 | Google Inc. | Attribute entropy as a signal in object normalization |
US7769579B2 (en) | 2005-05-31 | 2010-08-03 | Google Inc. | Learning facts from semi-structured text |
US7337170B2 (en) * | 2005-01-18 | 2008-02-26 | International Business Machines Corporation | System and method for planning and generating queries for multi-dimensional analysis using domain models and data federation |
US20060224628A1 (en) * | 2005-03-29 | 2006-10-05 | Bea Systems, Inc. | Modeling for data services |
US9208229B2 (en) | 2005-03-31 | 2015-12-08 | Google Inc. | Anchor text summarization for corroboration |
US7587387B2 (en) | 2005-03-31 | 2009-09-08 | Google Inc. | User interface for facts query engine with snippets from information sources that include query terms and answer terms |
US8682913B1 (en) | 2005-03-31 | 2014-03-25 | Google Inc. | Corroborating facts extracted from multiple sources |
US7734619B2 (en) * | 2005-05-27 | 2010-06-08 | International Business Machines Corporation | Method of presenting lineage diagrams representing query plans |
US8041570B2 (en) * | 2005-05-31 | 2011-10-18 | Robert Bosch Corporation | Dialogue management using scripts |
US8996470B1 (en) | 2005-05-31 | 2015-03-31 | Google Inc. | System for ensuring the internal consistency of a fact repository |
US7801841B2 (en) * | 2005-06-20 | 2010-09-21 | New York University | Method, system and software arrangement for reconstructing formal descriptive models of processes from functional/modal data using suitable ontology |
US8572018B2 (en) * | 2005-06-20 | 2013-10-29 | New York University | Method, system and software arrangement for reconstructing formal descriptive models of processes from functional/modal data using suitable ontology |
US7933632B2 (en) | 2005-09-16 | 2011-04-26 | Microsoft Corporation | Tile space user interface for mobile devices |
US20070067726A1 (en) * | 2005-09-16 | 2007-03-22 | Microsoft Corporation | Content sharing user interface for mobile devices |
US7873356B2 (en) * | 2005-09-16 | 2011-01-18 | Microsoft Corporation | Search interface for mobile devices |
US20070067738A1 (en) * | 2005-09-16 | 2007-03-22 | Microsoft Corporation | Extensible, filtered lists for mobile device user interface |
US7734575B1 (en) * | 2005-11-16 | 2010-06-08 | Amdocs Software Systems Limited | System, method, and computer program product for scaleable data collection and audience feedback |
US8069153B2 (en) * | 2005-12-02 | 2011-11-29 | Salesforce.Com, Inc. | Systems and methods for securing customer data in a multi-tenant environment |
US8112707B2 (en) * | 2005-12-13 | 2012-02-07 | Trigent Software Ltd. | Capturing reading styles |
US7527192B1 (en) | 2005-12-15 | 2009-05-05 | At&T Corp. | Network based method of providing access to information |
EP1920366A1 (en) | 2006-01-20 | 2008-05-14 | Glenbrook Associates, Inc. | System and method for context-rich database optimized for processing of concepts |
US20070174106A1 (en) * | 2006-01-26 | 2007-07-26 | Chris Aniszczyk | Method for reducing implementation time for policy based systems management tools |
US8260785B2 (en) | 2006-02-17 | 2012-09-04 | Google Inc. | Automatic object reference identification and linking in a browseable fact repository |
US7991797B2 (en) | 2006-02-17 | 2011-08-02 | Google Inc. | ID persistence through normalization |
US20070179826A1 (en) * | 2006-02-01 | 2007-08-02 | International Business Machines Corporation | Creating a modified ontological model of a business machine |
US8700568B2 (en) | 2006-02-17 | 2014-04-15 | Google Inc. | Entity normalization via name normalization |
US20070203893A1 (en) * | 2006-02-27 | 2007-08-30 | Business Objects, S.A. | Apparatus and method for federated querying of unstructured data |
WO2007120731A2 (en) * | 2006-04-13 | 2007-10-25 | Fischer International | Cross domain provisioning methodology and apparatus |
US8606669B2 (en) * | 2006-06-01 | 2013-12-10 | Broadridge Securities Processing Solutions, Inc. | Systems and methods for client screening in the financial services industry |
US7792864B1 (en) * | 2006-06-14 | 2010-09-07 | TransUnion Teledata, L.L.C. | Entity identification and/or association using multiple data elements |
US8898264B1 (en) | 2006-06-22 | 2014-11-25 | Emc Corporation | Linking business objects and documents |
US8909748B1 (en) | 2006-06-22 | 2014-12-09 | Emc Corporation | Configurable views of context-relevant content |
US8924838B2 (en) | 2006-08-09 | 2014-12-30 | Vcvc Iii Llc. | Harvesting data from page |
JP4171757B2 (en) * | 2006-09-28 | 2008-10-29 | 株式会社東芝 | Ontology integration support device, ontology integration support method, and ontology integration support program |
US20080256026A1 (en) * | 2006-10-17 | 2008-10-16 | Michael Glen Hays | Method For Optimizing And Executing A Query Using Ontological Metadata |
US8122026B1 (en) | 2006-10-20 | 2012-02-21 | Google Inc. | Finding and disambiguating references to entities on web pages |
EP1918827A1 (en) * | 2006-10-31 | 2008-05-07 | British Telecommunications Public Limited Company | Data processing |
US8229955B2 (en) | 2006-12-05 | 2012-07-24 | International Business Machines Corporation | Database query optimizer that takes network choice into consideration |
US8347202B1 (en) | 2007-03-14 | 2013-01-01 | Google Inc. | Determining geographic locations for place names in a fact repository |
US20080228812A1 (en) * | 2007-03-15 | 2008-09-18 | Honeywell International Inc. | Method and System for Metamodeling Using Dynamic Ontology Objects |
US7739212B1 (en) * | 2007-03-28 | 2010-06-15 | Google Inc. | System and method for updating facts in a fact repository |
US9489418B2 (en) * | 2007-04-27 | 2016-11-08 | International Business Machines Corporation | Processing database queries embedded in application source code from within integrated development environment tool |
US8566793B2 (en) * | 2007-04-27 | 2013-10-22 | International Business Machines Corporation | Detecting and displaying errors in database statements within integrated development environment tool |
US8392880B2 (en) * | 2007-04-27 | 2013-03-05 | International Business Machines Corporation | Rapid application development for database-aware applications |
US9047337B2 (en) * | 2007-04-27 | 2015-06-02 | International Business Machines Corporation | Database connectivity and database model integration within integrated development environment tool |
US8239350B1 (en) | 2007-05-08 | 2012-08-07 | Google Inc. | Date ambiguity resolution |
US8375351B2 (en) * | 2007-06-23 | 2013-02-12 | International Business Machines Corporation | Extensible rapid application development for disparate data sources |
US7966291B1 (en) | 2007-06-26 | 2011-06-21 | Google Inc. | Fact-based object merging |
US8266138B1 (en) | 2007-07-19 | 2012-09-11 | Salesforce.Com, Inc. | On-demand database service system, method and computer program product for generating a custom report |
US8244714B1 (en) * | 2007-07-19 | 2012-08-14 | Salesforce, Inc. | On-demand database service system, method and computer program product for generating a custom report utilizing outer joins |
US7970766B1 (en) | 2007-07-23 | 2011-06-28 | Google Inc. | Entity type assignment |
US8738643B1 (en) | 2007-08-02 | 2014-05-27 | Google Inc. | Learning synonymous object names from anchor texts |
US20090076887A1 (en) | 2007-09-16 | 2009-03-19 | Nova Spivack | System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment |
CN101398810B (en) * | 2007-09-30 | 2013-05-01 | 日电(中国)有限公司 | Self-adapting service choice device and method thereof, enquiry system and method thereof |
US8812435B1 (en) | 2007-11-16 | 2014-08-19 | Google Inc. | Learning objects and facts from documents |
US8145684B2 (en) * | 2007-11-28 | 2012-03-27 | International Business Machines Corporation | System and computer program product for assembly of personalized enterprise information integrators over conjunctive queries |
US8190596B2 (en) * | 2007-11-28 | 2012-05-29 | International Business Machines Corporation | Method for assembly of personalized enterprise information integrators over conjunctive queries |
US8572161B2 (en) * | 2008-03-12 | 2013-10-29 | Oracle International Corporation | Simplifying synchronization of copies of same data used by multiple applications |
WO2009151750A1 (en) * | 2008-04-03 | 2009-12-17 | Telcordia Technologies, Inc. | A formal language for multicast communication |
TWI393107B (en) * | 2008-07-02 | 2013-04-11 | Au Optronics Corp | Liquid crystal display device |
US8768923B2 (en) * | 2008-07-29 | 2014-07-01 | Sap Ag | Ontology-based generation and integration of information sources in development platforms |
US8386485B2 (en) * | 2008-07-31 | 2013-02-26 | George Mason Intellectual Properties, Inc. | Case-based framework for collaborative semantic search |
US20110087670A1 (en) * | 2008-08-05 | 2011-04-14 | Gregory Jorstad | Systems and methods for concept mapping |
CN101605141A (en) * | 2008-08-05 | 2009-12-16 | 天津大学 | Web service relational network system based on semanteme |
US9727628B2 (en) * | 2008-08-11 | 2017-08-08 | Innography, Inc. | System and method of applying globally unique identifiers to relate distributed data sources |
US8219572B2 (en) * | 2008-08-29 | 2012-07-10 | Oracle International Corporation | System and method for searching enterprise application data |
US8296317B2 (en) * | 2008-09-15 | 2012-10-23 | Oracle International Corporation | Searchable object network |
US8335778B2 (en) * | 2008-09-17 | 2012-12-18 | Oracle International Corporation | System and method for semantic search in an enterprise application |
EP2332066A4 (en) * | 2008-10-03 | 2013-07-31 | Benefitfocus Com Inc | Systems and methods for automatic creation of agent-based systems |
US11226945B2 (en) | 2008-11-14 | 2022-01-18 | Georgetown University | Process and framework for facilitating information sharing using a distributed hypergraph |
US20100131482A1 (en) * | 2008-11-26 | 2010-05-27 | General Electric Company | Adaptive user interface systems and methods for healthcare applications |
US20100131498A1 (en) * | 2008-11-26 | 2010-05-27 | General Electric Company | Automated healthcare information composition and query enhancement |
US8412734B2 (en) * | 2008-12-30 | 2013-04-02 | International Business Machines Corporation | Unifying hetrogenous data |
US8140556B2 (en) * | 2009-01-20 | 2012-03-20 | Oracle International Corporation | Techniques for automated generation of queries for querying ontologies |
US8214401B2 (en) * | 2009-02-26 | 2012-07-03 | Oracle International Corporation | Techniques for automated generation of ontologies for enterprise applications |
US8862579B2 (en) | 2009-04-15 | 2014-10-14 | Vcvc Iii Llc | Search and search optimization using a pattern of a location identifier |
WO2010120934A2 (en) | 2009-04-15 | 2010-10-21 | Evri Inc. | Search enhanced semantic advertising |
US9037567B2 (en) | 2009-04-15 | 2015-05-19 | Vcvc Iii Llc | Generating user-customized search results and building a semantics-enhanced search engine |
US8200617B2 (en) | 2009-04-15 | 2012-06-12 | Evri, Inc. | Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata |
US8478779B2 (en) * | 2009-05-19 | 2013-07-02 | Microsoft Corporation | Disambiguating a search query based on a difference between composite domain-confidence factors |
WO2010138972A2 (en) | 2009-05-29 | 2010-12-02 | Abacast, Inc. | Selective access of multi-rate data from a server and/or peer |
US20110035418A1 (en) * | 2009-08-06 | 2011-02-10 | Raytheon Company | Object-Knowledge Mapping Method |
US20110035349A1 (en) * | 2009-08-07 | 2011-02-10 | Raytheon Company | Knowledge Management Environment |
US11620660B2 (en) | 2009-08-19 | 2023-04-04 | Oracle International Corporation | Systems and methods for creating and inserting application media content into social media system displays |
US20120109752A1 (en) * | 2009-08-19 | 2012-05-03 | Vitrue, Inc. | Systems and methods for delivering targeted content to a consumer's mobile device based on the consumer's physical location and social media memberships |
US20120011432A1 (en) | 2009-08-19 | 2012-01-12 | Vitrue, Inc. | Systems and methods for associating social media systems and web pages |
US10339541B2 (en) | 2009-08-19 | 2019-07-02 | Oracle International Corporation | Systems and methods for creating and inserting application media content into social media system displays |
WO2011053755A1 (en) * | 2009-10-30 | 2011-05-05 | Evri, Inc. | Improving keyword-based search engine results using enhanced query strategies |
EP2504779A4 (en) * | 2009-11-29 | 2016-06-01 | Kinor Technologies Inc | Automated generation of ontologies |
US8688683B2 (en) * | 2009-11-30 | 2014-04-01 | Business Objects Software Ltd. | Query plan reformulation |
US20110184972A1 (en) * | 2009-12-23 | 2011-07-28 | Cbs Interactive Inc. | System and method for navigating a product catalog |
US8521871B2 (en) * | 2010-01-04 | 2013-08-27 | International Business Machines Corporation | System and method for merging monitoring data streams from a server and a client of the server |
US8918462B2 (en) * | 2010-01-08 | 2014-12-23 | Cerner Innovation, Inc. | Using user-attribute ontologies to calculate user-anonymity degrees |
US8402018B2 (en) * | 2010-02-12 | 2013-03-19 | Korea Advanced Institute Of Science And Technology | Semantic search system using semantic ranking scheme |
EP2365447A1 (en) * | 2010-03-11 | 2011-09-14 | British Telecommunications | Data integration system |
US9704165B2 (en) | 2010-05-11 | 2017-07-11 | Oracle International Corporation | Systems and methods for determining value of social media pages |
CN102142939B (en) * | 2010-06-12 | 2013-12-04 | 华为技术有限公司 | Method and device for testing forward pass rule |
US8332388B2 (en) * | 2010-06-18 | 2012-12-11 | Microsoft Corporation | Transformation rule profiling for a query optimizer |
CN103003823A (en) * | 2010-06-30 | 2013-03-27 | 惠普发展公司,有限责任合伙企业 | System and method for self-service configuration of authorization |
EP2588969A4 (en) * | 2010-06-30 | 2016-11-23 | Hewlett Packard Entpr Dev Lp | System and method for an automated data discovery service |
US8572760B2 (en) * | 2010-08-10 | 2013-10-29 | Benefitfocus.Com, Inc. | Systems and methods for secure agent information |
US9727751B2 (en) * | 2010-10-29 | 2017-08-08 | Nokia Technologies Oy | Method and apparatus for applying privacy policies to structured data |
US20120131189A1 (en) * | 2010-11-24 | 2012-05-24 | Raytheon Company | Apparatus and method for information sharing and privacy assurance |
AU2011201127A1 (en) * | 2011-03-14 | 2012-10-04 | Moxy Studios Pty Ltd | Collaborative Knowledge Management |
WO2012151132A1 (en) | 2011-04-30 | 2012-11-08 | Vmware, Inc. | Dynamic management of groups for entitlement and provisioning of computer resources |
US8930959B2 (en) | 2011-05-13 | 2015-01-06 | Orions Digital Systems, Inc. | Generating event definitions based on spatial and relational relationships |
US8935705B2 (en) | 2011-05-13 | 2015-01-13 | Benefitfocus.Com, Inc. | Execution of highly concurrent processing tasks based on the updated dependency data structure at run-time |
CN102281161B (en) * | 2011-09-15 | 2014-04-16 | 浙江大学 | Multi-agent virtual private network (VPN) tunnel concurrent testing system and multi-agent load balancing method |
US8924431B2 (en) | 2011-09-30 | 2014-12-30 | Comprehend Systems, Inc. | Pluggable domain-specific typing systems and methods of use |
US9020981B2 (en) * | 2011-09-30 | 2015-04-28 | Comprehend Systems, Inc. | Systems and methods for generating schemas that represent multiple data sources |
US8959082B2 (en) | 2011-10-31 | 2015-02-17 | Elwha Llc | Context-sensitive query enrichment |
US20130132372A1 (en) * | 2011-11-17 | 2013-05-23 | Benefitfocus.Com | Systems and methods for dynamic service integration |
US8676787B2 (en) | 2011-12-22 | 2014-03-18 | International Business Machines Corporation | Distributed multi-step abstract queries |
US10671955B2 (en) | 2012-06-05 | 2020-06-02 | Dimensional Insight Incorporated | Dynamic generation of guided pages |
US10755233B2 (en) | 2012-06-05 | 2020-08-25 | Dimensional Insight Incorporated | Guided page navigation |
US9274668B2 (en) | 2012-06-05 | 2016-03-01 | Dimensional Insight Incorporated | Guided page navigation |
US10445674B2 (en) | 2012-06-05 | 2019-10-15 | Dimensional Insight Incorporated | Measure factory |
US9684717B2 (en) * | 2012-06-18 | 2017-06-20 | Sap Se | Semantic search for business entities |
US9147001B1 (en) * | 2012-06-27 | 2015-09-29 | Google Inc. | Automatic user-based query generation and execution |
US9747581B2 (en) * | 2012-07-02 | 2017-08-29 | International Business Machines Corporation | Context-dependent transactional management for separation of duties |
US20140024999A1 (en) | 2012-07-17 | 2014-01-23 | Elwha LLC, a limited liability company of the State of Delaware | Unmanned device utilization methods and systems |
US9254363B2 (en) | 2012-07-17 | 2016-02-09 | Elwha Llc | Unmanned device interaction methods and systems |
US9104728B2 (en) * | 2012-09-25 | 2015-08-11 | Ebay Inc. | Query language to traverse a path in a graph |
US8725774B2 (en) * | 2012-10-05 | 2014-05-13 | Xerox Corporation | Enforcing policies over linked XML resources |
US8812489B2 (en) * | 2012-10-08 | 2014-08-19 | International Business Machines Corporation | Swapping expected and candidate affinities in a query plan cache |
US9189531B2 (en) * | 2012-11-30 | 2015-11-17 | Orbis Technologies, Inc. | Ontology harmonization and mediation systems and methods |
US10204170B2 (en) | 2012-12-21 | 2019-02-12 | Highspot, Inc. | News feed |
US9727618B2 (en) | 2012-12-21 | 2017-08-08 | Highspot, Inc. | Interest graph-powered feed |
US10120900B1 (en) * | 2013-02-25 | 2018-11-06 | EMC IP Holding Company LLC | Processing a database query using a shared metadata store |
US10963426B1 (en) | 2013-02-25 | 2021-03-30 | EMC IP Holding Company LLC | Method of providing access controls and permissions over relational data stored in a hadoop file system |
US10055418B2 (en) | 2014-03-14 | 2018-08-21 | Highspot, Inc. | Narrowing information search results for presentation to a user |
US9378274B2 (en) * | 2013-06-10 | 2016-06-28 | Cisco Technology, Inc. | Object filtering in a computing network |
US9720972B2 (en) | 2013-06-17 | 2017-08-01 | Microsoft Technology Licensing, Llc | Cross-model filtering |
CN104424310B (en) * | 2013-09-06 | 2018-10-02 | 中国海洋大学 | Smart home semantic query method and apparatus based on ontology |
US10146865B2 (en) * | 2013-10-04 | 2018-12-04 | Orions Digital Systems, Inc. | Tagonomy—a system and method of semantic web tagging |
US20150134676A1 (en) * | 2013-11-11 | 2015-05-14 | International Business Machines Corporation | Amorphous data query formulation |
US9710434B2 (en) | 2013-12-10 | 2017-07-18 | Highspot, Inc. | Skim preview |
US9367610B2 (en) * | 2014-01-16 | 2016-06-14 | Massachusetts Institute Of Technology | Knowledge registry systems and methods |
US10324964B2 (en) | 2014-01-16 | 2019-06-18 | Massachusetts Institute Of Technology | Method and systems for enhanced ontology assisted querying of data stores |
WO2015184221A1 (en) | 2014-05-30 | 2015-12-03 | Georgetown University | A process and framework for facilitating information sharing using a distributed hypergraph |
JP6482645B2 (en) * | 2014-07-18 | 2019-03-13 | コンヴィーダ ワイヤレス, エルエルシー | M2M ontology management and semantic interoperability |
US10050842B2 (en) * | 2014-07-23 | 2018-08-14 | Cisco Technology, Inc. | Network control and management using semantic reasoners in a network environment |
EP2991302A1 (en) | 2014-08-26 | 2016-03-02 | Alcatel Lucent | Network system |
US10922657B2 (en) | 2014-08-26 | 2021-02-16 | Oracle International Corporation | Using an employee database with social media connections to calculate job candidate reputation scores |
US9495345B2 (en) * | 2014-12-09 | 2016-11-15 | Idibon, Inc. | Methods and systems for modeling complex taxonomies with natural language understanding |
US10685042B2 (en) | 2014-12-22 | 2020-06-16 | Amazon Technologies, Inc. | Identifying join relationships based on transactional access patterns |
US10120905B2 (en) | 2014-12-22 | 2018-11-06 | Amazon Technologies, Inc. | Efficient determination of join paths via cardinality estimation |
US9984310B2 (en) | 2015-01-23 | 2018-05-29 | Highspot, Inc. | Systems and methods for identifying semantically and visually related content |
US10970285B2 (en) * | 2015-02-26 | 2021-04-06 | Red Hat, Inc. | Grid topology change in a distributed data grid when iterating on the contents of the data grid |
KR101646754B1 (en) * | 2015-03-18 | 2016-08-12 | 연세대학교 산학협력단 | Apparatus and Method of Mobile Semantic Search |
US9946752B2 (en) * | 2015-04-27 | 2018-04-17 | Microsoft Technology Licensing, Llc | Low-latency query processor |
US10003466B1 (en) * | 2015-09-15 | 2018-06-19 | Amazon Technologies, Inc. | Network traffic with credential signatures |
US11087880B1 (en) * | 2016-04-26 | 2021-08-10 | Express Scripts Strategic Development, Inc. | Machine model generation systems and methods |
US10740348B2 (en) | 2016-06-06 | 2020-08-11 | Georgetown University | Application programming interface and hypergraph transfer protocol supporting a global hypergraph approach to reducing complexity for accelerated multi-disciplinary scientific discovery |
US10771285B2 (en) * | 2016-07-05 | 2020-09-08 | Cisco Technology, Inc. | Method and apparatus for mapping network data models |
US10692015B2 (en) | 2016-07-15 | 2020-06-23 | Io-Tahoe Llc | Primary key-foreign key relationship determination through machine learning |
CN106372145B (en) * | 2016-08-29 | 2019-08-27 | 国家超级计算深圳中心(深圳云计算中心) | Querying method and system based on Ontology under a kind of big data environment |
GB201615745D0 (en) | 2016-09-15 | 2016-11-02 | Gb Gas Holdings Ltd | System for analysing data relationships to support query execution |
US11003714B1 (en) | 2016-09-26 | 2021-05-11 | Splunk Inc. | Search node and bucket identification using a search node catalog and a data store catalog |
US11604795B2 (en) | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US11126632B2 (en) | 2016-09-26 | 2021-09-21 | Splunk Inc. | Subquery generation based on search configuration data from an external data system |
US11281706B2 (en) | 2016-09-26 | 2022-03-22 | Splunk Inc. | Multi-layer partition allocation for query execution |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US11222066B1 (en) | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US11663227B2 (en) | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11615104B2 (en) | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US11321321B2 (en) | 2016-09-26 | 2022-05-03 | Splunk Inc. | Record expansion and reduction based on a processing task in a data intake and query system |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US11294941B1 (en) | 2016-09-26 | 2022-04-05 | Splunk Inc. | Message-based data ingestion to a data intake and query system |
US11163758B2 (en) | 2016-09-26 | 2021-11-02 | Splunk Inc. | External dataset capability compensation |
US10977260B2 (en) | 2016-09-26 | 2021-04-13 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
US10776355B1 (en) | 2016-09-26 | 2020-09-15 | Splunk Inc. | Managing, storing, and caching query results and partial query results for combination with additional query results |
US11314753B2 (en) | 2016-09-26 | 2022-04-26 | Splunk Inc. | Execution of a query received from a data intake and query system |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US10984044B1 (en) | 2016-09-26 | 2021-04-20 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
US11106734B1 (en) | 2016-09-26 | 2021-08-31 | Splunk Inc. | Query execution using containerized state-free search nodes in a containerized scalable environment |
US11269939B1 (en) | 2016-09-26 | 2022-03-08 | Splunk Inc. | Iterative message-based data processing including streaming analytics |
US10795884B2 (en) | 2016-09-26 | 2020-10-06 | Splunk Inc. | Dynamic resource allocation for common storage query |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US11620336B1 (en) | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
US11461334B2 (en) | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US11250056B1 (en) | 2016-09-26 | 2022-02-15 | Splunk Inc. | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system |
US11416528B2 (en) | 2016-09-26 | 2022-08-16 | Splunk Inc. | Query acceleration data store |
US11243963B2 (en) | 2016-09-26 | 2022-02-08 | Splunk Inc. | Distributing partial results to worker nodes from an external data system |
US11550847B1 (en) | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11232100B2 (en) | 2016-09-26 | 2022-01-25 | Splunk Inc. | Resource allocation for multiple datasets |
US10726009B2 (en) * | 2016-09-26 | 2020-07-28 | Splunk Inc. | Query processing using query-resource usage and node utilization data |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US20180314729A9 (en) | 2016-10-28 | 2018-11-01 | Roam Analytics, Inc. | Semantic parsing engine |
US11507629B2 (en) | 2016-10-28 | 2022-11-22 | Parexel International, Llc | Dataset networking and database modeling |
EP3349081A1 (en) * | 2017-01-12 | 2018-07-18 | Siemens Aktiengesellschaft | Method for automatically configuring functional units of an automation system, computer program with an implementation of the method and apparatus operating according to the method |
US11514058B2 (en) | 2017-03-17 | 2022-11-29 | Microsoft Technology Licensing, Llc | Context rules for a graph |
CN106991627A (en) * | 2017-03-28 | 2017-07-28 | 广西师范大学 | The distributed intelligence tutoring system acted on behalf of based on domain body and more |
US10805352B2 (en) | 2017-04-21 | 2020-10-13 | Netskope, Inc. | Reducing latency in security enforcement by a network security system (NSS) |
KR20200018792A (en) * | 2017-06-02 | 2020-02-20 | 띵크스팬, 엘엘씨 | Universal data scaffold based data management platform |
CN107423363B (en) | 2017-06-22 | 2021-02-19 | 百度在线网络技术(北京)有限公司 | Artificial intelligence based word generation method, device, equipment and storage medium |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
US11151137B2 (en) | 2017-09-25 | 2021-10-19 | Splunk Inc. | Multi-partition operation in combination operations |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
US11188865B2 (en) | 2018-07-13 | 2021-11-30 | Dimensional Insight Incorporated | Assisted analytics |
US11087179B2 (en) | 2018-12-19 | 2021-08-10 | Netskope, Inc. | Multi-label classification of text documents |
WO2020185900A1 (en) * | 2019-03-11 | 2020-09-17 | Roam Analytics, Inc. | Methods, apparatus and systems for annotation of text documents |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
US11461293B2 (en) * | 2019-08-19 | 2022-10-04 | TADA Cognitive Solutions, LLC | Processes and systems for onboarding data for a digital duplicate |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
US11442944B2 (en) | 2019-10-18 | 2022-09-13 | Thinkspan, LLC | Algorithmic suggestions based on a universal data scaffold |
EP4046040A4 (en) | 2019-10-18 | 2023-10-25 | Thinkspan, LLC | Scalable scaffolding and bundled data |
US11856022B2 (en) | 2020-01-27 | 2023-12-26 | Netskope, Inc. | Metadata-based detection and prevention of phishing attacks |
CN115004149A (en) * | 2020-01-27 | 2022-09-02 | 摩根大通国家银行 | Method and system for controlling access to data |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
US20230133840A1 (en) * | 2020-03-11 | 2023-05-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Control of access to resources of data objects |
US11003880B1 (en) | 2020-08-05 | 2021-05-11 | Georgetown University | Method and system for contact tracing |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067682A1 (en) | 2000-03-06 | 2001-09-13 | I2 Technologies, Inc. | Computer security system |
US20030101170A1 (en) | 2001-05-25 | 2003-05-29 | Joseph Edelstein | Data query and location through a central ontology model |
US20030163597A1 (en) | 2001-05-25 | 2003-08-28 | Hellman Ziv Zalman | Method and system for collaborative ontology modeling |
US20030163450A1 (en) | 2001-05-25 | 2003-08-28 | Joram Borenstein | Brokering semantics between web services |
US20040093344A1 (en) | 2001-05-25 | 2004-05-13 | Ben Berger | Method and system for mapping enterprise data assets to a semantic information model |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405202B1 (en) * | 1998-04-27 | 2002-06-11 | Trident Systems, Inc. | System and method for adding property level security to an object oriented database |
US6425448B1 (en) * | 2001-01-30 | 2002-07-30 | Cdx Gas, L.L.P. | Method and system for accessing subterranean zones from a limited surface area |
US6442545B1 (en) * | 1999-06-01 | 2002-08-27 | Clearforest Ltd. | Term-level text with mining with taxonomies |
US6532469B1 (en) * | 1999-09-20 | 2003-03-11 | Clearforest Corp. | Determining trends using text mining |
US6604093B1 (en) * | 1999-12-27 | 2003-08-05 | International Business Machines Corporation | Situation awareness system |
US20020138353A1 (en) | 2000-05-03 | 2002-09-26 | Zvi Schreiber | Method and system for analysis of database records having fields with sets |
US6636848B1 (en) * | 2000-05-31 | 2003-10-21 | International Business Machines Corporation | Information search using knowledge agents |
US6961728B2 (en) * | 2000-11-28 | 2005-11-01 | Centerboard, Inc. | System and methods for highly distributed wide-area data management of a network of data sources through a database interface |
US7266533B2 (en) * | 2000-12-15 | 2007-09-04 | The Western Union Company | Electronic gift greeting |
JP4543563B2 (en) | 2001-02-28 | 2010-09-15 | 株式会社日立製作所 | Query optimization method in integrated database system |
US6847974B2 (en) * | 2001-03-26 | 2005-01-25 | Us Search.Com Inc | Method and apparatus for intelligent data assimilation |
US7146399B2 (en) * | 2001-05-25 | 2006-12-05 | 2006 Trident Company | Run-time architecture for enterprise integration with transformation generation |
US7673282B2 (en) | 2001-05-25 | 2010-03-02 | International Business Machines Corporation | Enterprise information unification |
US20040093559A1 (en) * | 2001-05-25 | 2004-05-13 | Ruth Amaru | Web client for viewing and interrogating enterprise data semantically |
AU2003224673A1 (en) * | 2002-03-08 | 2003-09-22 | Enleague Systems, Inc | Methods and systems for modeling and using computer resources over a heterogeneous distributed network using semantic ontologies |
US20040117346A1 (en) * | 2002-09-20 | 2004-06-17 | Kilian Stoffel | Computer-based method and apparatus for repurposing an ontology |
US7761480B2 (en) * | 2003-07-22 | 2010-07-20 | Kinor Technologies Inc. | Information access using ontologies |
-
2004
- 2004-07-22 US US10/565,400 patent/US7761480B2/en active Active
- 2004-07-22 WO PCT/IL2004/000667 patent/WO2005008358A2/en active Application Filing
- 2004-07-22 CA CA002533167A patent/CA2533167A1/en not_active Abandoned
- 2004-07-22 CN CNA2004800274006A patent/CN1856790A/en active Pending
- 2004-07-22 AU AU2004258349A patent/AU2004258349B2/en not_active Ceased
- 2004-07-22 BR BRPI0412778-1A patent/BRPI0412778A/en not_active IP Right Cessation
- 2004-07-22 EP EP04745007A patent/EP1654679A4/en not_active Ceased
-
2010
- 2010-07-14 US US12/835,812 patent/US20100287158A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067682A1 (en) | 2000-03-06 | 2001-09-13 | I2 Technologies, Inc. | Computer security system |
US20030101170A1 (en) | 2001-05-25 | 2003-05-29 | Joseph Edelstein | Data query and location through a central ontology model |
US20030163597A1 (en) | 2001-05-25 | 2003-08-28 | Hellman Ziv Zalman | Method and system for collaborative ontology modeling |
US20030163450A1 (en) | 2001-05-25 | 2003-08-28 | Joram Borenstein | Brokering semantics between web services |
US20040093344A1 (en) | 2001-05-25 | 2004-05-13 | Ben Berger | Method and system for mapping enterprise data assets to a semantic information model |
Non-Patent Citations (3)
Title |
---|
FOWLER ET AL.: "Agent-Based Semantic W teroperability in InfoSleuth", SIGMOD RECORD, vol. 28, no. 1, March 1999 (1999-03-01), pages 60 - 67 |
SCHREIBER, SEMANTIC INFORMATION MANAGEMENT (SIM) : SOLVING THE ENTERPRISE DATA PROBLEM BY MANAGING DATA BASED ON ITS BUSINESS MEANING, 2003 |
See also references of EP1654679A4 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100432930C (en) * | 2006-12-06 | 2008-11-12 | 武汉大学 | Management method of software component resources |
CN100444112C (en) * | 2006-12-06 | 2008-12-17 | 武汉大学 | Management method of component library |
WO2011026212A1 (en) * | 2009-09-04 | 2011-03-10 | Redknee Inc. | Data broker method, apparatus and system |
EP2474129A1 (en) * | 2009-09-04 | 2012-07-11 | Redknee Inc. | Data broker method, apparatus and system |
EP2474129A4 (en) * | 2009-09-04 | 2013-05-01 | Redknee Inc | Data broker method, apparatus and system |
CN102959568A (en) * | 2010-06-30 | 2013-03-06 | 惠普发展公司,有限责任合伙企业 | System and method for collaborative information services |
EP2589009A1 (en) * | 2010-06-30 | 2013-05-08 | Hewlett-Packard Development Company, L.P. | System and method for collaborative information services |
US9361405B2 (en) | 2010-06-30 | 2016-06-07 | Hewlett Packard Enterprise Development Lp | System and method for service recommendation service |
EP2589009A4 (en) * | 2010-06-30 | 2015-01-21 | Hewlett Packard Development Co | System and method for collaborative information services |
US9110895B2 (en) | 2010-06-30 | 2015-08-18 | Hewlett-Packard Development Company, L.P. | System and method for a serialized data service |
EP2589204A4 (en) * | 2010-07-02 | 2016-04-27 | Nokia Technologies Oy | Method and apparatus for information and computation closures account management |
WO2014098662A1 (en) * | 2012-12-19 | 2014-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Exposing data to query generating applications using usage profiles |
US10140347B2 (en) | 2012-12-19 | 2018-11-27 | Telefonaktiebolaget L M Ericsson ( Publ) | Exposing data to query generating applications using usage profiles |
US10490306B2 (en) * | 2015-02-20 | 2019-11-26 | Cerner Innovation, Inc. | Medical information translation system |
US20190362825A1 (en) * | 2015-02-20 | 2019-11-28 | Cerner Innovation, Inc. | Medical information translation system |
EP3847796A4 (en) * | 2018-09-06 | 2022-06-15 | Omnimesh Technologies, Inc. | Method and system for managing mutual distributed ledgers in a system of interconnected devices |
EP4014127A4 (en) * | 2019-08-15 | 2022-10-05 | Clinicomp International, Inc. | Method and system for adapting programs for interoperability and adapters therefor |
US11714822B2 (en) | 2019-08-15 | 2023-08-01 | Clinicomp International, Inc. | Method and system for adapting programs for interoperability and adapters therefor |
WO2021070012A1 (en) * | 2019-10-07 | 2021-04-15 | International Business Machines Corporation | Ontology-based query routing for distributed knowledge bases |
GB2604769A (en) * | 2019-10-07 | 2022-09-14 | Ibm | Ontology-based query routing for distributed knowledge bases |
KR20210081309A (en) * | 2020-06-22 | 2021-07-01 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Method and apparatus for generating semantic representation model,and storage medium |
KR102565673B1 (en) | 2020-06-22 | 2023-08-10 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Method and apparatus for generating semantic representation model,and storage medium |
WO2022003217A1 (en) * | 2020-07-03 | 2022-01-06 | Stratio Big Data Inc Sucursal En España | Ontology-based method and system for restricted access to data |
Also Published As
Publication number | Publication date |
---|---|
EP1654679A4 (en) | 2010-11-24 |
CN1856790A (en) | 2006-11-01 |
US20100287158A1 (en) | 2010-11-11 |
CA2533167A1 (en) | 2005-01-27 |
AU2004258349A1 (en) | 2005-01-27 |
WO2005008358A3 (en) | 2005-04-21 |
US7761480B2 (en) | 2010-07-20 |
AU2004258349B2 (en) | 2010-11-11 |
EP1654679A2 (en) | 2006-05-10 |
BRPI0412778A (en) | 2006-09-26 |
US20060248045A1 (en) | 2006-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2004258349B2 (en) | Information access using ontologies | |
Carmagnola et al. | User identification for cross-system personalisation | |
US7774485B2 (en) | Dynamic service composition and orchestration | |
US20160006629A1 (en) | Appliance clearinghouse with orchestrated logic fusion and data fabric - architecture, system and method | |
US20100293147A1 (en) | System and method for providing automated electronic information backup, storage and recovery | |
JP2011501854A (en) | Model-based composite application platform | |
US11822572B2 (en) | Computing system providing blockchain-facilitated semantic interoperability between multiple disparate systems of record (SORs) and related methods | |
WO2002059821A2 (en) | Method and apparatus for locating and exchanging clinical information | |
US20200334244A1 (en) | Bidirectional mapping of hierarchical data to database object types | |
Madduri et al. | A configuration management database architecture in support of IBM Service Management | |
Salvadori et al. | Improving entity linking with ontology alignment for semantic microservices composition | |
Coelho et al. | A blockchain-based architecture for trust in collaborative scientific experimentation | |
Li et al. | Flows and views for scalable scientific process integration | |
Wiederhold | Mediators, concepts and practice | |
Osei-Tutu et al. | Blockchain-based enterprise architecture for comprehensive healthcare information exchange (HIE) data management | |
Cenci et al. | Government Data Interoperability: a Case Study from Academia | |
Mayuri et al. | A Study on Use of Big Data in Cloud Computing Environment | |
Lin et al. | A survey of provenance in scientific workflow | |
Jánki et al. | Standardized Telemedicine Software Development Kit with Hybrid Cloud Support | |
Collins et al. | Grid Data Services-Relational Database Management Systems | |
Ch | CLOUD COMPUTING ENVIRONMENT WITH BIGDATA | |
Kokemueller et al. | Enterprise information integration using a peer to peer approach | |
Tong | Privacy Monitoring and Enforcement in a Web Service Architecture (WSA) | |
Przybilski et al. | An Architecture to Enable Remote Context Reasoning. | |
Alsiyami | A policy language definition for provenance in pervasive computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480027400.6 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2533167 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006248045 Country of ref document: US Ref document number: 10565400 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004745007 Country of ref document: EP Ref document number: 2004258349 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 215/MUMNP/2006 Country of ref document: IN |
|
ENP | Entry into the national phase |
Ref document number: 2004258349 Country of ref document: AU Date of ref document: 20040722 Kind code of ref document: A |
|
WWP | Wipo information: published in national office |
Ref document number: 2004258349 Country of ref document: AU |
|
WWP | Wipo information: published in national office |
Ref document number: 2004745007 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: PI0412778 Country of ref document: BR |
|
WWP | Wipo information: published in national office |
Ref document number: 10565400 Country of ref document: US |