[go: up one dir, main page]

WO2001093019A2 - Gestion de compatibilite de logiciels dans des systemes repartis - Google Patents

Gestion de compatibilite de logiciels dans des systemes repartis Download PDF

Info

Publication number
WO2001093019A2
WO2001093019A2 PCT/IB2001/000947 IB0100947W WO0193019A2 WO 2001093019 A2 WO2001093019 A2 WO 2001093019A2 IB 0100947 W IB0100947 W IB 0100947W WO 0193019 A2 WO0193019 A2 WO 0193019A2
Authority
WO
WIPO (PCT)
Prior art keywords
application
component
version
bank
resident
Prior art date
Application number
PCT/IB2001/000947
Other languages
English (en)
Inventor
Shlomo Rabinovitch
Original Assignee
Adc Telecommunications Israel Ltd.
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 Adc Telecommunications Israel Ltd. filed Critical Adc Telecommunications Israel Ltd.
Priority to AU2001266245A priority Critical patent/AU2001266245A1/en
Priority to CA002410423A priority patent/CA2410423A1/fr
Publication of WO2001093019A2 publication Critical patent/WO2001093019A2/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Definitions

  • the present invention relates generally to computer software systems, and more 5 particularly to maintaining compatibility between differing versions of components of a multi-component system such as a distributed system.
  • a distributed system is one in which the system functionality is distributed across several components. In this case, the various components must communicate with one another.
  • a software application that communicates with another application is designed to communicate with a particular version of the application and perhaps older versions (e.g. if the applications are intended to be backward compatible). However, if newer applications are released, older applications may not be able to communicate with the newer applications.
  • the set of features available in each version can change. Consider the case where a new version is released every six months. Further assume that each release puts approximately 100 systems into the field. In this case after three releases there are over 300 systems in the field, with each 100 systems comprising a different version. Thus, if one application needs to be able to communicate with all of the other released versions of the applications, the potential exists that it must support three different communications mechanisms. Moreover, the application will have to keep track of what features are available in the particular versions of the component software.
  • EMS Element Management Systems
  • Nes network elements
  • EMS Element Management Systems
  • Each network element is typically running a software application at a particular version level, and the management software is also at a particular version.
  • EMS Element Management Systems
  • a management application must communicate with all of the network elements, it must deal with every possible combination of network element software versions that it encounters.
  • a further complication occurs when the software must be tested.
  • the application must typically be tested with all known versions of other components of the distributed system.
  • a software component of a network element has evolved over time into several versions 1, 2, 3, 4, and 5.
  • an application such as a management application that communicates with the component applications, has evolved over time into versions A, B, C, D, and E. accordingly.
  • Table 1 represents a compatibility-testing map.
  • the first is to design a protocol with a "wide" aspect.
  • the protocol is initially designed with spare fields, and spare message areas to allow room to add new fields and messages to the protocol.
  • the protocol may be divided into several functional areas, with spare fields and messages allocated for each functional area. This approach attempts to predict where future development may take the protocol, and reserve room in the protocol to accommodate the evolution.
  • a second approach is to design a communications protocol with a message set that meets the system's current needs, with some prediction as to future needs. Later, as the system evolves, new message sets are added that implement new features and functionality. Compatibility with old message sets is maintained as long as deemed necessary, and when such compatibility is no longer required, the old message set is dropped.
  • a further method used to address the compatibility issue is to require that all components of a distributed or multi-component system be upgraded to the latest version any time any component is upgraded to a new version. This method may be practical for relatively small systems, however it becomes unrealistic as the number of systems and components grows.
  • an application bank stores various versions of applications that are designed to communicate with corresponding versions of software running on a component element.
  • Remote clients desiring to communicate with the component element determine the version of the application that corresponds to the version running on the component element. The remote client then downloads the appropriate version of the application if it does not currently exist on remote client machine.
  • the component element is a network element in a telecommunications system and the application is an element management application.
  • the element management application comprises a user interface component, an application component, and a communication component, all of which are separately versioned.
  • a client desiring to execute the element management application downloads the appropriate version of each individual component if required.
  • the present invention describes systems, clients, servers, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
  • FIG. 1 is a block diagram of the hardware and operating environment in which different embodiments of the invention can be practiced;
  • FIG. 2 is a diagram providing further details on a computer system according to an embodiment of the invention;
  • FIG. 3 is a diagram illustrating providing an overview of software components according to an exemplary embodiment of the invention;
  • FIG. 4 is a flow diagram illustrating a method of an exemplary " embodiment of the invention.
  • FIG. 1 provides a general description of an operating environment 100 in which embodiments of the invention may be practiced.
  • Environment 100 includes remote workstations 102, and remote management server 130, all communicably coupled via network 110.
  • network 110 is includes one or more domain networks 112.
  • Network elements 120 are communicable coupled to the one or more domain networks 112.
  • the remote workstations 102, the remote management server 130 and the various network elements 120 can all communicate and transfer data between one another.
  • Remote workstations 102 comprise computer systems running applications that desire to communicate with software running on network elements 120.
  • remote workstations 102 are computer systems that run versions of the Microsoft Windows operating system, such as Windows 95, Windows 98, Windows NT or Windows 2000.
  • remote workstations 102 run a variant of the UNIX operating system, such as Linux, HP-UX from Hewlett Packard Corp., or Solaris from Sun Microsystems, Inc.
  • Embodiments of the invention are not limited to any particular operating system.
  • Network Elements 120 comprise computer systems that provide functions in a distributed computer system.
  • network elements 120 comprise components of a telecommunications network. In this embodiment, the components provide specialized functionality for the distributed system.
  • the network element 120.1 can provide POTS (Plain Old Telephone Service) . functionality, 120.2 can provide ISDN (Integrated Services Digital Network) functionality element, and 120.3 can provide TI functionality. Other network elements can provide SDH (Synchronous Digital Hierarchy), ATM (Asynchronous Transfer Mode), ADSL (Asymmetric Digital Subscriber Line), TR-303/TR-08 and Leased Line functions.
  • POTS Packet Old Telephone Service
  • ISDN Integrated Services Digital Network
  • TI Integrated Services Digital Network
  • Other network elements can provide SDH (Synchronous Digital Hierarchy), ATM (Asynchronous Transfer Mode), ADSL (Asymmetric Digital Subscriber Line), TR-303/TR-08 and Leased Line functions.
  • SDH Serial Digital Hierarchy
  • ATM Asynchronous Transfer Mode
  • ADSL Asymmetric Digital Subscriber Line
  • TR-303/TR-08 Asymmetric Digital Subscriber Line
  • Leased Line functions The invention is not limited to any particular network element function or combination of network element functions.
  • Remote server 130 is a conventional server system, as is known in the art.
  • Remote server 130 comprises a computer system suitably configured to provide client systems access to resources resident on remote server 130, such as database 132, printer and file resources.
  • remote server 130 runs one of the variations of the Microsoft Windows operating systems described above.
  • remote server 130 runs a variant of the UNIX operating system, such as Linux, Solaris, or HP-UX. The embodiments of the invention is not limited to any particular operating system.
  • FIG. 2 is a diagram of the hardware and operating environment in conjunction with which embodiments of the invention may be practiced.
  • the description of HG. 2 is intended to provide a brief, general description of suitable computer hardware and a suitable computing environment in conjunction with which the embodiments of the invention may be implemented.
  • the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a personal computer or a server computer.
  • program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • embodiments of the invention may be practiced with other computer system configurations, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • the computing system 200 includes a processor.
  • Embodiments of the invention can be implemented on computers based upon microprocessors such as the PENTIUM ® family of microprocessors manufactured by the Intel Corporation, the MIPS ® family of microprocessors from the Silicon Graphics Corporation, the POWERPC ® family of microprocessors from both the Motorola Corporation and the IBM Corporation, the PRECISION ARCHITECTURE ® family of microprocessors from the Hewlett-Packard Company, the SPARC ® family of microprocessors from the Sun Microsystems Corporation, or the ALPHA ® family of microprocessors from the Compaq Computer Corporation.
  • Computing system 200 represents any personal computer, laptop, server, or even a battery-powered, pocket- sized, mobile computer known as a hand-held PC.
  • the computing system 200 includes system memory 213 (including read-only memory (ROM) 214 and random access memory (RAM) 215), which is connected to the processor 212 by a system data/address bus 216.
  • ROM 214 represents any device that is primarily read-only including electrically erasable programmable read-only memory (EEPROM), flash memory, etc.
  • RAM 215 represents any random access memory such as Synchronous Dynamic Random Access Memory.
  • input/output bus 218 is connected to the data/address bus 216 via bus controller 219.
  • input/output bus 218 is implemented as a standard Peripheral Component Interconnect (PCI) bus.
  • PCI Peripheral Component Interconnect
  • the bus controller 219 examines all signals from the processor 212 to route the signals to the appropriate bus. Signals between the processor 212 and the system memory 213 are merely passed through the bus controller 219. However, signals from the processor 212 intended for devices other than system memory 213 are routed onto the input/output bus 2
  • Various devices are connected to the input/output bus 218 including hard disk drive 220, floppy drive 221 that is used to read floppy disk 251, and optical drive 222, such as a CD-ROM drive that is used to read an optical disk 252.
  • the video display 224 or other kind of display device is connected to the input/output bus 218 via a video adapter 225.
  • a user enters commands and information into the computing system 200 by using a keyboard 40 and/or pointing device, such as a mouse 42, which are connected to bus 218 via input/output ports 228.
  • a keyboard 40 and/or pointing device such as a mouse 42
  • Other types of pointing devices include track pads, track balls, joy sticks, data gloves, head trackers, and other devices suitable for positioning a cursor on the video display 224.
  • the computing system 200 also includes a modem 229. Although illustrated in FIG. 2 as external to the computing system 200, those of ordinary skill in the art will quickly recognize that the modem 229 may also be internal to the computing system 200.
  • the modem 229 is typically used to communicate over wide area networks (not shown), such as the global Internet.
  • the computing system may also contain a network interface card 53, as is known in the art, for communication over a network.
  • Software applications 236 and data are typically stored via one of the memory storage devices, which may include the hard disk 220, floppy disk 251, CD-ROM 252 and are copied to RAM 215 for execution. In one embodiment, however, software applications 236 are stored in ROM 214 and are copied to RAM 215 for execution or are executed directly from ROM 214.
  • the operating system 235 executes software applications 236 and carries out instructions issued by the user. For example, when the user wants to load a software application 236, the operating system 235 interprets the instruction and causes the processor 212 to load software application 236 into RAM 215 from either the hard disk 220 or the optical disk 252. Once software application 236 is loaded into the RAM 215, it can be used by the processor 212. In case of large software applications 236, processor 212 loads various portions of program modules into RAM 215 as needed.
  • the Basic Input/Output System (BIOS) 217 for the computing system 200 is stored in ROM 214 and is loaded into RAM 215 upon booting.
  • BIOS Basic Input/Output System
  • BIOS 217 is a set of basic executable routines that have conventionally helped to transfer information between the computing resources within the computing system 200. These low-level service routines are used by operating system 235 or other software applications 236.
  • computing system 200 includes a registry (not shown) which is a system database that holds configuration information for computing system 200.
  • a registry is a system database that holds configuration information for computing system 200.
  • Windows ® 95, Windows 98 ® , Windows ® NT, and Windows 2000 ® by Microsoft maintain the registry in two hidden files, called USER.DAT and SYSTEM.DAT, located on a permanent storage device such as an internal disk.
  • the embodiments of the invention describe a software environment of systems and methods that provide for the automatic update of software components of a distributed system as the various components evolve.
  • the software environment described in this section operate in distributed systems environments, such as that described above in reference to FIG. 1.
  • FIG. 3 illustrates an exemplary software environment in which embodiments of the invention operate.
  • the exemplary environment includes an application 308, a network element operating system (OS) 320, and an application bank 330.
  • Network element operating system 320 executes on network element hardware 120 (FIG. 1), and provides the software required implementing network element functions. This software includes configuration and application elements.
  • Application 308 is a software component that communicates with network element operating system 320.
  • application 308 is a management application operative to provide the ability for a remote user on remote systems 102 to control and configure aspects of a network element 120 by communication with network element operating system 320.
  • Application 308 can be a client application, or it can be a server application, the invention is not limited to any particular application type.
  • application 308 is divided into three components, a user interface (UI) component 302, an application component 304, and a communication component 306. Dividing the application 308 into these components is desirable, because it provides the ability to change each one of them separately or to load them on different computers. Furthermore, it is desirable to separate the user interface component, because it provides a means for supporting many different types of users.
  • UI user interface
  • the UI component 302 provides a mechanism for a user to interface with software controlling a remote component.
  • UI component 302 provides a graphical user interface for controlling a network element of a telecommunications system.
  • the user interface provides for the display and input of configuration and control elements used to affect the operation of the network element.
  • Application component 304 provides element specific functions that interpret the input received from UI 302 and adapt the input for communication to the network element.
  • application component 304 comprises processes and tasks that manage network elements 120.
  • Application component 304 • can operate on a demand basis, or it can operate on autonomous and cyclic basis.
  • application component 304 collects alarm information, performance information, testing results and the like.
  • application component 304 operates as an engine to implement user operations, including complicated user operations.
  • Communication component 306 implements a communication protocol providing a mechanism for application 308 to communicate with the network elements.
  • the communication protocol can include message sets, including commands and data that manipulate the configuration and operation of the network elements.
  • the UI component 302, application component 304 and communication component 306 components communicate with one another using a software communications bus 310.
  • communication bus 310 uses CORBA (Common Object Request Broker Architecture).
  • the communication bus 310 utilizes DCOM (Distributed Component Object Model).
  • communication bus 310 uses RMI (Remote Method Invocation).
  • DCOM, CORBA and RMI are all known in the art.
  • communication bus 310 send and receives commands and data using XML (extensible Markup Language).
  • Application 308 can have multiple versions, as can network element operating system 320. Each version of application 308 is associated with a version of network element operating system 320.
  • the three individual components can also have one or more versions.
  • the versions of the components are also associated with a version of network element software 320.
  • a version of an application 308 (and components 302, 304 and 306) may be associated with more than one version of network element operating system 320.
  • a version of network element operating system 320 may be associated with more than one application 308 and/or components 302, 304 or 306.
  • Application bank 330 maintains association data, and operates to store varying versions of application 308, user interface component 302, application component 304 and communications component 306. In one embodiment of the invention, application bank 330 maintains the associations in a database, such as database 332.
  • FIG. 4 is a flowchart of a method 400 illustrating the operation of the above- described components.
  • a user at a remote workstation 102 invokes an application 308 to interact with a network element 120 running a version of network element software 320
  • a further component of application 308, application controller 312 connects with the desired network element address (block 402).
  • the application controller communicates with the desired network element software to determine its version (block 404).
  • a check is then made to determine if the appropriate application 308 and/or application components 302, 304 and 306 that are associated with network element software 320 currently exist on the remote workstation 102 (block 406). If the correct associated versions exist, they are then loaded and executed (block 410). Otherwise the application controller 312 communicates with application bank 330, and retrieves the correct version (block 408). After retrieving the correct version of application 308 and/or components 302, 304 and 306, the application is loaded and activated (block 410).
  • the application and application components need only maintain compatibility with a particular version of the distributed component. This reduces the development effort, and also reduces the amount of time required for testing, both of which reduce the overall development cost and time to market. Furthermore, the risk of software bugs existing in the application and application components is reduced, because a particular version will only contain the relevant instructions for that version, and need not check and provide for compatibility with different versions in the field. Fewer conditional statements mean fewer bugs, fewer tests, and less risk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention concerne des systèmes et des procédés de gestion de versions de composantes logicielles dans un système réparti. L'un des aspects du système concerne une banque d'application qui stocke différentes versions d'applications conçues pour communiquer avec des versions correspondantes de logiciels s'exécutant sur un élément de composante. Les clients distants qui souhaitent communiquer avec l'élément de composante déterminent la version de l'application correspondant à la version qui s'exécute sur l'élément de composante. Le client distant télécharge alors la version appropriée de l'application (qui peut contenir des programmes d'application multiples) si celle-ci n'existe pas encore sur la machine du client distant. Dans un autre aspect de l'invention, l'élément de composante est l'élément réseau d'un système de télécommunications et l'application est une application de gestion d'éléments. Dans un autre aspect encore, l'application de gestion d'éléments comprend une composante d'interface d'utilisateur, une composante d'application, et une composante de communication, lesquelles sont toutes individuellement contrôlées en version. Un client qui souhaite exécuter l'application de gestion d'éléments télécharge la version appropriée de chaque composante individuelle, si nécessaire.
PCT/IB2001/000947 2000-05-31 2001-05-30 Gestion de compatibilite de logiciels dans des systemes repartis WO2001093019A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2001266245A AU2001266245A1 (en) 2000-05-31 2001-05-30 Managing compatibility of software in distributed systems
CA002410423A CA2410423A1 (fr) 2000-05-31 2001-05-30 Gestion de compatibilite de logiciels dans des systemes repartis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58444800A 2000-05-31 2000-05-31
US09/584,448 2000-05-31

Publications (1)

Publication Number Publication Date
WO2001093019A2 true WO2001093019A2 (fr) 2001-12-06

Family

ID=24337355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2001/000947 WO2001093019A2 (fr) 2000-05-31 2001-05-30 Gestion de compatibilite de logiciels dans des systemes repartis

Country Status (3)

Country Link
AU (1) AU2001266245A1 (fr)
CA (1) CA2410423A1 (fr)
WO (1) WO2001093019A2 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002086702A1 (fr) * 2001-04-23 2002-10-31 Nokia Corporation Gestion de differentes versions de services dans un serveur
EP1574951A1 (fr) * 2003-11-28 2005-09-14 Swisscom Mobile AG Méthode et système pour le contrôle de la consistence entre composantes d'application d'une application programmée distribuée
EP1872215A4 (fr) * 2005-04-18 2008-05-21 Research In Motion Ltd Mise en oeuvre d'un schema de versionnage reposant sur la compatibilite des donnees
EP2015173A1 (fr) * 2007-07-05 2009-01-14 Hewlett-Packard Development Company, L.P. Méthode pour la maintenance de mises à jour pour logicielles grâce à des expression de dépendance

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002086702A1 (fr) * 2001-04-23 2002-10-31 Nokia Corporation Gestion de differentes versions de services dans un serveur
US7653914B2 (en) 2001-04-23 2010-01-26 Nokia Corporation Handling different service versions in a server
EP1574951A1 (fr) * 2003-11-28 2005-09-14 Swisscom Mobile AG Méthode et système pour le contrôle de la consistence entre composantes d'application d'une application programmée distribuée
EP1872215A4 (fr) * 2005-04-18 2008-05-21 Research In Motion Ltd Mise en oeuvre d'un schema de versionnage reposant sur la compatibilite des donnees
US7698702B2 (en) 2005-04-18 2010-04-13 Research In Motion Limited System and method for implementing data-compatibility-based version scheme
US8555272B2 (en) 2005-04-18 2013-10-08 Research In Motion Limited System and method for implementing data-compatibility-based version scheme
EP2015173A1 (fr) * 2007-07-05 2009-01-14 Hewlett-Packard Development Company, L.P. Méthode pour la maintenance de mises à jour pour logicielles grâce à des expression de dépendance

Also Published As

Publication number Publication date
AU2001266245A1 (en) 2001-12-11
CA2410423A1 (fr) 2001-12-06

Similar Documents

Publication Publication Date Title
EP0735469B1 (fr) Système et méthode pour contrôler et administrer des serveurs d'objets distribués utilisant des objets distribués de première classe
US6487718B1 (en) Method and apparatus for installing applications in a distributed data processing system
US7721283B2 (en) Deploying a variety of containers in a Java 2 enterprise edition-based architecture
US7552433B2 (en) Non-platform-specific unique indentifier generation
US6347331B1 (en) Method and apparatus to update a windows registry from a hetrogeneous server
EP1224543B1 (fr) Reparation d'applications incompatible par mise en place de module de remplacement pour api
US7100163B2 (en) Hypervisor virtualization of OS console and operator panel
US6323865B1 (en) Automatic font management within an operating system environment
Helander et al. MMLite: A highly componentized system architecture
US6446071B1 (en) Method and system for user-specific management of applications in a heterogeneous server environment
US7562341B2 (en) Deploy callback system with bidirectional containers
US7877735B2 (en) Application cloning
US20040243997A1 (en) Method, system, and program for installing program components on a computer
US20080222160A1 (en) Method and system for providing a program for execution without requiring installation
US20080052701A1 (en) System and method for fine grain method update of an application to provide continuous availability
US20050138618A1 (en) Grid compute node software application deployment
US7526734B2 (en) User interfaces for developing enterprise applications
WO1997010545A1 (fr) Objet mandataire recuperable dans un environnement oriente objets
US20080301710A1 (en) Class Loader for Managing a Network
GB2341956A (en) Transaction management in a configuration database
US6738832B2 (en) Methods and apparatus in a logging system for the adaptive logger replacement in order to receive pre-boot information
US8762981B2 (en) Application loading and visualization
US20050268297A1 (en) Single file update
US20040068733A1 (en) Method and system for integrating non-compliant providers of dynamic services into a resource management infrastructure
US7913251B2 (en) Hypervisor virtualization of OS console and operator panel

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 BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2410423

Country of ref document: CA

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP