WO2003027872A2 - Distributed system architecture - Google Patents

Distributed system architecture Download PDF

Info

Publication number
WO2003027872A2
WO2003027872A2 PCT/GB2002/004301 GB0204301W WO03027872A2 WO 2003027872 A2 WO2003027872 A2 WO 2003027872A2 GB 0204301 W GB0204301 W GB 0204301W WO 03027872 A2 WO03027872 A2 WO 03027872A2
Authority
WO
WIPO (PCT)
Prior art keywords
network
agent
components
interactions
messages
Prior art date
Application number
PCT/GB2002/004301
Other languages
French (fr)
Other versions
WO2003027872A3 (en
Inventor
Ian Wood
Original Assignee
Empower Interactive Group Limited
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
Priority claimed from GBGB0122943.4A external-priority patent/GB0122943D0/en
Priority claimed from GB0203796A external-priority patent/GB2378357B/en
Application filed by Empower Interactive Group Limited filed Critical Empower Interactive Group Limited
Priority to AU2002329408A priority Critical patent/AU2002329408A1/en
Publication of WO2003027872A2 publication Critical patent/WO2003027872A2/en
Publication of WO2003027872A3 publication Critical patent/WO2003027872A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/28Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP with meter at substation or with calculation of charges at terminal
    • H04M15/30Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP with meter at substation or with calculation of charges at terminal the meter or calculation of charges not being controlled from an exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/43Billing software details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/62Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on trigger specification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/765Linked or grouped accounts, e.g. of users or devices
    • H04M15/7655Linked or grouped accounts, e.g. of users or devices shared by technologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/77Administration or customization aspects; Counter-checking correct charges involving multiple accounts per user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/77Administration or customization aspects; Counter-checking correct charges involving multiple accounts per user
    • H04M15/772Administration or customization aspects; Counter-checking correct charges involving multiple accounts per user per service, e.g. prepay or post-pay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M17/00Prepayment of wireline communication systems, wireless communication systems or telephone systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M17/00Prepayment of wireline communication systems, wireless communication systems or telephone systems
    • H04M17/02Coin-freed or check-freed systems, e.g. mobile- or card-operated phones, public telephones or booths
    • H04M17/026Constructional features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0116Provision for limiting expenditure, e.g. limit on call expenses or account
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0152General billing plans, rate plans, e.g. charge rates, numbering plans, rate centers, customer accounts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0164Billing record, e.g. Call Data Record [CDR], Toll Ticket[TT], Automatic Message Accounting [AMA], Call Line Identifier [CLI], details, i.e. parameters, identifiers, structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/32Involving wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/72Account specifications
    • H04M2215/724Linked accounts
    • H04M2215/725Shared by technologies, e.g. one account for different access technologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/72Account specifications
    • H04M2215/724Linked accounts
    • H04M2215/7254Multiple accounts per user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/72Account specifications
    • H04M2215/724Linked accounts
    • H04M2215/7254Multiple accounts per user
    • H04M2215/7263Multiple accounts per user per service, e.g. prepay and post-pay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/92Autonomous calculations of charges in terminal, i.e. meter not controlled from exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/184Messaging devices, e.g. message centre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements

Definitions

  • the present invention relates to the field of system architecture design.
  • the invention relates particularly to the field of telecommunication systems and, in one embodiment, relates particularly to the field of Short Message Service (SMS) messaging systems in a mobile telecommunications network.
  • SMS Short Message Service
  • Loosely coupled distributed system architectures provide a more flexible solution for networks of components and have been implemented for both large-scale and small-scale computing systems, for example, for computers communicating over a local network.
  • a loosely coupled distributed architecture allows system processing and operation to take place across a plurality of components in the system and may allow transparent access to shared system resources.
  • Hardware and software components can be selected dynamically to perform a particular task and software upgrades can be performed for all components of the system simultaneously, by the addition of new processes or software components. Since any software component can run on any hardware in the network, hardware and software redundancies are both easily implemented without the need to purchase large amounts of extra equipment.
  • dynamically defining the hardware and software to be used for each task may cause unnecessary delay in performing that task. This may become a particular problem if the system is designed to perform a small number of tasks repeatedly.
  • dynamic distribution of tasks may also lead to instability in a large distributed network.
  • One embodiment of the present invention aims to provide a system architecture that is highly scalable and flexible, and that is also robust.
  • the system may have particular application to telecommunication systems and to SMS messaging systems.
  • the system could be implemented using a distributed software architecture.
  • Individual software elements, or agents, each performing a single simple task may be controlled by a management system, or wiring.
  • the wiring ensures that the correct agents are connected to allow the system to perform the tasks that comprise its functionality.
  • New agents can be introduced to the system by the wiring and agents that are not functioning can also be removed or replaced. This allows the system configuration to be upgraded in a live environment since any new agents that are introduced and that do not function appropriately cause the wiring to roll the system configuration back to the last known good configuration, minimising disruption.
  • This live configuration mechanism, and the software redundancy ensure that the system retains full functionality even if some of the agents fail.
  • a further advantage of this embodiment of the invention is that they can provide just-in-time scalability. As demand for the system grows, new hardware components can quickly be added to follow the growth in demand. This provides an advantage over conventional systems, which must add large hardware components and reconfigure software to incorporate the changes. This leads to periods of over-utilisation of the system, before the new hardware is added, followed by periods of under-utilisation when the new hardware has been added but demand has not yet grown to utilise the hardware to its full potential.
  • a system comprising at least one agent wherein the or each agent has a predefined function and wherein the or each agent may input and/or output at least one of a plurality of data types and a wiring layer which defines at least one interaction with an agent and which defines the or each data type exchanged in the or each interaction.
  • Using the wiring layer to define the data types used by the at least one agent may provide flexibility in the coding of the system. For example, the data type used by a particular group of agents may be changed more easily at the wiring layer than by re-coding each agent individually.
  • At least one memory space comprising at least one portion of memory space wherein the or each portion of memory space accepts at least one predefined data type.
  • the wiring layer comprises: means for predefining the at least one input and/or output data type for the or each agent; means for predefining the at least one data type accepted by the or each portion of memory space; means for predefining at least one interaction between agents and/or at least one interaction between at least one agent and at least one portion of memory space.
  • the operational system may be capable of processing messages more quickly than a standard distributed operating system, since it is not necessary, in this embodiment, to define, in real-time, the interactions required to process each message. This may be particularly advantageous in a system such as an SMS messaging system which may be required to operate continuously for long periods of time after the initialisation period.
  • a further preferable feature is that the at least one agent is able to perform at least one of a read, a write or a take function on the data stored in the at least one portion of memory space.
  • the wiring may define more than one destination to which an agent may output data.
  • the output destination may be selected according to at least one property of the data processed by the agent. This may allow different types of data to be processed in different ways by a particular agent.
  • the wiring layer defines, at a particular time, more than one set of interactions between agents, and/or between at least one agent and at least one portion of memory space, through which a given task may be performed. This may allbwTedundancy to be introduced into the system so that tasks may still be performed even if some of the agents or portions of memory space, or a particular predefined set of interactions, fail.
  • the wiring layer may switch between the sets of interactions without affecting the operation of the system. This may allow the wiring layer to perform load balancing between the sets of interactions or to select the set of interactions used to perform a particular task.
  • the wiring layer is arranged such that, if switching from using a first set of interactions to using a second set of interactions to perform a given task is unsuccessful, the wiring switches back to using the first set of interactions.
  • This may provide a failure recovery mechanism by which the system may return to full functionality if the second set of interactions fails.
  • the system is used to control an SMS messaging system within a mobile telecommunications network.
  • a second, apparatus, aspect comprises a network of interconnected components wherein communication between the components takes the form of messages sent between the interconnected components and characterised in that: each interconnected component broadcasts outgoing messages to a plurality of the other interconnected components and each interconnected component monitors the plurality of the messages broadcast onto the network and accepts any relevant messages.
  • the network of interconnected components comprises at least one of: means for storing location information for elements in a telecommunications network, switching means for transmitting messages between applications and the telecommunications network and means for providing an external control interface for the apparatus.
  • the interconnected components are connected across a network separate to the telecommunications network. This may reduce the load on the SS7 layer of the telecommunications network and facilitate fast and reliable communication between the interconnected components.
  • the outgoing messages are broadcast repeatedly until an acknowledgement message is received.
  • This feature may be used to ensure that each outgoing message is received by at least one component on the network.
  • each of the interconnected components monitors the status of the other components over the separate network. This may allow the components to ensure that they only send data over the network to components that are functioning, and may allow the function of any failed network component to be implemented efficiently by the remaining network components.
  • the relevance of messages broadcast to the network is determined by each interconnected component according to at least one predetermined condition.
  • the at least one predetermined condition includes the type of data contained within the message. This may allow, for example, location registers to identify and process only messages containing information regarding the location or availability of applications connected to the network.
  • the external control interface means obtains information regarding any new connection between an application and the interconnected components and further broadcasts this information to the network of interconnected components.
  • the external control interface may provide a mechanism by which the network, and its external connections, may be updated and modified.
  • Fig. 1 is a schematic overview of a prior art system with a loosely coupled distributed architecture.
  • Fig. 2 is a schematic overview of one implementation of the system architecture of the present invention.
  • Fig. 3 is a schematic overview of one embodiment of the present invention in which the loosely coupled architecture is applied to a system which controls an SMS messaging system.
  • independent processes 50, 52 perform specific tasks and share a common memory space 54, which may comprise queues 56 to which they may write and from which they may read or take data.
  • Processes 50, 52 (which may be simple functions or entire programs) may be called by users of the system, or a sequence of processes, which together perform a series of operations on a set of data, may be invoked by an external control program.
  • connections between processes, which allow the output of one process to form the input for a second process may be implemented dynamically by a higher level control flow system when the series of processes is invoked.
  • the loosely coupled distributed architecture of the system consists of three main components: agents, message stores (or memory spaces) and the wiring layer.
  • agents agents
  • message stores or memory spaces
  • wiring layer the three components and their operation will now be described with reference to Fig. 2.
  • the agents, 20, 22, 24, 26, and 28 are autonomous entities, each designed and programmed to perform a specific function.
  • the functions performed by the agents 20, 22, 24, 26, 28 may aid the processing of SMS messages in an SMS messaging system, for example, one agent 20 may parse a message for its destination address and send this information to another agent 22, 24, 26, 28 for further processing.
  • the function of the agent 20, 22, 24, 26, 28 may involve "taking” or “reading” input data from a queue of data, which may be within a memory space 30, 32, 34, processing the data in a predefined manner and outputting the processed data. "Reading" data from a queue is distinct from “taking” data from a queue since, in reading data, an agent 20, 22, 24, 26, 28 does not remove the data from the queue. A plurality of agents 20, 22, 24, 26, 28 may “read” the same data from a queue, but data that is "taken” from a queue is then not available for other agents to use. Agents 20, 22, 24, 26, 28 may output data to other agents 20, 22, 24, 26, 28, pr may "write” the data to a queue in the message stores, as defined by the wiring.
  • the output destination of an agent 20, 22, 24, 26, 28 may be strictly defined by the wiring 10, or it may be defined conditionally, for example, the destination may be dependent on the outcome of the processing performed by the agent, or on the data type produced or processed by the agent. This may allow data to be output by an agent to one of a plurality of destinations depending on, for example, the results of the processing performed by the agent on the data, or the data type contained within the message. This may be used, for example, to output different data to different queues according to a priority assigned to the data. -
  • the system may also include memory spaces, or message stores 30, 32, 34.
  • the message stores 30, 32, 34 receive and store only predetermined data types, which may be SMS messages. They may further allow stored data to be read or to be output from the store, particularly by the agents 20, 22, 24, 26, 28.
  • Message stores 30, 32, 34 may comprise queues, as described above, in which data may be stored for processing by the agents. The queues may operate on a first-in-first-out (FIFO) basis, or the data may be organised in another manner, for example, the data may be prioritised according to at least one predetermined condition.
  • FIFO first-in-first-out
  • the wiring layer 10 is the external control flow mechanism of the system. In this embodiment, it connects together the agents 20, 22, 24, 26, 28 and the memory spaces 30, 32, 34, statically and strictly defining the interactions between the components of the system. Interactions defined by the wiring layer 10 may allow the processing of messages within the system. The wiring may perform periodic checks for consistency within the system to ensure, for example, that agents or portions of memory are not sent the incorrect type of data.
  • the interactions between system components are statically predefined by the external control flow system and not dynamically compiled when a process is invoked.
  • the interactions may be defined during initialisation of the system. Redundancy may be introduced into the system by predefining a plurality of interactions, each of which performs the same function, so that a process may be carried out even if some of the interaction paths fail.
  • the processing throughput of the system may also be increased by allowing a plurality of sets of interactions to perform the same task on the incoming data.
  • the incoming data may be split evenly between the sets of interactions, or a particular set of interactions may be selected for a particular set of incoming data based on predetermined conditions, such as the availability and geographical proximity of the hardware upon which the agents are running, or the priority assigned to the incoming data.
  • this embodiment it is possible to modify the interactions between system components without affecting the operation of the system, hence allowing live configuration updates and the introduction of new processes or agents.
  • this is not a dynamic procedure. It may be achieved by simultaneously defining two sets of interactions between system components, each set being designed to perform the same function. A new agent, and so new functionality, may be introduced into the system by being incorporated into the new, second set of predefined interactions. The upgrade is performed when the control -flow system switches from using the first set of interactions to using the second set, which may contain a new agent. Continuity of service may be ensured by the fact that the control flow system can switch back to the first set of interactions if the second set of interactions fails to operate satisfactorily.
  • control flow system defines the input and output data types for the system components and the interactions between them.
  • the wiring also allocates portions of the memory spaces 30, 32, 34 for particular types of data.
  • the pre-prepared portions of memory are then ready for immediate use by the system when it starts to operate. Predefining the interactions and allocating memory blocks may necessitate a long system initialisation period, but the resulting system is both static and stable from the beginning of its operating period.
  • Platforms may provide an interface between the wiring 10 and the agents 20, 22, 24, 26, 28 and memory spaces 30, 32, 34.
  • the architecture is applied to components of an SMS messaging network, which are interconnected over a network separate to the mobile telecommunications SS7 network 72, for example over an IP network 70.
  • network components may include switching means 86, 88 for transferring messages between components, and files 82, 84 containing location information for mobile devices orfor applications connected to the mobile telecommunications network 72.
  • the individual components each monitor the status of the other components on the IP network 70, for example by using the "ping" command.
  • the network components may communicate by broadcasting messages to other components on the network 70.
  • messages may be broadcast simultaneously to all components on the network 70, rather than being sent to particular components in response to requests for information.
  • Each component may monitor the messages broadcast to the network and use or store any relevant information contained within them.
  • a location register file 82, 84 may broadcast a message to the IP network 70 when an application contained within its file listings becomes available to receive SMS messages.
  • the switching components of the network 86, 88 may store this information in order to determine later which location register file 82, 84 to consult for the location of that application.
  • the system further incorporates a service node 80, which may contain a database of system information, such as a list of applications connected to the system and a list of switching means available to deliver messages to the applications.
  • the service node 80 may allow external control of the system, for example to add new SMS messaging applications. Information added into the database may be broadcast to all components in the network, as described above, so that new applications may be incorporated into the location information files 82, 84.
  • the service node 80 may be used to modify and/or control the wiring 10, which was described above, and so the service node 80 may be used to control and modify the operation of the systems.
  • Agents 20, 22, 24, 26, 28 and memory spaces 30, 32, 34 may be distributed over the interconnected system components, which may allow a plurality of hardware components, which may be geographically distributed, to perform any particular task. This may provide load balancing capabilities, based on geographical and availability conditions of the system hardware or software.
  • Delivery of messages broadcast to the internal IP network 70 may be ensured by the further feature that components may be designed to send the information to the network repeatedly until an acknowledgement message is received from at least one of the network components.
  • components may be designed to send the information to the network repeatedly until an acknowledgement message is received from at least one of the network components.
  • this is not the same as the prior art system in which a message is sent to a particular network component at predetermined time intervals until an acknowledgement of receipt of that message is received from that network component.
  • the IP network 70 may allow location information to be exchanged between VMLR 82, 84 components so that more than one VMLR is able to deal with location queries for a particular application.
  • more than one VMRS 86, 88 may be able to transfer and route messages between the application and the SS7 mobile network 72.
  • the VMRS 86, 88 or VMLR 82, 84 that is used may be selected according to factors such as the geographical location of the component in relation to the mobile terminal and the load on each component at a particular time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A distributed system architecture comprising at least one agent wherein the or each agent has a predefined function and wherein the or each may input and/or output at least one of a plurality of data types and a wiring layer which defines at least one interaction with an agent and which defines the or each data type exchanged in the or each interaction. The system architecture may be implemented in a telecommunciations system.

Description

Distributed System Architecture
The present invention relates to the field of system architecture design. The invention relates particularly to the field of telecommunication systems and, in one embodiment, relates particularly to the field of Short Message Service (SMS) messaging systems in a mobile telecommunications network.
The architecture of prior art SMS messaging systems is designed around the large-scale hardware components that constitute the telecommunications network. Hardware or software failure at a particular point in the network reduces operational capacity and may result in loss or delay of messages. Upgrades of the system are performed by adding large hardware components to the system, which are often expensive, and loss of service may be experienced throughout the upgrade period. In addition, inefficiencies result from the need to introduce large and expensive items of equipment to upgrade the system, since periods of under-capacity in the system before the upgrade are often followed by periods of over-capacity when the new hardware is added. Software upgrades may also lead to loss of service as the software of each component on the network must be upgraded individually. To avoid loss of service in the network due to component failure, some prior art systems incorporate hardware and software redundancy. However, this gives only limited protection against component failure and requires expensive equipment to provide hardware redundancy and to back up network data.
Loosely coupled distributed system architectures provide a more flexible solution for networks of components and have been implemented for both large-scale and small-scale computing systems, for example, for computers communicating over a local network. A loosely coupled distributed architecture allows system processing and operation to take place across a plurality of components in the system and may allow transparent access to shared system resources. Hardware and software components can be selected dynamically to perform a particular task and software upgrades can be performed for all components of the system simultaneously, by the addition of new processes or software components. Since any software component can run on any hardware in the network, hardware and software redundancies are both easily implemented without the need to purchase large amounts of extra equipment. However, dynamically defining the hardware and software to be used for each task may cause unnecessary delay in performing that task. This may become a particular problem if the system is designed to perform a small number of tasks repeatedly. In addition, although it adds flexibility to the system, dynamic distribution of tasks may also lead to instability in a large distributed network.
One embodiment of the present invention aims to provide a system architecture that is highly scalable and flexible, and that is also robust. The system may have particular application to telecommunication systems and to SMS messaging systems.
According to one embodiment, the system could be implemented using a distributed software architecture. Individual software elements, or agents, each performing a single simple task, may be controlled by a management system, or wiring. The wiring ensures that the correct agents are connected to allow the system to perform the tasks that comprise its functionality. New agents can be introduced to the system by the wiring and agents that are not functioning can also be removed or replaced. This allows the system configuration to be upgraded in a live environment since any new agents that are introduced and that do not function appropriately cause the wiring to roll the system configuration back to the last known good configuration, minimising disruption. This live configuration mechanism, and the software redundancy, ensure that the system retains full functionality even if some of the agents fail.
A further advantage of this embodiment of the invention, using distributed software and hardware technologies, is that they can provide just-in-time scalability. As demand for the system grows, new hardware components can quickly be added to follow the growth in demand. This provides an advantage over conventional systems, which must add large hardware components and reconfigure software to incorporate the changes. This leads to periods of over-utilisation of the system, before the new hardware is added, followed by periods of under-utilisation when the new hardware has been added but demand has not yet grown to utilise the hardware to its full potential.
According to a first aspect, there is provided a system comprising at least one agent wherein the or each agent has a predefined function and wherein the or each agent may input and/or output at least one of a plurality of data types and a wiring layer which defines at least one interaction with an agent and which defines the or each data type exchanged in the or each interaction.
Using the wiring layer to define the data types used by the at least one agent may provide flexibility in the coding of the system. For example, the data type used by a particular group of agents may be changed more easily at the wiring layer than by re-coding each agent individually.
Preferably, there is also provided at least one memory space comprising at least one portion of memory space wherein the or each portion of memory space accepts at least one predefined data type.
Preferably, the wiring layer comprises: means for predefining the at least one input and/or output data type for the or each agent; means for predefining the at least one data type accepted by the or each portion of memory space; means for predefining at least one interaction between agents and/or at least one interaction between at least one agent and at least one portion of memory space.
Predefining, during initialisation of the system, some or all of the interactions necessary for the system to operate may provide a more reliable, stable and more efficient system than those disclosed in the prior art. The long system initialisation period which may be necessary to set up the predefined interactions may be justified by the increased stability and efficiency of the operational system. Once the interactions within the system are defined, the operational system may be capable of processing messages more quickly than a standard distributed operating system, since it is not necessary, in this embodiment, to define, in real-time, the interactions required to process each message. This may be particularly advantageous in a system such as an SMS messaging system which may be required to operate continuously for long periods of time after the initialisation period.
A further preferable feature is that the at least one agent is able to perform at least one of a read, a write or a take function on the data stored in the at least one portion of memory space.
The wiring may define more than one destination to which an agent may output data. The output destination may be selected according to at least one property of the data processed by the agent. This may allow different types of data to be processed in different ways by a particular agent.
Preferably, the wiring layer defines, at a particular time, more than one set of interactions between agents, and/or between at least one agent and at least one portion of memory space, through which a given task may be performed. This may allbwTedundancy to be introduced into the system so that tasks may still be performed even if some of the agents or portions of memory space, or a particular predefined set of interactions, fail.
More preferably, only one predefined set of interactions is used to perform a given task at any one time, but the wiring layer may switch between the sets of interactions without affecting the operation of the system. This may allow the wiring layer to perform load balancing between the sets of interactions or to select the set of interactions used to perform a particular task.
According to a further preferable feature, the wiring layer is arranged such that, if switching from using a first set of interactions to using a second set of interactions to perform a given task is unsuccessful, the wiring switches back to using the first set of interactions. This may provide a failure recovery mechanism by which the system may return to full functionality if the second set of interactions fails. Preferably, the system is used to control an SMS messaging system within a mobile telecommunications network.
A second, apparatus, aspect comprises a network of interconnected components wherein communication between the components takes the form of messages sent between the interconnected components and characterised in that: each interconnected component broadcasts outgoing messages to a plurality of the other interconnected components and each interconnected component monitors the plurality of the messages broadcast onto the network and accepts any relevant messages. The processing of only relevant messages by system components may increase the efficiency of the system by reducing the number of messages processed by each network component. Broadcasting outgoing messages to a plurality, optionally all, of the interconnected components of the system may allow any component, or a plurality of components, in the distributed network to intercept and process the information contained within the message. It may also simplify the message-sending process, since messages may be broadcast to the network in general rather than to individual components.
Preferably, the network of interconnected components comprises at least one of: means for storing location information for elements in a telecommunications network, switching means for transmitting messages between applications and the telecommunications network and means for providing an external control interface for the apparatus.
Preferably, the interconnected components are connected across a network separate to the telecommunications network. This may reduce the load on the SS7 layer of the telecommunications network and facilitate fast and reliable communication between the interconnected components.
Preferably, the outgoing messages are broadcast repeatedly until an acknowledgement message is received. This feature may be used to ensure that each outgoing message is received by at least one component on the network. According to a further preferable feature, each of the interconnected components monitors the status of the other components over the separate network. This may allow the components to ensure that they only send data over the network to components that are functioning, and may allow the function of any failed network component to be implemented efficiently by the remaining network components.
Preferably, the relevance of messages broadcast to the network is determined by each interconnected component according to at least one predetermined condition.
More preferably, the at least one predetermined condition includes the type of data contained within the message. This may allow, for example, location registers to identify and process only messages containing information regarding the location or availability of applications connected to the network.
Preferably, the external control interface means obtains information regarding any new connection between an application and the interconnected components and further broadcasts this information to the network of interconnected components. Hence the external control interface may provide a mechanism by which the network, and its external connections, may be updated and modified.
One embodiment of the present invention will now be described with reference to the Figures in which:
Fig. 1 is a schematic overview of a prior art system with a loosely coupled distributed architecture.
Fig. 2 is a schematic overview of one implementation of the system architecture of the present invention.
Fig. 3 is a schematic overview of one embodiment of the present invention in which the loosely coupled architecture is applied to a system which controls an SMS messaging system.
In prior art loosely coupled distributed architecture models, independent processes 50, 52 perform specific tasks and share a common memory space 54, which may comprise queues 56 to which they may write and from which they may read or take data. Processes 50, 52 (which may be simple functions or entire programs) may be called by users of the system, or a sequence of processes, which together perform a series of operations on a set of data, may be invoked by an external control program. In this prior art system, connections between processes, which allow the output of one process to form the input for a second process, may be implemented dynamically by a higher level control flow system when the series of processes is invoked.
In one embodiment of the present invention, the loosely coupled distributed architecture of the system consists of three main components: agents, message stores (or memory spaces) and the wiring layer. The three components and their operation will now be described with reference to Fig. 2.
In this embodiment, the agents, 20, 22, 24, 26, and 28, are autonomous entities, each designed and programmed to perform a specific function. The functions performed by the agents 20, 22, 24, 26, 28 may aid the processing of SMS messages in an SMS messaging system, for example, one agent 20 may parse a message for its destination address and send this information to another agent 22, 24, 26, 28 for further processing.
The function of the agent 20, 22, 24, 26, 28 may involve "taking" or "reading" input data from a queue of data, which may be within a memory space 30, 32, 34, processing the data in a predefined manner and outputting the processed data. "Reading" data from a queue is distinct from "taking" data from a queue since, in reading data, an agent 20, 22, 24, 26, 28 does not remove the data from the queue. A plurality of agents 20, 22, 24, 26, 28 may "read" the same data from a queue, but data that is "taken" from a queue is then not available for other agents to use. Agents 20, 22, 24, 26, 28 may output data to other agents 20, 22, 24, 26, 28, pr may "write" the data to a queue in the message stores, as defined by the wiring. The output destination of an agent 20, 22, 24, 26, 28 may be strictly defined by the wiring 10, or it may be defined conditionally, for example, the destination may be dependent on the outcome of the processing performed by the agent, or on the data type produced or processed by the agent. This may allow data to be output by an agent to one of a plurality of destinations depending on, for example, the results of the processing performed by the agent on the data, or the data type contained within the message. This may be used, for example, to output different data to different queues according to a priority assigned to the data. -
The system may also include memory spaces, or message stores 30, 32, 34. In this embodiment, the message stores 30, 32, 34 receive and store only predetermined data types, which may be SMS messages. They may further allow stored data to be read or to be output from the store, particularly by the agents 20, 22, 24, 26, 28. Message stores 30, 32, 34 may comprise queues, as described above, in which data may be stored for processing by the agents. The queues may operate on a first-in-first-out (FIFO) basis, or the data may be organised in another manner, for example, the data may be prioritised according to at least one predetermined condition.
The wiring layer 10 is the external control flow mechanism of the system. In this embodiment, it connects together the agents 20, 22, 24, 26, 28 and the memory spaces 30, 32, 34, statically and strictly defining the interactions between the components of the system. Interactions defined by the wiring layer 10 may allow the processing of messages within the system. The wiring may perform periodic checks for consistency within the system to ensure, for example, that agents or portions of memory are not sent the incorrect type of data.
Unlike prior art distributed system implementations, the interactions between system components, in this embodiment, are statically predefined by the external control flow system and not dynamically compiled when a process is invoked. The interactions may be defined during initialisation of the system. Redundancy may be introduced into the system by predefining a plurality of interactions, each of which performs the same function, so that a process may be carried out even if some of the interaction paths fail. The processing throughput of the system may also be increased by allowing a plurality of sets of interactions to perform the same task on the incoming data. The incoming data may be split evenly between the sets of interactions, or a particular set of interactions may be selected for a particular set of incoming data based on predetermined conditions, such as the availability and geographical proximity of the hardware upon which the agents are running, or the priority assigned to the incoming data.
In this embodiment, it is possible to modify the interactions between system components without affecting the operation of the system, hence allowing live configuration updates and the introduction of new processes or agents. However, in this embodiment, this is not a dynamic procedure. It may be achieved by simultaneously defining two sets of interactions between system components, each set being designed to perform the same function. A new agent, and so new functionality, may be introduced into the system by being incorporated into the new, second set of predefined interactions. The upgrade is performed when the control -flow system switches from using the first set of interactions to using the second set, which may contain a new agent. Continuity of service may be ensured by the fact that the control flow system can switch back to the first set of interactions if the second set of interactions fails to operate satisfactorily.
During the system initialisation process, the control flow system, or wiring layer 10, defines the input and output data types for the system components and the interactions between them. The wiring also allocates portions of the memory spaces 30, 32, 34 for particular types of data. The pre-prepared portions of memory are then ready for immediate use by the system when it starts to operate. Predefining the interactions and allocating memory blocks may necessitate a long system initialisation period, but the resulting system is both static and stable from the beginning of its operating period.
One embodiment of the system may provide the further feature of platforms 40, 42. Platforms may provide an interface between the wiring 10 and the agents 20, 22, 24, 26, 28 and memory spaces 30, 32, 34.
The application of the loosely coupled distributed architecture to a particular system will now be described with reference to Fig. 3. In this embodiment, the architecture is applied to components of an SMS messaging network, which are interconnected over a network separate to the mobile telecommunications SS7 network 72, for example over an IP network 70. In an SMS messaging system, such network components may include switching means 86, 88 for transferring messages between components, and files 82, 84 containing location information for mobile devices orfor applications connected to the mobile telecommunications network 72. In this embodiment, the individual components each monitor the status of the other components on the IP network 70, for example by using the "ping" command. The network components may communicate by broadcasting messages to other components on the network 70. In this embodiment, messages may be broadcast simultaneously to all components on the network 70, rather than being sent to particular components in response to requests for information. Each component may monitor the messages broadcast to the network and use or store any relevant information contained within them. For example, a location register file 82, 84 may broadcast a message to the IP network 70 when an application contained within its file listings becomes available to receive SMS messages. The switching components of the network 86, 88 may store this information in order to determine later which location register file 82, 84 to consult for the location of that application.
In this embodiment, the system further incorporates a service node 80, which may contain a database of system information, such as a list of applications connected to the system and a list of switching means available to deliver messages to the applications. The service node 80 may allow external control of the system, for example to add new SMS messaging applications. Information added into the database may be broadcast to all components in the network, as described above, so that new applications may be incorporated into the location information files 82, 84. In one embodiment, the service node 80 may be used to modify and/or control the wiring 10, which was described above, and so the service node 80 may be used to control and modify the operation of the systems. Agents 20, 22, 24, 26, 28 and memory spaces 30, 32, 34 may be distributed over the interconnected system components, which may allow a plurality of hardware components, which may be geographically distributed, to perform any particular task. This may provide load balancing capabilities, based on geographical and availability conditions of the system hardware or software.
Delivery of messages broadcast to the internal IP network 70 may be ensured by the further feature that components may be designed to send the information to the network repeatedly until an acknowledgement message is received from at least one of the network components. However, this is not the same as the prior art system in which a message is sent to a particular network component at predetermined time intervals until an acknowledgement of receipt of that message is received from that network component.
Since, in-this-βmbodiment, the. S.MS messaging network is a distributed network, load balancing may be performed between network components with the same functionality. The IP network 70 may allow location information to be exchanged between VMLR 82, 84 components so that more than one VMLR is able to deal with location queries for a particular application. Similarly, more than one VMRS 86, 88 may be able to transfer and route messages between the application and the SS7 mobile network 72. The VMRS 86, 88 or VMLR 82, 84 that is used may be selected according to factors such as the geographical location of the component in relation to the mobile terminal and the load on each component at a particular time.
Modifications of detail may be made to the embodiments described above and features may be provided independently of other features or in other combinations unless otherwise stated.

Claims

Claims:.
1. A system comprising: at least one agent wherein the or each agent has a predefined function and wherein the or each agent may input and/or output at least one of a plurality of data types; a wiring layer which defines at least one interaction with an agent and which defines the or each data type exchanged in the or each interaction.
2. A system according to Claim 1 further comprising at least one memory space comprising at least one portion of memory space, wherein the or each portion of memory space accepts at least one predefined data type.
3. A system according to any preceding claim wherein the wiring layer comprises: means for predefining the at least one input and/or output data type for the or each agent; means for predefining the at least-one^data type accepted by the or each portion of memory space; means for predefining at least one interaction between agents and/or at least one interaction between at least one agent and at least one portion of. memory space.
4. A system according to any preceding claim wherein the at least one agent is able to perform at least one of a read, a write or a take function on the data stored in the at least one portion of memory space.
5. A system according to any preceding claim wherein the wiring may define more than one destination to which an agent may output data.
6. A system according to Claim 5 wherein the destination to which the agent outputs the data is selected according to at least one property of the data processed by the agent.
7. A system according to any preceding claim wherein the wiring layer defines, at a particular time, more than one set of interactions between agents, and/or between at least one agent and at least one portion of memory space, through which a given task may be performed.
8. A system according to Claim 7 wherein only one predefined set of interactions between components is used to perform a given task at any one time, but wherein the wiring layer may switch between the sets of interactions without affecting the operation of the system.
9. A system according to Claim 8 wherein the wiring layer, having switched from using a first set of interactions to using a second set of interactions to perform a given task, switches back to using the first set of interactions if the second set-of interactions fails.
10. A system according to any preceding claim wherein the system is used to control an SMS messaging system within a mobile telecommunications network.
11. Apparatus comprising a network of interconnected components wherein communication between the components takes the form of messages sent between the interconnected components and characterised in that: each interconnected component broadcasts outgoing messages to a plurality of the other interconnected components; each interconnected component monitors a plurality of the messages broadcast onto the network and accepts any relevant messages.
12. Apparatus according to Claim 11 wherein outgoing 'messages are broadcast from each interconnected component to all of the other interconnected components.
13. Apparatus according to Claim 11 or Claim 12 wherein each interconnected component monitors all of the messages broadcast onto the network.
14. Apparatus according to any of Claims 11 to 13 wherein the network of interconnected components comprises at least one of: means for storing location information for elements in a telecommunications network; switching means for transmitting messages between applications and the telecommunications network; means for providing an external control interface for the apparatus.
15. Apparatus according to any of Claims 11 to 14 wherein the interconnected components are connected across a network separate to the telecommunications network
16. Apparatus according to any of Claims 11 to 15 wherein the outgoing messages are broadcast repeatedly until an acknowledgement message is received.
17. Apparatus according to any of Claims 11 to 16 wherein each of the interconnected components monitors the status of the other components over the separate network.
18. Apparatus according to any of Claims 11 to 17 wherein the relevance of messages broadcast to the network is determined by each interconnected component according to at least one predetermined condition.
19. Apparatus according to Claim 18 wherein the at least one predetermined condition includes the type of data contained within the message.
20. Apparatus according to any of Claims 14 to 19 wherein the external control interface obtains information regarding a new connection between an application and the interconnected components and further broadcasts this information to the network of interconnected components.
PCT/GB2002/004301 2001-09-24 2002-09-23 Distributed system architecture WO2003027872A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002329408A AU2002329408A1 (en) 2001-09-24 2002-09-23 Distributed system architecture

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GBGB0122943.4A GB0122943D0 (en) 2001-06-25 2001-09-24 Message transmission system and method
GB0122943.4 2001-09-24
GB0203796A GB2378357B (en) 2001-06-25 2002-02-18 Message transmission system and method
GB0203796.8 2002-02-18
GB0203795A GB2379137B (en) 2001-06-25 2002-02-18 Distributed system architecture
GB0203795.0 2002-02-18

Publications (2)

Publication Number Publication Date
WO2003027872A2 true WO2003027872A2 (en) 2003-04-03
WO2003027872A3 WO2003027872A3 (en) 2003-07-03

Family

ID=27256288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2002/004301 WO2003027872A2 (en) 2001-09-24 2002-09-23 Distributed system architecture

Country Status (3)

Country Link
AU (1) AU2002329408A1 (en)
TW (1) TW582178B (en)
WO (1) WO2003027872A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382610C (en) * 2004-10-10 2008-04-16 华为技术有限公司 Method for selecting short message routing at multiple path

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723236A2 (en) * 1995-01-23 1996-07-24 International Business Machines Corporation System for communicating messages among agent processes
WO1997036434A1 (en) * 1996-03-28 1997-10-02 Markport Limited Routing of short messages for telecommunications networks
EP1016989A2 (en) * 1998-11-18 2000-07-05 Saga Software Inc. Extensible distributed enterprise application integration system and methods of operating same
WO2001058186A1 (en) * 2000-02-01 2001-08-09 Markport Limited A messaging applications router
US6282579B1 (en) * 1996-08-20 2001-08-28 Alcatel Method for supporting address interaction between a first entity and a second entity, converter for address interaction, and computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723236A2 (en) * 1995-01-23 1996-07-24 International Business Machines Corporation System for communicating messages among agent processes
WO1997036434A1 (en) * 1996-03-28 1997-10-02 Markport Limited Routing of short messages for telecommunications networks
US6282579B1 (en) * 1996-08-20 2001-08-28 Alcatel Method for supporting address interaction between a first entity and a second entity, converter for address interaction, and computer system
EP1016989A2 (en) * 1998-11-18 2000-07-05 Saga Software Inc. Extensible distributed enterprise application integration system and methods of operating same
WO2001058186A1 (en) * 2000-02-01 2001-08-09 Markport Limited A messaging applications router

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARTINI G ET AL: "Distributed architecture for applications based on the GSM short message service" SERVICES IN DISTRIBUTED AND NETWORKED ENVIRONMENTS, 1995., SECOND INTERNATIONAL WORKSHOP ON WHISTLER, BC, CANADA 5-6 JUNE 1995, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC,5 June 1995 (1995-06-05), pages 140-145, XP010148054 ISBN: 0-8186-7092-4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382610C (en) * 2004-10-10 2008-04-16 华为技术有限公司 Method for selecting short message routing at multiple path

Also Published As

Publication number Publication date
AU2002329408A1 (en) 2003-04-07
TW582178B (en) 2004-04-01
WO2003027872A3 (en) 2003-07-03

Similar Documents

Publication Publication Date Title
US6438748B1 (en) Apparatus and method for conversion of messages
RU2507703C2 (en) Resource pooling in electronic board cluster switching centre server
US4993017A (en) Modularly structured ISDN communication system
US5883939A (en) Distributed architecture for an intelligent networking coprocessor
US20050036443A1 (en) Apparatus and method for performing an online software upgrade of resource servers
CN105338086A (en) Distributed message forwarding method
US5432931A (en) Digital telecommunication system with multiple databases having assured data consistency
KR19980070065A (en) System and method for managing the processing of relatively large data objects in a communication stack
US5960178A (en) Queue system and method for point-to-point message passing having a separate table for storing message state and identifier of processor assigned to process the message
BG100473A (en) Telecommunication switchgear with programmable mains protocols and communication services
KR20000004988A (en) Method and apparatus for client managed flow control on a limited memorycomputer system
US5513355A (en) Control system of a switching system
EP0954918B1 (en) System and method for communications and process management in a distributed telecommunications switch
JP2740105B2 (en) Distributed database control method
EP0383931A1 (en) Method of automatically editing data for controlling a processor that carries out distributed control and a system using the same
GB2379137A (en) Distributed system architecture
FI107842B (en) Adaptive processor system
WO2003027872A2 (en) Distributed system architecture
US6363472B1 (en) Method and system for minimizing effect of replacing programming languages in telephony systems
CN114598662A (en) Message queue cluster federal management system and method
US6865180B1 (en) Method for bundling connections
CN112616143A (en) Method and device for distributing communication number, electronic equipment and storage medium
US6889377B1 (en) System and method for uniformly administering parameters for a load distribution and load control of a computer platform
US7266129B1 (en) Communication line control system
CN114500279B (en) Plug-in configuration method and device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG US UZ VC VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI 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
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP