GB2450471A - Managing nodes in a distributed system by registering and making available nodal information to nodes. - Google Patents

Managing nodes in a distributed system by registering and making available nodal information to nodes. Download PDF

Info

Publication number
GB2450471A
GB2450471A GB0709595A GB0709595A GB2450471A GB 2450471 A GB2450471 A GB 2450471A GB 0709595 A GB0709595 A GB 0709595A GB 0709595 A GB0709595 A GB 0709595A GB 2450471 A GB2450471 A GB 2450471A
Authority
GB
United Kingdom
Prior art keywords
node
nodes
communicating
registry
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0709595A
Other versions
GB0709595D0 (en
Inventor
Mark Ralph Thomas
Matthew Jonathan Hird
Steven Charles Townley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales Holdings UK PLC
Original Assignee
Thales Holdings UK PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales Holdings UK PLC filed Critical Thales Holdings UK PLC
Priority to GB0709595A priority Critical patent/GB2450471A/en
Publication of GB0709595D0 publication Critical patent/GB0709595D0/en
Priority to PCT/EP2008/056133 priority patent/WO2008142056A1/en
Publication of GB2450471A publication Critical patent/GB2450471A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • H04L12/24
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

A network management apparatus (1) arranged for use in managing a network of computers each defining a node of the network. The apparatus includes a registry (7) arranged to receive nodal information from one or more nodes (4, 5, 6) identifying the means employed by a node for communicating with nodes. The registry makes available to a node received nodal information in response to a request from the node for that nodal information to enable a determination of whether or not the node possesses means for communicating with nodes which is compatible with the means for communicating with nodes possessed by another node. This enables a given device to determine whether or not it is able to communicate directly with another device providing a desired service. The device may decide not to communicate with the other device, or seek to communicate with a different device. The decision may be result from the determination that the given device and the other device do not employ compatible communication means. The nodal information may be the network address, the technology employed by a node, or the functions and/or services provide by a node to other nodes. The system may be employed within a marine vehicle.

Description

1 2450471 System Management The present invention relates to apparatus
and methods for the management of a distributed system (e.g. network or networks) of software and/or hardware applications.
Distributed systems, such as communications or control systems, or the like, designed and developed over an extended period of time typically undergo step-by-step modifications and upgrades as relevant areas of technology develop and components of the system become obsolete or merit modification.
Often such systems are large in size and high in complexity, possessing a number of separate and separated system components arranged in a network and each providing a specific function or "service" for one or more of the other components of the system. As an example of this, consider a navigation/communications system in a marine vessel such as a ship. The system may typically provide many functions, such as radar control and analysis, sonar control and analysis, communications control and implementation between crew members and other persons. Many of these functions are provided by separate system components located in disparate parts of the vessel and each providing a "service" required by another component in order to allow the whole system to function fully.
For example, a component may be a radar apparatus responsive to control signals from parts of the system, and operable to provide a radar data "service". Another component may be a radar data analyser/processor or radar image presentation apparatus located elsewhere on the ship, and in communication with the radar apparatus to provide a data analysis/processing service or a data presentation/visualisation service. Yet a further component of the system may be a command console, located elsewhere in the ship, in communication with one or both of the radar and data analysis components for issuing command signals to, and receiving data from, each of the other components. Thus, a network of inter-communicating components each providing a "service" collectively provide a navigation system.
However, a modification (e.g. update) of the means by which any one component operates may influence the means by which that component communicates with other components of the system. Indeed, modifications may prevent the modified component communicating with other components of the system. The same may apply to any new componentlservice added to the system. For example, an upgrade (or replacement) of the data processing component/service may result in the upgraded component possessing means for communicating with existing components which is incompatible with the communication means of the latter. The result is a loss of the service provided by' the upgraded component, due to a communications breakdown, until such time as all existing components desiring that service are also upgraded to render them compatible. An example is a change in processing hardware or software, or a communications protocol, or in an upgrade to a newer version of either.
In order to regain full functionality of the system, one would be required to revert to the earlier form of the component/service in question (i.e. to reject the upgrade, and thereby "downgrade"), or to similarly upgrade other components of the system requiring use of the upgraded service in order to render them compatible with that upgraded service. The first option may well be unacceptable, yet the second may be prohibitively complex and/or expensive.
The invention aims to address these deficiencies.
In the invention at its most general, it is proposed to provide for devices in a distributed system such as a network (e.g. computers) information concerning how a component device of the system is able to communicate with another component device of the system. This enables a given device to determine whether or not it is able to communicate directly with another device providing a desired service. The given device may decide, on the basis of the information provided, not to communicate with the other device, and may seek to communicate with a different device providing the desired service. This decision may result from the determination that the given device and the other device do not employ compatible communications means. The given device may seek (and be provided with) information regarding further "bridging" devices with which it is able to communicate and which enable indirect communication with the other device providing the desired service. The devices in question may then form a communications pathway (direct, or indirect via a "bridging" device) between themselves enabling the services of one to be accessed by the other. Most preferably, the information provided identifies all means by which a device of the network is able to communicate with other devices. Most preferably this information is stored in a distributed manner (though may be stored at a central location), preferably available to all components in the network, and preferably made so available at all times in use. The information may be organised and managed to provide a registry means e.g. containing memory/storage means or devices arranged or operable to serve as one or more registers or directories of information preferably, accessible by all devices of the network. Each device of the network may be required to provide to the registry means such information concerning itself (e.g. register that information) in order to be able to subscribe to the registry means and access the information stored therein (e.g. information registered within the registry means). The information preferably identifies all of the means, modes, requirements and methods of communication to which a given node is responsive, compatible or communicative. The registered information is preferably such as to permit a direct comparison of registered information associated with different devices to be sufficient to determine (e.g. without further information being required) whether those different devices are able to communicate with one another directly through the network (e.g. without intervening conversion/translation of communications). References to a distributed system include a distributed computing apparatus (or method) wherein, for example, computing components/devices are functionally and geographically dispersed within a fully integrated system of processors and/or peripherals.
References to a network may include a reference to an internet.
In a first of its aspects, the present invention may provide a distributed system (e.g. network) management apparatus arranged for use in managing a network of devices (e.g. computers) each defining a node of the system (e.g. network), the apparatus including registry means adapted to receive nodal information from one or more nodes identifying the means employed by a node for communicating with nodes, and to make available to a node received nodal information in response to a request from the node for that nodal information to enable a determination of whether or not the node possesses means for communicating with nodes which is compatible with the means for communicating with nodes possessed by another node. The determination may be made by the requesting node, or by another node or other means, or the registry means may be arranged to make the determination and to make the result available to the requesting node. The registry means may transmit or communicate the result to the requesting node e.g. via the network.
The registry means may be arranged to request from nodes of the system/network nodal information for registration. The registry means may be a computer adapted to be connected to the system/network, and arranged to implement the invention, e.g. it may be programmed to implement the invention and may have data storage means, or access to separate data storage means for storing nodal information.
The registry means may be arranged to make nodal information available to a requesting node only if/after the requesting node has registered its nodal information at the registry means. The registry means may be arranged to make available to requesting nodes nodal information concerning the registered nodes which possess means for communicating with nodes which is/are compatible with the means for communicating with nodes possessed by the requesting node, else to inform the requesting node that no such compatible node is registered.
The information regarding the "technology" employed by a node for communicating with the system or network may include information regarding: the particular communications technology being employed; the communications or operating language employed; the communications protocol used; the version of the interface or service being provided or language/protocol used (e.g. an old version may not be compatible with a newer version); the time and/or date at which particulars of interface or service were registered in the registry means (e.g. to allow selection of the oldest or newest available service); the category of service being provided (e.g. to allow multiple providers of a service to be identified, categorised or located within the registry by groupings); the location (e.g. within a network) of the means (e.g. node) providing a service (e.g. to aVow selection of local services rather than global services); the operating platform(s) and br architecture employed, and any other information such as would be required to be known by another node in order to ascertain how communication may be achieved with the node with which the information is concerned.
Of course, the provision of information identifying the functions and/or services provided by a node enables a requesting node to seek functions and services within the network, the network address information enables the requesting node to locate where the services can be found, and the "technology" information enables the requesting node to determine if it can communicate directly with the other node providing the service sought.
Services may include any service providable by a node to another node over a distributed system or network. Examples include data processing functions, communications functions, control functions, data storage, retrieval service etc, display or presentation functions or services, data, communications translation or conversion services e.g. enabling communications signals or data of one languagefprotocol or format to be converted into another language/protocol or format.
The nodal information may include one some or all of: the network address of a given node; the technology employed by a node to provide the means for communicating with nodes; the functions and/or services provided by a node to other nodes.
The registry means may be arranged to be responsive to a request from a given node, for nodal information requiring another node, to make available nodal information regarding a further node operable as a bridging node and possessing means for communicating with both the requesting node and the other node thereby enabhng a communications pathway therebetween. The information may identify a plurality of nodes which may collectively enable a communications pathway between the requesting node and a given node without separately being able to do so. In this way one or more bridging nodes may be identified which are able to communicate with both the preceding and succeeding nodes in a communications pathway between the requesting node and given node, while the preceding and succeeding nodes are unable to communicate with each other due to communications incompatibility. A communications " bridge" may thus be built using one or more bridging nodes intermediate the requesting and given "end" nodes enabling a communications pathway between those two end nodes. The bridge may be formed by the nodes themselves (e.g. by performing appropriate electronic switching or connection steps of appropriate nodes in a manner as would be readily apparent to the skilled person.
For example, the nodal information may be arranged to identify whether a node possesses means for, or is operable for, receiving communications data in a form compatible with a first means for communicating with nodes and providing that data in a form compatible with a second means for communicating with nodes which is incompatible with the first means for communicating with nodes. This may be achieved by translation or conversion of communications data or information using services provided by the identified node.
Such a node may be employed as a bridging node or may simply be used to suitably render compatible otherwise incompatible information or communications data and to return that information or data to the requesting node for subsequent communication by that node to the other node for whose benefit the conversion/translation was done.
The nodal information may identify whether a node possesses means for communicating with nodes in a plurality of mutually incompatible ways (e.g. different languages/protocols). A node so identified may be suitable as a bridging node in possessing e.g. a data input for receiving information, data or signals to be converted or translated and a data output for sending converted or translated information or communications data to a receiving node.
The management apparatus may include at least one said node arranged to provide nodal information to the registry means, and to obtain nodal information from the registry means. Thus, the apparatus may include a node or nodes of the distributed system or network suitably programmed to communicate with the registry means.
For example, management apparatus may include at least one node arranged to determine from nodal information provided by the registry means whether or not that node possesses means for communicating with nodes which is compatible with the means for communicating with nodes employed by another node registered with the registry means. Alternatively, or additionally, the management apparatus may not include a node, and the registry means may be arranged to make the aforementioned determination and to make available to the requesting node the result of that determination.
The at least one node (or the registry means) may be arranged, when the determination does not indicate compatibility, to seek to identify via the registry means a node possessing means for communicating with both the given node and the other node. In this way, bridging nodes may be identified.
In order, for example, to identify translating nodes, the at least one node (or the registry means) may be arranged, when the determination does not indicate compatibility, to seek to identify via the registry means a node possessing means for converting or translating communications compatible with the at least one node so as to render it compatible with the other node. Seeking to identify nodes via the registry means may involve a node requesting nodal information satisfying the required conditions or may involve the registry means performing this function automatically and informing the node of the result.
The management apparatus may include a given node, or the network, in which a given node is arranged to initiate the formation, independently of the registry means, of a communications pathway with another node identified by the given node using the registry means. In this way, the registry means need not be involved in the formation of the communications pathway (e.g. the connection of network ports of nodes) between or/and through nodes, and each node may be adapted to implement desired connections independently of the registry means. A node is preferably adapted to select appropriate system/network connections on the basis of nodal information obtained from the registry means.
It is to be understood that the apparatus described above can be considered to implement a method or methods of managing a distributed system (e.g. e.g. the connectivity of the system or network) of devices, and that such a method or methods are encompassed by this invention.
In a second of its aspects, the present invention may provide a method for managing a distributed system (e.g. network) of devices (e.g.computers) each defining a node of the system (e.g. network), the method including: registering at a registry means (e.g. containing a register) nodal information from one or more nodes identifying the means employed by a node for communicating with nodes; and, making available to a node registered nodal information in response to a request from the node for that nodal information sufficient to enable a determination (e.g. at or by the requesting node)of whether or not the node possesses means for communicating with nodes which is compatible with the means for communicating with nodes possessed by another node.
The method may include requesting, from nodes of the system or network, nodal information for registration.
The nodal information may include one some or all of: the network address of a given node; the technology employed by a node to provide the means for communicating with nodes; the functions and/or service(s) provided by a node to other nodes; the version of the service(s) provided by a node; the time and/or date of registration of the service provided by a node.
The nodai information may identify whether a node possesses means for receiving communications data in a form compatible with a tirst means for communicating with nodes and providing (e.g. by converting or translating) that communications data in a form compatible with a second means for communicating with nodes which is incompatible with the first means for communicating with nodes.
The nodal information may identify whether a node possesses means for communicating with nodes in a plurality of mutually incompatible ways.
The method may include communicating nodal information from a node to the registry means for registration, and communicating nodal information from the registry means to a node.
The method may include determining from nodal information provided by the registry means whether or not the at least one node possesses means for communicating with nodes which is compatible with the means for communicating with nodes employed by another registered node.
The method may include, when the determination does not indicate compatibility, seeking to identify via the registry means a node possessing means for communicating with both the given node and the other node.
The method may include, when the determination does not indicate compatibility, seeking to identify via the registry means a node possessing means for translating or converting communications compatible with the at least one node so as to render it compatible with the other node.
The method may include initiating at a node the formation, independently of the registry means, of a communications pathway with another node identified by the given node using the registry means.
In a third aspect, the invention may provide a distributed system or network of devices (e.g. computers) arranged to implement the method described above. The devices may form at least a part of a navigation and/or communication system e.g. for a vehicle such as a ship. Each device may be an electrical or electronic device -which may include computing means -arranged to perform a function or service forming part of the functionality of the distributed system.
In a fourth aspect, the present invention may provide a program for a computer or network of computers or distributed system of computing devices arranged, when run on a computer or computing device or a network or system of computers, to implement the method as described above. The invention may provide a computer program product including storage means containing a record of, or storing, the computer program. The invention may include one or more computers individually or collectively programmed with the aforesaid computer program.
In a fifth aspect, the present invention may provide a distributed system or network of computers or computing devices including a management apparatus as described above.
In a sixth aspect, the invention may provide a marine vehicle including a network management apparatus as described above, and/or a distributed system or network of computers or computing devices as described above.
In a seventh aspect, the invention may provide a method of modifying a network of distributed system or devices managed according to a management' method described above (e.g. in the second aspect of the invention) and including operably connecting a device (e.g. a computer) to a distributed system or network, or modifying a device already connected to the system or network, thereby to provide a modifying node of the modified system or network, registering the nodal information regarding the modifying node identifying the means employed by the modifying node for communicating with other nodes of the system or network, and making available to the modifying node nodal information regarding other nodes of the system network. The method may include seeking nodal information (e.g. services, addresses) of one or more other nodes in possession of means for communicating with the modifying node (or vice versa). For example, the modifying node may seek the services provided by a node, or the modifying node may be sought by another node for the services it provides, and either may request from the registry means nodal information of compatible nodes providing such services etc, and may also request nodal information regarding bridging nodes offering services of conversion/translation which enable the communications pathway to be formed between the modifying node and an existing node which offers the services sought/requested by the modifying node but which does not possess means compatible with direct communication with the modifying node. In this way, a modifying node may be a new device, or an upgrade of an existing device, which is added to the distributed system or network to either perform/offer new services or to perform/offer existing services in a new/modified way using means for communication with other nodes (e.g. technology, protocols etc.) which is no longer compatible with some existing nodes of the network. Consequently, a dynamic or evolving upgrade of devices/components in the network of components may be achieved by providing and managing the appropriate nodal information required to enable modified nodes to form "bridges" of communication with other nodes thereby avoiding the need to apply a wholesale upgrade of all nodes in response to incompatibility due to an upgrade in only one or some nodes.
The invention, in any of its aspects, may be adapted for, useable with, or provide, a network comprising an integrated distributed computer system providing one or more functions/services to users of the system. One or more nodes of the network may provide functions/services to one or more other nodes desirable or necessary to allow the one or more other nodes to provide their own function/service e.g. to further nodes or users of the system. For example, the function/service provided by one node may be at least in part dependent on the function/service provided by one or other nodes of the network. The invention may relate to, be useable with, or provide an open architecture system/network. The invention may be useable with, adapted for, or provide a network in the form of a system of interconnected nodes/components each for providing a function or service which forms a part of, or is integral or essential to, a service which the whole system is arranged, operable or useable to provide. For example, the network may constitute a communication system and/or a navigation system, including: data acquisition/retrieval functions, information/data processing functions, information/data presentation functions, and control functions for controlling the system or parts of it. Nodes or components of the network may be items of hardware of any desired and suitable type which are arranged to receive and be responsive to another node(s) of the network to output signals or data for communication to another node(s). It would be appreciated that the invention may provide the advantage that nodal information made available to the system enables nodes/components of the system to find providers of a desired service within the system either in situations where the service-seeking node is a new or modified node seeking services, or where the service-seeking node is an existing node of the system seeking an alternative provider of a given service, or a new provider of a new service.
There now follow examples of the invention with reference to the accompanying drawings in which: Figure 1 schematically illustrates a distributed system in the form of a network of computer components in which components register the properties of means they employ for communicating with other components; Figure 2 schematically illustrates a distributed system as illustrated in Figure 1 in which a component forms a direct communications pathway with another component of the system on the basis of nodal information provided to it; Figure 3 schematically illustrates a distributed system as illustrated in Figure 1 or Figure 2 in which a component forms an indirect communication pathway with another component via an intermediate bridging component.
In the drawings like items are assigned like reference symbols.
Figure 1 schematically illustrates a distributed system of computing components collectively forming a network 1, with each computing component defining a network node. Each node may be, for example, a component device in a distributed navigation and/or communications system on a vehicle such as a ship. For example, a first node 4 may include sonar or radar acquisition hardware and software arranged to provide a sonar or radar data service to other nodes, while a second separate node 5 may include data processing hardware and software arranged to provide a data processing service to nodes of the network, such as the first node. A third node 6 may include command and controlled hardware and software operable to issue command and control signals to other nodes of the network (e.g. the first and/or the second node) for controlling the latter and for orchestrating the functions and operations of the distributed navigation and/or communications system of which each node forms a part. Other nodes may be present but not illustrated in the figures explicitly.
Each node preferably includes network communications hardware, such as would be readily apparent to the skilled person, arranged to support and enable communication with network nodes, together with suitable software arranged to implement such communication. However, as will be discussed in detail below, nodes of the network may not possess or employ the means for communicating with other nodes (e.g. hardware and/or software) which are compatible with every one of the other nodes.
Operation of the command and control node 6 is put into effect via a computer console 2 operable by a user and connected to, and in communication with, the network 1. A user of the navigation/communication system may then access and/or control the services provided by it by directing and/or receiving appropriate signals 3 to/from the command and control node 6 via the network (e.g. either directly to that node or indirectly via intermediate nodes).
Network 1 includes, as a further node, a registry 7 including, for example, a data storage facility (e.g. a database facility) and computer means arranged to maintain and interrogate the storage facility. The register unit also includes signal input/output interfaces enabling communication between the registry and each node of the network (and the console 2 if required). The registry is arranged to selectively store (i.e. "register") nodal information communicated to it by nodes of the network which defines properties of the means used by the node in question for communicating with other nodes. The nodal information also includes a description of the service(s) provided by the node in question, and thenetwork address of that node. Any suitable electronic/optical data storage means and facilities may be used in the registry for this purpose, such as will be readily apparent to the skilled person.
The information to be registered includes, for example, a description of the technology employed (or useable) by the registering node for the purposes of communicating with other nodes. Such a description may be a string of characters identifying the technology in question, and readable by the other nodes according to a registration protocol described below. The string may identify a distinct communications language, protocol, or methodology, and this may include identification of a specific issue or version of a more general type of such technology.
Examples include: TCP/IP, as a communications protocol; or UDP/IP; or Webstart; or X-application, as further examples of technologies providing a distinct means of communication between nodes of a network. Other technologies are envisaged such as will be apparent to the skilled person.
UDP (User Datagram Protocol) is a communications protocol which offers a means of exchanging messages between computers in a network using the Internet Protocol (IP). UDP is an alternative to the Transmission Control Protocol (TCP) typically referred to as UDPIIP. UDP uses the Internet Protocol to transmit a data unit from one computer/node to another. However, unlike TCP, UDP does not provide/require the division of a message into packets ("datagrams") nor the subsequent reassembly of the message at the receiving computer/node.
Additional nodal information to be registered includes a description of the service(s) provided by the registering node, the name accorded to the service(s), the network address of the node, optionally, the geographical/physical location of the node, and optionally the time/date the nodal information was registered. Of course, other relevant information may be registered as well. In each instance the nodal information is provided, both to the registry and by the registry, according to a communications protocol and format compatible with all registered and registering nodes. Such a protocol may be the UDDI (Universal Description Discovery and Integration) protocol which will not be described in detail here as its features and implementations will be known to the skilled person in the context of provision and retrieval of information across internets. Other similar such protocols are useable as an alternative to, or in addition to, UDDI in the present invention such as COBRA Naming Services, Service Locator Protocol.
Thus, for example, the first and second nodes of the network are each operable and arranged to communicate nodal information to the registry, and vice a versa, according to the UDDI protocol, and contain the required software and/or hardware necessary to achieve UDDI - compliant functionality for the purposes of exchanging nodal information between each other.
The operation of this example of the invention is as follows: Upon connection to the navigation/communication system network 1, each of the first, second and third nodes (4, 5 and 6) sends to the registry 7 (i.e. "registers") nodal information identifying the communications technologies compatible with the node in question, the services provided by that node, and the network address of the node. Other information regarding properties ot the node may be registered. In response to receipt of nodal information from a given node, the registry node 7 stores the nodal information (e.g. in a searchable database or other store) and permits a given registering node access to the registry facilities provided by the registry node.
Such services include provision of nodal information regarding any registered node, regarding any registered nodal services and any other registered nodal information concerning one, some or all registered nodes.
Referring to Figure 1, the sonar/radar node 4 communicates to the registry node the following nodal information 9: Services: sonar/radar functions X Technology: TCP/IP Address: 193. 150. 185. 124: 200 This nodal information is stored by the registry node and made available to other registered nodes.
The data processing node 5 communicates the registry node the following nodal information 10: Services: data processing Function Y Technology: TCP/IP and UDP/IP Address: 139. 105. 158. 142; 100 This nodal information is stored by the registry node and made available to other registered nodes such as the sonar/radar node 4. The sonar/radar node 4 subsequently employs the data processing services provided by the data processing node-5 and forms a communications pathway 8 therewith for this purpose.
The command and control node 6 communicates to the registry node the following nodal information 11: Services: command/control functions Z Technology: TCP/IP Address: 195. 185. 142. 105; 400 This nodal information is stored by the register node and is made available to other nodes of the network, such as the sonar/radar node and the data processing node -and vice versa.
In the example illustrated in the figures, the command and control node 6 is connected to the network 1, and both the sonar/radar node and the data processing node have connected to the network and registered with the registry node. The following describes the method with which the command and control node utilises the nodal information made available to it by the registry node in determining where in the network to find the services it requires. The same general method applies to any registered node.
Upon registering its nodal information 11 with the registry node, the command and control node sends a "discover" communication to the registry node seeking a list of the network addresses of those nodes providing specified services (identified in the discover communication) required by the command and control node, together with nodal information identifying the technology and nodal address employed by them.
The requested nodal information 12 is retrieved by the registry node from its data storage means and returned to the command and control node. The nodal information identifies the sonar/radar node 4 as being a sonar/radar service provider and also identifies other nodes (not shown) providing such services. The command and control node may then determine which of these nodes possesses a means for communicating with nodes (i.e. a "technology") which is compatible with its own -and in doing so identifies from amongst the nodes identified by the registry node, the sonar/radar node 4 as being suitable. The command and control node 6 then forms a communications pathway 13 with (e.g. "binds' with) the sonar/radar node 4 on the basis of this determination, thereby enabling it to use the sonar/radar services of that node, as illustrated in Figure 2, and using the mutually compatible TCP/IP communications technology to do so. This may be done by connecting the relevant TCP/IP sockets of the two nodes in question.
However, it may be that the nodal information provided by the sonar/radar node 4 identifies that node as employing a type of technology for communicating with nodes other than TCP/IP, or perhaps a different version of TCP/IP, either of which is incompatible with the technology employed by the command and control node for nodal communications. Furthermore, the command and control node, or the sonar/radar node, may undergo modification or replacement such that either node subsequently employs nodal communications technology (of type or version) incompatible with that of the other node.
The invention may enable a solution to this situation as is illustrated in Figure 3, and described below.
Consider, for example, that the command and control node undergoes a modification resulting in it employing a technology for communicating with nodes (e.g. UDP/IP which is incompatible with that employed by the sonar/radar node with which it previously communicated (using TCP/IP.
The modified command and control node initially registers itself with the registry node by supplying to the registry node the following nodal information 11: Services: command and control functions Z Technology: UDP/IP Address: 195. 185. 142. 105: 400 The registry node receives this new nodal information and stores it. Nodal information regarding the other registered node is then made available to the command and control node by the registry node. The command and control node then issues a "discover" request to the registry node requesting nodal information (e.g. technology; address) of all registered nodes providing a sonar/radar service it requires as identified in the discover request. The nodal information 14 is issued to the command and control node, which is then able (and arranged) to determine which, if any, of the registered nodes provides a sonar/radar service employing a nodal communications technology with which it is compatible. The command and control node determines that the sonar/radar node 4 provides the service it requires but employs a nodal communications technology (i.e. TCP/IP) incompatible with its own (i.e. UDP/IP). On the basis of this information the command and control node is able (and arranged) to issue a further "discover" request to the registry requesting nodal information identifying nodes possessing nodal communications technology compatible with both that of the command and control node and that of the sonar/radar node, and possessing a service of converting TCP/IP communications into UDP/IP communications, and vice versa. The registry node returns nodal information identifying this service as being provided by the data processing node 5 and the command and control node 6 then forms a communication pathway 15 with the latter in order to employ its services. The result is an indirect communications pathway between the command and control node and the sonar/radar node and includes: the pathway 15 between the command and control node and the data processing node; the data processing node itself; and, the communications pathway 8 between the data processing node and the sonar/radar node. In this way, the command and control node is able, on the basis of appropriate nodal information made available to it by the registry node, to: (1) determine which nodes provide a desired service; (2) determine which nodes of the group identified in (1) possess suitable means of nodal communication compatible with the command and control node, and where those nodes are; and (3) to form a communications pathway with an identified node directly where the two nodes are compatible; else (4) to identify a node operable as a "bridging" node in employing different nodal communications technology separately compatible with the service seeking node and the node whose service is sought, being operable to convert communications between the two; (5) to form a communications pathway with the node providing the desired service via the "bridging node" identified in (4).
In this way, it is possible to migrate/modify further nodes of the network in a step-by-step manner, using the (or another) bridging node, as each node is subsequently upgraded from e.g. TCP/IP to UDP/IP. Once all nodes employing the same service-providing node have been upgraded, the service-providing node may itself be similarly upgraded to e.g. UDP/lP and the bridging node need no longer be used as a bridging node since direct communications pathways may be formed between the service providing node and those nodes seeking its service.
In preferred embodiments, each time a node of the network is connected to the network, it may be required to register itself and the services it provides with the registry node in order to identify itself as available, and to allow location of the services provided by other nodes within the system. Once registered, a given node may be arranged to interrogate the registry regularly to seek confirmation from the registry that the node in questions remains registered, and/or that the registry remains available. Registration by a given node of itself may be achieved simultaneously or separately with registration of the services it provides. Once nodes and service have been registered with the registry, they may be arranged to automatically locate services provided by other nodes of the system which provide the services required. This process of discovery involves a node interrogating the registry node for information identifying other nodes providing the required service(s), then using the information returned to form the appropriate connections with an appropriate service-providing node. All connections between nodes are made without the direct interaction of the registry node. Thus, the loss of the registry node does not require a complete system reconnect, merely a re-connection of the nodes of the network with the re-instated registry node. Nodes and/or services may be removed from the registry node. Either individual service(s) or all information concerning a given node may be removed.
It is to be appreciated that while the foregoing describes an embodiment of an invention in terms of a network of nodes, it is to be understood that the invention may be implemented in an analogous way in terms of components of a distributed computing system.
It will be appreciated that the present invention may allow a step-wise migration of technology within a system, and avoids the necessity to implement a global change of technology across a complete system/network. Rather, a system/network may at any one time support multiple technology types concurrently, with a multiplicity of services, whilst step-wise migration/evolution takes place.
Modifications and variants of the examples described above, such as would be readily apparent to the skilled person, are encompassed within the scope of this invention.

Claims (27)

  1. Claims: 1. A network management apparatus arranged for use in managing
    a network of computers each defining a node of the network, the apparatus including: registry means arranged to receive nodal information from one or more nodes identifying the means employed by a node for communicating with nodes, and to make available to a node received nodal information in response to a request from the node for that nodal information to enable a determination of whether or not the node possesses means for communicating with nodes which is compatible with the means for communicating with nodes possessed by another node.
  2. 2. A network management apparatus according to any preceding claim in which the registry means is arranged to request from nodes of the network nodal information for registration.
  3. 3. A network management apparatus according to any preceding claim wherein the nodal information includes one some or all of: the network address of a given node; the technology employed by a node to provide the means for communicating with nodes; the functions and/or services provided by a node to other nodes.
  4. 4. A network management apparatus according to any preceding claim in which the nodal information identifies whether a node possesses means for receiving communications data compatible with a first means for communicating with nodes and providing said communications data in a form compatible with a second means for communicating with nodes which is incompatible with the first means for communicating with nodes.
  5. 5. A network management apparatus according to any preceding claim in which the nodal information identifies whether a node possesses means for communicating with nodes in a plurality of mutually incompatible ways.
  6. 6. A network management apparatus according to any preceding claim including at least one said node arranged to provide nodal information to the registry means, and to obtain nodal information from the registry means.
  7. 7. A network management apparatus according to any preceding claim including at least one node arranged to determine from nodal information provided by the registry means whether or not the at least one node possesses means for communicating with nodes which is compatible with the means for communicating with nodes employed by another said node registered with the registry means.
  8. 8. A network management apparatus according to claim 7 in which the at least one node is arranged, when the determinatiOn does not indicate compatibility, to seek to identify via the registry means a node possessing means for communicating with both the given node and the other node.
  9. 9. A network management apparatus according to claims 7 or 8 in which the at least one node is arranged, when the determination does not indicate compatibility, to seek to identify via the registry means a node possessing means for translating communications compatible with the at least one node compatible with the other node.
  10. 10. A network management apparatus according to any preceding claim including the network in which a given node is are arranged to initiate the formation, independently of the registry means, of a communications pathway with another node identified by the given node using the registry means.
  11. 11. A method for managing a network of computers each defining a node of the network, the method including: registering at a registry nodal information from one or more nodes identifying the means employed by a node for communicating with nodes; making available to a node registered nodal information in response to a request from the node for that nodal information to enable a determination of whether or not the node possesses means for communicating with nodes which is compatible with the means for communicating with nodes possessed by another node.
  12. 12. A method according to claim 11 including requesting from nodes of the network nodal information for registration.
  13. 13. A method according to any of claims 11 to 12 wherein the nodal information includes one some or all of: the network address of a given node; the technology employed by a node to provide the means for communicating with nodes; the functions and/or services provided by a node to other nodes.
  14. 14. A method according to any of claims 11 to 13 in which the nodal information identifies whether a node possesses means for receiving communications data compatible with a first means for communicating with nodes and providing said communications data in a form compatible with a second means for communicating with nodes which is incompatible with the first means for communicating with nodes.
  15. 15. A method according to any of claims 11 to 14 in which the nodal information identifies whether a node possesses means for communicating with nodes in a plurality of mutually incompatible ways.
  16. 16. A method according to any of claims 11 to 15 including communicating nodal information from a node to the registry for registration, and communicating nodal information from the registry to a node.
  17. 17. A method according to any of claims 11 to 16 including determining from nodal information provided by the registry whether or not the at least one node possesses means for communicating with nodes which is compatible with the means for communicating with nodes employed by another registered node.
  18. 18. A method according to claim 17 including, when the determination does not indicate compatibility, seeking to identify via the registry a node possessing means for communicating with both the given node and the other node.
  19. 19. A method according to claims 17 or 18 including, when the determination does not indicate compatibility, seeking to identify via the registry a node possessing means for translating communications compatible with the at least one node so as to render it compatible with the other node.
  20. 20. A method according to any of claims 11 to 19 including initiating at a node the formation, independently of the registry, of a communications pathway with another node identified by the given node using the registry.
  21. 21.A network of computers arranged to implement the method of any of claims 11 to 20.
  22. 22. A program for a computer arranged, when run on a computer or a network of computers, to implement the method according to any of claims 11 to 20.
  23. 23. A computer program product including storage means containing a computer program according to claim 22.
  24. 24. A network of computers including a network management apparatus according to any of claims 1 to 10.
  25. 25. A marine vehicle including a network management apparatus according to any of claims 1 to 10, and/or a network of computers according to claim 24.
  26. 26. A network management apparatus substantially as described in any one embodiment hereinbefore with reference to and as illustrated in the accompanying drawings.
  27. 27. A method of network management substantially as described in any one embodiment hereinbefore with reference to and as illustrated in the accompanying drawings.
GB0709595A 2007-05-18 2007-05-18 Managing nodes in a distributed system by registering and making available nodal information to nodes. Withdrawn GB2450471A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0709595A GB2450471A (en) 2007-05-18 2007-05-18 Managing nodes in a distributed system by registering and making available nodal information to nodes.
PCT/EP2008/056133 WO2008142056A1 (en) 2007-05-18 2008-05-19 System management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0709595A GB2450471A (en) 2007-05-18 2007-05-18 Managing nodes in a distributed system by registering and making available nodal information to nodes.

Publications (2)

Publication Number Publication Date
GB0709595D0 GB0709595D0 (en) 2007-06-27
GB2450471A true GB2450471A (en) 2008-12-31

Family

ID=38234705

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0709595A Withdrawn GB2450471A (en) 2007-05-18 2007-05-18 Managing nodes in a distributed system by registering and making available nodal information to nodes.

Country Status (2)

Country Link
GB (1) GB2450471A (en)
WO (1) WO2008142056A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045131B (en) * 2009-10-22 2015-06-10 中兴通讯股份有限公司 Service linkage control system and method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0599480A1 (en) * 1992-11-17 1994-06-01 International Business Machines Corporation Communication in a computer network
WO1998028879A1 (en) * 1996-12-20 1998-07-02 Ericsson Inc. Network manager providing advanced interconnection capability
US5954797A (en) * 1997-05-14 1999-09-21 Ncr Corporation System and method for maintaining compatibility among network nodes connected to a computer network
WO2003098873A1 (en) * 2002-05-17 2003-11-27 Legend (Beijing) Limited A method to realize dynamic networking and resource sharing among equipments
US20050232242A1 (en) * 2004-04-16 2005-10-20 Jeyhan Karaoguz Registering access device multimedia content via a broadband access gateway
US7110670B1 (en) * 2001-03-30 2006-09-19 Nortel Networks Limited Distributed photonic switch and optical UNI server
US20070104160A1 (en) * 2005-11-10 2007-05-10 The Boeing Company Interoperable mobile ad hoc network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7170857B2 (en) * 2001-08-10 2007-01-30 Strix Systems, Inc. Virtual linking using a wireless device
EP1473905B1 (en) * 2003-04-30 2006-09-13 Matsushita Electric Industrial Co., Ltd. Information management apparatus and method for facilitating the search of horizontal services
DE102005033231A1 (en) * 2005-07-15 2006-05-04 Siemens Ag Dynamic operating configuration method for technical system, e.g. in building control, involves determining compatibility of two services based on feasibility of direct interaction and assigning elements of functional specification language
FR2891972A1 (en) * 2005-10-11 2007-04-13 France Telecom METHOD FOR AUTOMATIC MANAGEMENT OF ASSOCIATIONS BETWEEN SERVICES IN A DISTRIBUTED ENVIRONMENT

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0599480A1 (en) * 1992-11-17 1994-06-01 International Business Machines Corporation Communication in a computer network
WO1998028879A1 (en) * 1996-12-20 1998-07-02 Ericsson Inc. Network manager providing advanced interconnection capability
US5954797A (en) * 1997-05-14 1999-09-21 Ncr Corporation System and method for maintaining compatibility among network nodes connected to a computer network
US7110670B1 (en) * 2001-03-30 2006-09-19 Nortel Networks Limited Distributed photonic switch and optical UNI server
WO2003098873A1 (en) * 2002-05-17 2003-11-27 Legend (Beijing) Limited A method to realize dynamic networking and resource sharing among equipments
US20050232242A1 (en) * 2004-04-16 2005-10-20 Jeyhan Karaoguz Registering access device multimedia content via a broadband access gateway
US20070104160A1 (en) * 2005-11-10 2007-05-10 The Boeing Company Interoperable mobile ad hoc network

Also Published As

Publication number Publication date
GB0709595D0 (en) 2007-06-27
WO2008142056A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
KR100322213B1 (en) Parallel distributed processing system and method of same
US7720800B2 (en) Method and approach to hosting versioned web services
CN102202078B (en) The method and system of a kind of multiple foreign peoples roles for configuration server field
JP5582344B2 (en) Connection management system and connection management server linkage method in thin client system
US20020082819A1 (en) Data model for automated server configuration
US7895310B2 (en) Network management system and method for supporting multiple protocols
CN111147308B (en) Network management method and system based on micro-service architecture
CN107172214B (en) Service node discovery method and device with load balancing function
Hasselmeyer Managing dynamic service dependencies
CN116708266A (en) Cloud service topological graph real-time updating method, device, equipment and medium
CN108737591A (en) A kind of method and device of service configuration
CN112637037B (en) Cross-region container communication system, method, storage medium and computer equipment
JP4265413B2 (en) Policy enforcement system and method for virtual private organization
US20090225654A1 (en) Methods and systems for capability-based system collaboration
GB2450471A (en) Managing nodes in a distributed system by registering and making available nodal information to nodes.
EP1895417A1 (en) Data storage system and method for testing new applications
EP2845374B1 (en) Address system
EP1950909B1 (en) Management system of a telecommunication network with a web-like graphic interface
CN114422469A (en) IPv4/IPv6 traffic intelligent scheduling method, device and scheduling system
JP2009163712A (en) Condition dependent data processing device
US20090132688A1 (en) Method For the Dynamic Service Configuration of a Technical System
CN100570553C (en) Be used to be provided at the terminal and the method for the dynamic interaction between the application programs
US11811639B2 (en) Cloud agnostic service discovery
KR101927813B1 (en) System and method for distributed simulation object interworking using service oriented architecture
Toyonaga et al. An Internet of Things Platform: Information Model Approach for Agile Service Development in a Multi-Vendor Environment

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)