WO2000057612A2 - Application layer protocol - Google Patents

Application layer protocol

Info

Publication number
WO2000057612A2
WO2000057612A2 PCT/US2000/007529 US0007529W WO2000057612A2 WO 2000057612 A2 WO2000057612 A2 WO 2000057612A2 US 0007529 W US0007529 W US 0007529W WO 2000057612 A2 WO2000057612 A2 WO 2000057612A2
Authority
WO
Grant status
Application
Patent type
Prior art keywords
application
server
network
data
packet
Prior art date
Application number
PCT/US2000/007529
Other languages
French (fr)
Other versions
WO2000057612A3 (en )
Inventor
James Mccarthy
Original Assignee
Webxi
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

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/02Communication control; Communication processing contains provisionally no documents
    • H04L29/06Communication control; Communication processing contains provisionally no documents characterised by a protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/02Communication control; Communication processing contains provisionally no documents
    • H04L29/06Communication control; Communication processing contains provisionally no documents characterised by a protocol
    • H04L29/0602Protocols characterised by their application
    • H04L29/06047Protocols for client-server architecture
    • H04L2029/06054Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/02Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/40Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/42Protocols for client-server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer, i.e. layer seven

Abstract

Provided herein is a high speed streaming protocol for improving the efficiency of application-to-application communication over networks, including Wide Area Networks (WAN). The high speed streaming protocol uses a request-dispatch mechanism which allows an application to embed multiple server-side function requests without waiting for a confirmation for each function call.

Description

HIGH SPEED STREAMING PROTOCOL

Background of The Invention

1. Field of the Invention

This application relates to the field of information technology and more particularly to the field of communication protocols.

2, Description of Related Art

Computer technology has revolutionized information delivery, storage, retrieval and manipulation. In particular, the computer network offers the possibility of improved systems for offering information to geographically distant users. By linking together several computers and by providing shared resources and cross-platform communications, the computer network provides improved access to sophisticated information and applications by users at remote locations.

The present invention may be better understood by reference to a number of commonly used terms from the field of computer networks, definitions of which are as follows:

The term "client," as used herein, encompasses any data processing systems suitable for operating a processor and for establishing a communication link, such as a link to an Internet site. An Internet site can be any program running on a data processing platform that connects to the Internet and that receives access requests, whether under HTTP, FTP or any other conventional or proprietary transfer protocol. The term "application program," as used herein, encompasses any computer file that contains data in a format for being accessed and processed by the processing unit of a computer.

The term "disk," as used herein, encompasses any memory device that can store computer data and that provides an interface for accessing the stored data.

The term "network," as used herein, encompasses any system comprising a series of computers linked by telecommunications networks and may include the Internet, intranets, or other computer networks.

The term "Internet" means the largest global computer communications network.

The term "World Wide Web" means a large global computer communications network that comprises a significant part of the Internet.

The term "server," as used herein, encompasses any data processing system on which application programs and Internet sites may be stored for access and processing by client computers.

The term "web browser," as used herein, encompasses any application program which allows for multimedia presentation of information, including text, images, sound and video clips. A web browser allows a user to connect by the Internet to different sites on the Internet. The term "HTTP" as used herein, shall encompass the "HyperText Transfer Protocol", which shall mean a protocol under which messages are sent over the Internet from client computers to server computers in the client-server model of distributed computing.

One of the most widely accepted and heavily used networks is the Internet. The

Internet is a global system of interconnected computer networks formed into a single world wide network. A user, through the Internet, can interactively transmit messages with users in different countries. Similarly, a user in the U.S. connected to files and libraries and other jurisdictions such as Europe and Asia, can download files for personal use. Accordingly, the Internet computer network both provides strong communications functions and acts like a universal library, providing electronic access to resources and information available from Internet sites throughout the world. In addition to downloading information, remote user can run applications, through application-to-application communications.

One problem with application-to-application communications is that such communications are often slow. This is particularly true in the case of certain relational database applications in which a large number of users remotely access large databases in a large number of transactions. Accordingly, methods and systems are needed to improve network performance in order to speed the operation of remote applications using networks, particularly relational database applications.

Summary Of The Invention Provided herein is a high speed streaming protocol for improving the efficiency of application-to-application communication over networks, including Wide Area Networks (WAN). The high speed streaming protocol uses a request-dispatch mechanism which allows an application to embed multiple server-side function requests without waiting for a confirmation for each function call.

Brief Description Of Drawings

FIG. 1 is a schematic diagram depicting the elements of an embodiment of the present invention.

Detailed Description of the Preferred Embodiment s) Referring to FIG. 1, the present invention includes a system 10, that comprises a host 20 and a client 30. The client 30 may be any conventional device for receiving, storing, manipulating, retrieving and transmitting data, such as a conventional computer. Thus, the client 30 may include a central processing unit, as well as other conventional elements, such as memory, a display, and a keyboard. The client 30 may include a device for providing an network connection 28, such as a modem. Any other form of network connection 28 may be used. The network connection may connect the client 30 to a communications network 38, such as the Internet. In an embodiment, as depicted in Figure 1, the client 30 is a web browser.

Also connected to the network 38 may be the host 20, which may include a server 40, which may be a conventional server, such as a web server, configured to handle network communications, such as Internet communications using the TCP/IP protocol. The host 20 may contain files that include data, applications and other content that can be accessed over the network 38 by the client 30. Applications running on the client 30 can then access and run applications running on the host 20, permitting the client 30 to retrieve, store and manipulate the information obtained over the network 38 from a remote location.

The applications running on the host 20 may include a database 42, which in an embodiment may be a relational database. The database 42 may sit behind a firewall 46 or similar security mechanism. The web server 40 may relay queries to the database 42, which may be parsed and handled in a conventional fashion, and the web server 40 may take results from the database 42 and relay them back, via the network 38 to the client

30 that initiated the query. An interface 44 may be provided between the web server 40 and the database 42. The interface 44 may take a variety of configurations, ranging from a conventional server-database link as used in conventional systems that permit access to databases over the Internet. It should be understood that the interface 44 could be a separate unit or could be included as part of either the web server 40 or the database

42. The interface 44 may constitute an application program, sometimes known as "middleware" running between the web server 40 and the database 42. It should be understood that the web server 40 could be one of multiple web servers accessing the same database 42; thus, the database 42 need not reside on the same machine as the web server 40.

In situations in which a large number of users wish to use clients 30 to access a high volume of data contained in a relational database 42, the speed of the system may be significantly compromised. Accordingly, protocols for improving system speed for such uses are desired. Such a protocol can be included or embodied in the interface 44.

The present disclosure provides a High Speed Streaming Protocol ("HSSP") embodied in the interface 44, which in an embodiment may be the WebXi version 1.0 High Speed Streaming Protocol.

Most application-to-application communication is performed using a standard Remote Procedure Call (RPC) mechanism. RPC protocols are based on a request/response calling method, which results in multiple packets for each server-based procedure invocation. The number of network packets needed to carry the procedure calls is directly proportional to the number of remote procedure calls that are made.

Most of the current database client/server interfaces are based on an application-specific RPC mechanism that follows the request/response architecture. The following is an example of the network packets required to implement a conventional request/response architecture:

BEGIN LOGICAL UNIT of WORK

SEND: Requestl ,Parameterl ,Parameter2

RECEIVE: Requestl, Confirmation

SEND: Request2,Parameter 1 ,Parameter2

RECEIVE: Request2, Confirmation

SEND: Request 10,Parameterl,Parameter2 RECEIVE: Requestl 0,Confirmation,Response Data END LOGICAL UNIT of WORK

WebXi HSSP is a unique communication protocol designed to improve the efficiency of application-to-application communication over networks, including Wide Area Networks (WAN). The objective of HSSP is to increase network performance and improve the reliability of server-based applications. WebXi HSSP uses a request- dispatch mechanism which allows an application to embed multiple server-side function requests without waiting for a confirmation for each function call.

HSSP is a core component which may used in the interface 44 to improve the efficiency of database requests over WAN for WebXi products. The following is a description of the HSSP protocol and how it differs from conventional application-to- application communication protocols.

An objective of HSSP is to increase network performance. The WebXi HSSP is based on a client-directed request protocol that increases performance by significantly reducing the number of network packets required to accomplish a logical unit of work. HSSP is designed to minimize the number of network packets by allowing the requesting application to determine the end point of a request. The body of the request can contain multiple server based procedure calls that will build a response packet encapsulating all of the procedure calls up until the end point defined by the requesting application. This allows the requesting application to send a single network packet as logical units of work rather than multiple network packets for each procedure call in a logical unit of work. The following is an example of the network packets required to implement the HSSP client-directed request protocol:

BEGIN LOGICAL UNIT of WORK

SEND: Requestl, Parameter l,Parameter2,Request2,Parameterl, Parameter2 ... Requestl 0,Parameterl,Parameter2,ENDREQ

RECEIVE: Requestl 0,Response Data

END LOGICAL UNIT of WORK In the above HSSP example the requesting application made ten separate procedure calls with only two network packets, while the RPC-based example would usually require up to twenty network packets to perform the same unit of work. The requesting application was only concerned about the response data from the final procedure call, so HSSP used an implied confirmation for each procedure call when the call did not have any response data. All procedures assume a successful completion unless an error occurs and a failure is returned, ending the logical unit of work at the point of failure. When a failure occurs, the requesting application and the server-based application are responsible for handling the failure accordingly.

HSSP may be applied as a database request interface for the interface 44. As a result, the number of network packets required to execute a database request is usually reduced from thirty or more network packets to less than five. This can result in significant performance improvements for an application over wide area networks.

A second objective of HSSP is to improve the reliability of server-based procedure calls. HSSP may be based on an internal data packet description that improves the reliability of the server-based application by embedding a description of each data element of the packet. The data packet description uses a single byte immediately preceding each atomic data type to allow the server based application to query the data stream and take action based on the next data type to be processed in the stream. The HSSP data packet description allows the server-based application to recover from unanticipated data types that may be encountered in the data stream when an application changes versions. The server-based application can choose to proceed with an anticipated condition or gracefully return a failure when this unanticipated condition occurs. The HSSP data packet description improves the reliability of a server-based application by eliminating blind data streaming which is usually present in most RPC mechanisms.

The internal description of the HSSP packet forms a strong barrier of protection from unanticipated conditions and provides for an automatic or application handled mechanism of recovery. For example, the HSSP dispatch mechanism uses the data packet description to automatically skip to the next operation when a dispatched function returns. Any data that is not handled by a procedure would be ignored and the next dispatched procedure would be called.

The High Speed Streaming Protocol combines the internal data packet description along with client-directed logical units of work to achieve a reliable application-to-application streaming protocol that improves network performance. The following detailed diagram illustrates the combined description that makes up the High Speed Streaming Protocol. Packet Header: TOTAL LENGTH PACKET VERSION

Packet Body: TYPE OPCODE TYPE DATA TYPE OPCODE

Packet End: TYPE OPEND

Packet header precedes the start of every network packet. The packet header is used to determine the total length to read from the network before dispatching the packet and the stream version to be used for packet interpretation. The length value is used to prevent overrunning the read buffer and should not exceed the negotiated packet maximum. The version is used as a synchronizing mechanism to allow each application to determine the expected packet version for procedure interpretation. Each communicating application transmits their local packet version when sending or responding to a request. This allows each application to determine the remote version for each procedure call and respond accordingly. The application can build in backward compatibility based on the remote packet version.

The packet body is made up of a series of data type codes and data elements that are application specific. The application-specific packet body is made up of a series of procedure operation codes that precede the optional procedure parameters. The stream dispatcher uses the procedure operation code data type to determine the application specific code module to call in order to handle the procedure parameters. When the code module is called it will stream the procedure parameters out of the network packet. When the procedure returns the stream dispatcher will move to the next procedure operation code to determine the next action in the stream. The packet end is a special procedure indicator that indicates to the server that the requesting application is now waiting for a response. The stream dispatcher will assume that any preceding procedure operation codes have built a response packet and will write the current response packet back to the requesting application. If none of the dispatched procedures contain response data the end operation code will simply be echoed back otherwise, the response data along with the end operation code are returned. The end operation code is sent in both directions so that each end of the communication stream knows when the other end is sending or waiting. The requesting application will send a close operation code when it has completed all requests and wants to terminate the connection.

Both the requesting application and the server have the same base code for streaming and dispatching requests. As a result, when the server receives a request it will reply with a stream that is formatted exactly the same way as the requesting application transmits it. Also, with knowledge of the packet version, the server is able to format the packet body in a manner that is backward compatible with the requesting application.

While the invention has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention is to be limited only by the following claims.

Claims

Claim(sWhat is claimed is:
1. A method of application-to-application communication in a computer network having a client application and a server application comprising: providing a request-dispatch mechanism of the server application for handling requests of the client application to the server application; and allowing an application to embed multiple server-side function requests without waiting for a confirmation for each function call.
PCT/US2000/007529 1999-03-22 2000-03-22 Application layer protocol WO2000057612A3 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12546899 true 1999-03-22 1999-03-22
US60/125,468 1999-03-22

Publications (2)

Publication Number Publication Date
WO2000057612A2 true true WO2000057612A2 (en) 2000-09-28
WO2000057612A3 true WO2000057612A3 (en) 2001-01-18

Family

ID=22419854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/007529 WO2000057612A3 (en) 1999-03-22 2000-03-22 Application layer protocol

Country Status (1)

Country Link
WO (1) WO2000057612A3 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1453270A1 (en) * 2002-11-20 2004-09-01 Microsoft Corporation System and method for using packed compressed buffers for client server communications
US7366760B2 (en) 2003-01-03 2008-04-29 Microsoft Corporation System and method for improved client server communications of email messages
US7386590B2 (en) 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
US7620688B2 (en) 2003-01-03 2009-11-17 Microsoft Corporation Progress mode for electronic mail component
US7650403B2 (en) 2002-11-20 2010-01-19 Microsoft Corporation System and method for client side monitoring of client server communications
US7917904B2 (en) 2006-01-06 2011-03-29 Microsoft Corporation Automated analysis tasks of complex computer system
US9055139B1 (en) 2012-03-12 2015-06-09 Cisco Technology, Inc. Display protocol interception in the network for services and network-based multimedia support for VDI
US9130899B1 (en) * 2011-04-27 2015-09-08 Cisco Technology, Inc. Integrated user interface for unified communications applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325361A (en) * 1992-12-01 1994-06-28 Legent Corporation System and method for multiplexing data transmissions
US5859853A (en) * 1996-06-21 1999-01-12 International Business Machines Corporation Adaptive packet training

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325361A (en) * 1992-12-01 1994-06-28 Legent Corporation System and method for multiplexing data transmissions
US5859853A (en) * 1996-06-21 1999-01-12 International Business Machines Corporation Adaptive packet training

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
POUNTAIN D: "THE X WINDOW SYSTEM" BYTE,US,MCGRAW-HILL INC. ST PETERBOROUGH, vol. 14, no. 1, 1989, pages 353-360, XP000566012 ISSN: 0360-5280 *
SCHEIFLER R W ET AL: "THE X WINDOW SYSTEM" ACM TRANSACTIONS ON GRAPHICS,US,ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, NY, vol. 5, no. 2, 1 April 1986 (1986-04-01), pages 79-109, XP000565891 ISSN: 0730-0301 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650403B2 (en) 2002-11-20 2010-01-19 Microsoft Corporation System and method for client side monitoring of client server communications
US7111039B2 (en) 2002-11-20 2006-09-19 Microsoft Corporation System and method for using packed compressed buffers for improved client server communications
US7451180B2 (en) 2002-11-20 2008-11-11 Microsoft Corporation System and method for using packed compressed buffers for improved client server communications
EP1453270A1 (en) * 2002-11-20 2004-09-01 Microsoft Corporation System and method for using packed compressed buffers for client server communications
US7366760B2 (en) 2003-01-03 2008-04-29 Microsoft Corporation System and method for improved client server communications of email messages
US7386590B2 (en) 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
US7620688B2 (en) 2003-01-03 2009-11-17 Microsoft Corporation Progress mode for electronic mail component
US7899872B2 (en) 2003-01-03 2011-03-01 Microsoft Corporation System and method for improved synchronization between a server and a client
US7730150B2 (en) 2003-01-03 2010-06-01 Microsoft Corporation System and method for improved client server communications of email messages
US9590927B2 (en) 2003-01-03 2017-03-07 Microsoft Technology Licensing, Llc System and method for improved synchronization between a server and a client
US7917904B2 (en) 2006-01-06 2011-03-29 Microsoft Corporation Automated analysis tasks of complex computer system
US9130899B1 (en) * 2011-04-27 2015-09-08 Cisco Technology, Inc. Integrated user interface for unified communications applications
US9055139B1 (en) 2012-03-12 2015-06-09 Cisco Technology, Inc. Display protocol interception in the network for services and network-based multimedia support for VDI
US9485292B2 (en) 2012-03-12 2016-11-01 Cisco Technology, Inc. Display protocol interception in the network for services and network-based multimedia support for VDI

Also Published As

Publication number Publication date Type
WO2000057612A3 (en) 2001-01-18 application

Similar Documents

Publication Publication Date Title
US6584497B1 (en) Method, system, and program for returning a file requested through a network connection
US6839741B1 (en) Facility for distributing and providing access to electronic mail message attachments
US6339787B1 (en) Apparatus and method for increasing speed in a network file/object oriented server/client system
US6845505B1 (en) Web request broker controlling multiple processes
US5864870A (en) Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US7197531B2 (en) Meta-application architecture for integrating photo-service websites for browser-enabled devices
US5568645A (en) Versatile RF data capture system
US6085249A (en) Method and apparatuses for transferring data for multiple applications through a single communication link in response to authentication information
US6892206B2 (en) Reduction of meta data in a network
US5911485A (en) Predictive data entry method for a keypad
US5978841A (en) Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user
US6578073B1 (en) Accelerated content delivery over a network using reduced size objects
US6944660B2 (en) System and method for monitoring browser event activities
US6119167A (en) Pushing and pulling data in networks
US7149809B2 (en) System for reducing server loading during content delivery
US6810409B1 (en) Communications network
US6396805B2 (en) System for recovering from disruption of a data transfer
US6385642B1 (en) Internet web server cache storage and session management system
US6345303B1 (en) Network proxy capable of dynamically selecting a destination device for servicing a client request
US6938096B1 (en) Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US6222536B1 (en) Method and apparatus for providing a number of subscribers with on-line banking service employing a plurality of bank systems
US20020146018A1 (en) System for providing wireless application protocol-based services
US6311278B1 (en) Method and system for extracting application protocol characteristics
US6405240B1 (en) Data transfer method
US20040220952A1 (en) Web service gateway generation

Legal Events

Date Code Title Description
AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW 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 BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

121 Ep: the epo has been informed by wipo that ep was designated in this application
AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW 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 BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

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

Ref country code: JP