Summary of the invention
Technical problem to be solved by this invention is to be to provide a kind of TCPv6 and/or UDPv6 testing equipment and method based on the IPv6 network, can realize that the data of TCPv6 and/or UDPv6 connect test.
In order to solve the problems of the technologies described above, the invention provides a kind of TCPv6 and/or UDPv6 testing equipment, comprise IPv6 data processing module, outcome record module and control module, wherein:
Described IPv6 data processing module, link to each other with measurand, be used for one or more of the following equipment of emulation: TCPv6 server, TCPv6 client, UDPv6 client, set up and receive formation in order to store the data that described tested object sends, set up transmit queue in order to send data, finish with described measurand and carry out the data transmit-receive test to described tested object;
Described outcome record module links to each other with the IPv6 data processing module, is used for logging test results;
Described control module links to each other with the outcome record module with described IPv6 data processing module respectively, is used to finish the parameter configuration and the initialization of each module, safeguards the task scheduling between each module.
Further, described IPv6 data processing module comprises:
The TCPv6 processing sub is used for emulation TCPv6 server and/or TCPv6 client, and the TCPv6 interface of data transmit-receive is provided, the monitored data transmitting-receiving;
The UDPv6 processing sub is used for emulation UDPv6 client, and the UDPv6 interface of data transmit-receive is provided, the monitored data transmitting-receiving;
The batch process submodule links to each other with the UDPv6 processing sub with described TCPv6 processing sub respectively, when the quantity that once create to connect when configuration is a plurality of, creates a chained list for each connects, and measured data is carried out batch operation.
Further, described IPv6 data processing module also comprises the data loopback submodule that links to each other with described IPv6 data processing module, and the timing submodule that links to each other with described data loopback submodule, wherein: described data loopback submodule is used for putting into transmit queue after receiving the data transaction data structure of formation; Described timing submodule is used to be provided with the time interval that described data loopback submodule is put into data transmit queue.
Further, described outcome record module comprises read-write submodule and record sub module, and wherein: described read-write submodule links to each other with described IPv6 data processing module, the data that are used for receiving formation write file, and perhaps reading of data writes transmit queue from file; Described record sub module links to each other with described IPv6 data processing module, with the mode logging test results of daily record.
Further, described control module comprises management submodule and parameter sub module stored, and wherein: described parameter sub module stored links to each other with described IPv6 data processing module, be used to provide initiation parameter to select, and store the parameter that sets for the tester; Described management submodule is used to realize that the thread of each module starts and stops, and safeguards the task scheduling between each module, handles the message request and the abnormality processing of each module.
In order to solve the problems of the technologies described above, the present invention also provides a kind of TCPv6 and/or UDPv6 method of testing, may further comprise the steps:
(a) testing equipment is connected and/or the UDPv6 connection with measurand establishment TCPv6 after carrying out parameter configuration and initialization;
(b) described testing equipment is monitored the data transmit-receive of each connection, sets up to receive formation to store the data that described tested object sends, and sets up transmit queue to send data to described tested object, carries out the data transmit-receive test with described measurand;
(c) close connection behind the EOT, preserve test result.
Further, in described step (a), when the quantity that once create to connect when configuration was a plurality of, described testing equipment was used to store link information for each connects chained list of establishment.
Further, in described step (a), described parameter configuration comprises whether carrying out the data loopback, when the data loopback is carried out in described testing equipment setting, puts into transmit queue after then will receiving the data transaction data structure in the formation.
Further, described testing equipment further is provided with one or more in the following parameter, realizes the data test of changeable flow: data are put into the time interval of transmit queue, total number of giving out a contract for a project, are sent the length of data.
Further, described testing equipment is connected with described measurand establishment TCPv6 and/or UDPv6 connects, be meant that sending connection request by described testing equipment to described measurand creates described connection, perhaps initiate connection request to described testing equipment and create described connection by described measurand; When described testing equipment was sent the described connection of connection request establishment to described measurand, the parameter that disposes on described testing equipment was that link information comprises: test-types, IPv6 address, opposite end, Peer-Port, local IPv6 address, local port.
Compared with prior art, the present invention proposes the testing equipment and the corresponding test method of the complete basic agreement of a cover, has following advantage:
(1) equipment is simple, and is with low cost.
(2) provide batch operation, simplified test job, improved testing efficiency.
(3) support the datacycle of changeable flow to send test.
(4) support file read-write operation and data in real time storage.
(5) organic combination of back-level server and client, unified interface is reduced frequent interface and is switched.
(6) simultaneously emulation TCPv6 server and client, UDPv6 client are independent of each other.
Embodiment
Describe embodiments of the present invention in detail below with reference to drawings and Examples, how the application technology means solve technical problem to the present invention whereby, and the implementation procedure of reaching technique effect can fully understand and implements according to this.
Testing equipment of the present invention can be directly installed on the PC, when carrying out the test of TCPv6 and/or UDPv6, PC terminal/testing equipment is by FE (Fast Ethernet, Fast Ethernet) interface is connected with tested equipment, set up TCPv6 with measurand or UDPv6 is connected, analogue data transmitting-receiving test.The purpose of data transmit-receive test mainly is whether can normally receive and send data in order to test measurand, the data transmit-receive performance under particularly different big small messages and a plurality of connection situation.
TCPv6 and/or UDPv6 testing process as shown in Figure 1, measurand wherein can be the TCPv6 server, also can be TCPv6 client or UDPv6 client; Testing equipment is emulation TCPv6 server and client simultaneously, and the UDPv6 client.Method of testing may further comprise the steps:
S10, direct-connected by network interface and the FE mouth of PC, between measurand and testing equipment, create IPv6 and be connected;
In this step, can initiate to create, also can initiate to create by measurand by testing equipment.Local terminal in this article or this locality all refer to the testing equipment end, and the opposite end refers to the measurand end.
For initiating by testing equipment, the tester is by the operation interface of testing equipment, the number of connection of selecting test-types (being the type of testing equipment emulation), input IPv6 address, opposite end, Peer-Port, local IPv6 address, local port and once setting up, perhaps can also select whether to carry out the data loopback, after filling the relevant connection required parameter, testing equipment is sent connection request and is carried out system's connection.Testing equipment has shielded TCPv6 or UDPv6 agreement difference according to the above-mentioned parameter of tester's input.
Initiatively initiate connection request bytesting equipment 10, use the connect function to go to connectmeasurand.Testing equipment 10 is by being provided with self-defining time-out time, and IPv6 address, opposite end and Peer-Port thattesting equipment 10 is asked carry out the validity detection, reduces to connect time-out time, thereby has improved testing efficiency.
If connection failure, then log and return error message stops carrying out; If successful connection then distributes a chained list entity space, join in the chained list after the filling link information, carry out data transmit-receive and monitor processing.
In this step, according to the situation that reality is used, testing equipment can be optimized processing to selecting local IPv6 address and local port, specifically comprises:
When selecting local IPv6 address, the testing equipment operation interface further provides the tester to select to specify address or default address:
If select to specify local address, then in creating the process that connects, testing equipment will be enumerated all IPv6 addresses of supporting on the PC terminal for you to choose, will connect as local IPv6 address by the IPv6 address of appointment in the process that connects.
If select local default address, then in setting up the process of monitoring, testing equipment will select asterisk wildcard to set up monitoring as local IPv6 address, be equivalent to monitor local all IPv6 effective addresses.
When selecting local port, the testing equipment operation interface further provides the tester to select to select at random or specify selection:
If the selection mode of local port is for selecting local port at random, then in creating the process that connects, testing equipment will increase progressively since 1024 ports, select an effective port as the local port that connects.
If the selection mode of local port is for specifying local port, then in creating the process that connects, testing equipment will be the port of appointment as the local port that connects.
S20, testing equipment is monitored the data transmit-receive of each connection, sets up to receive formation to store the data that described tested object sends, and sets up transmit queue to send data to described tested object, and the transmitting-receiving of TDPv6 or UDPv6 packet is carried out in data interaction;
In this step, testing equipment can receive data simultaneously in order to make a plurality of connections, therefore adopts the monitoring of multithreading realization data transmit-receive to handle, and utilizes reception formation and transmit queue to come centralized and unified deal with data simultaneously, and reception is independent of each other with transmission.When receiving the data that measurand sends, testing equipment is at first searched the link information chained list, (socket) carries out matched and searched as keyword with socket, information in this link information chained list mainly contains socket, local terminal address and port, address, opposite end and port etc., the validity of affirmation data.If invalid data, then unification takes acquiescence to abandon; If valid data, reading of data then joins data simultaneously to receive in the formation and is for further processing.
When listening to when receiving formation new adding data being arranged, from receive formation, read initiate data, according to the parameter that the tester is provided with on testing equipment, whether the testing equipment decision carries out real-time data memory or the automatic loop back processing being of data.If selected real-time data memory,, call file and write interface and carry out the data in real time write operation then according to the storage file path that is provided with; If select the automatic loopback of data, then data are carried out loopback test and handle.
S30 closes IPv6 and connects, and preserves test result.
In this step, support testing equipment initiatively to close and close two kinds of patterns with passive, wherein:
Initiatively the step of closing is the connection that at first will close by the operation interface selection of testing equipment, can select a plurality of connections to close here simultaneously, calls corresponding down interface then, and data are issued the flow processing of closing connection, preserves test result.
Passive step of closing, be when receiving the close message that measurand sends, carry out the chained list matched and searched, confirm that close message effectively after, remove, discharge the relevant space of distributing, stop monitoring, also preserve test result corresponding to this join dependency thread.
Simultaneously the port of TIME WAIT (wait) state is optimized, by SO_REUSEADDR (allowing port to reuse) socket option is set, make testing equipment can continue to use, do not need to wait for again that the TIME WAIT time just can use this port the port of TIME WAIT state.
Fig. 2 shows the structural representation of testing equipment of the present invention.TCPv6 of the present invention and/orUDPv6 testing equipment 10 mainly comprise as lower module:
IPv6data processing module 30 links to each other withmeasurand 20, is used for emulation TCPv6 server or TCPv6 client or UDPv6 client, comprises creating being used to receive, send the interface of IPv6 data for other module invokes; When a plurality of server and client side of while emulation, each server and client all adopt independent thread to realize, are independent of each other;
Outcome record module 40 links to each other with IPv6data processing module 30, is used for logging test results, shows test results by display device;
Control module 50 is used to control the startup of IPv6data processing module 30 andoutcome record module 40 and stop, and realizes the parameter configuration and the initialization of each module, safeguards the task scheduling between each module, handles the message request and the abnormality processing of each module.
Testing equipment provides a public interface function bycontrol module 50, according to the above-mentioned parameter of tester's input, and the agreement difference of shielding TCPv6 or UDPv6.
As shown in Figure 3, IPv6data processing module 30 mainly comprisesTCPv6 processing sub 31,UDPv6 processing sub 32 and batch process submodule 33.Wherein:
TCPv6 processing sub 31 is used for emulation TCPv6 server and client, and the function of TCPv6 interfaces such as creating TCPv6 server interface, TCPv6 client-side interface and TCPv6 transmission data is provided;
UDPv6 processing sub 32 is used for emulation UDPv6 client, and the function of UDPv6 interfaces such as creating UDPv6 client-side interface and UDPv6 transmission data is provided;
Batch process submodule 33 links to each other withTCPv6 processing sub 31,UDPv6 processing sub 32 respectively, is used for that measured data is carried out batch operation and handles, and other module invokes of confession such as creating, close, send data-interface in batches are provided.When the number of connection of selecting once to set up when being a plurality of, notice or call relevant TCPv6 or the UDPv6 interface carries out data processing, realize once creating the emulation testing of multiserver and multi-client, also simplify the step of TCPv6 and/or UDPv6 volume test simultaneously, improve testing efficiency.
In aforementioned connection establishment step S10,, then data are sent toTCPv6 processing sub 31 if the test-types of selecting is TCPv6; If the test-types of selecting is UDPv6, then data are sent toUDPv6 processing sub 32.
The handling process that above-mentionedTCPv6 processing sub 31 is created the TCPv6 server interface is:
At first create a server socket (socket), be provided with and monitor local IPv6 address and local port, after the TCPv6 server is created in success, apply for a chained list entity space, fill socket number, local IPv6 address and local port join TCPv6 to the TCPv6 server of creating and monitor in the chained list, start the server watcher thread and carry out the server monitoring;
When receiving the connection request of measurand TCPv6 client, trigger watcher thread, after system finishes three-way handshake, for newly-built TCPv6 connects allocation space, after the filling related data, newly-built TCPv6 connection is joined in the TCPv6 chained list, the log-on data watcher thread carries out data decryptor;
When testingequipment 10 receives data, the trigger data watcher thread, at first inquire about the TCPv6 chained list, carry out matched and searched with socket number as keyword, check the source validity of these data, data cached then, after the filling related data, add in the reception formation, change the flow processing that receives data over to.
The handling process that above-mentionedTCPv6 processing sub 31 is created the TCPv6 client-side interface is:
At first create a client socket, filling local port, IPv6 address, opposite end and opposite end then is Service-Port, detect IPv6 address, opposite end and Peer-Port validity, if IPv6 address, opposite end and port are effective, then peer end of the connection IPv6 address is connected to set up TCPv6 with port, otherwise changes the abnormality processing flow process over to; After successfully setting up the TCPv6 connection, be that newly-built TCPv6 connects allocation entity chain table space, fill related data, add in the TCPv6 chained list, the log-on data watcher thread carries out data decryptor;
When testing equipment receives data, trigger this thread and further data are handled, at first inquire about the TCPv6 chained list, check the source validity of these data, data cached then, after the filling related data, add in the reception formation, change the flow processing that receives data over to.
Above-mentioned two places receive the flow processing of data, carry out receiving and counting earlier, judge whether then to carry out the data loopback, are that then to carry out joining after the data transaction transmit queue etc. to be sent, otherwise written document or display result in real time.
The handling process that above-mentionedTCPv6 processing sub 31 is created TCPv6 transmission data-interface is:
After filling the Control Parameter of transmission interface, data to be sent are joined in the transmit queue, change the flow processing that sends data over to, this sends the flow processing of data, exactly data are added transmit queue, send statistics then, send successfully then display result, send fail then log and display result.
The handling process that above-mentionedUDPv6 processing sub 32 is created the UDPv6 client-side interface is:
At first create a UDPv6 client socket, fill local port, IPv6 address, opposite end and Peer-Port then, after successfully creating UDPv6 and connecting, for newly-built UDPv6 connects allocation space, fill related data, add the UDPv6 chained list, start thread, carry out data decryptor;
When system receives data, trigger this thread, at first inquire about the UDPv6 chained list, check the source validity of these data, data cached then, after the filling related data, add in the reception formation, change the flow processing that receives data over to.
The handling process that above-mentionedUDPv6 processing sub 32 is created UDPv6 transmission data-interface is:
According to the information that will send, fill related data, then the data that will send are joined in the transmit queue, change the flow processing that sends data over to.
When above-mentionedbatch process submodule 33 receives the operation information of batch operation data, according to operation information notice or call relevant TCPv6 or the UDPv6 interface carries out data processing, the emulation testing of multiserver and multi-client is once created in final realization, thereby accomplish to simplify the step of TCPv6 and/or UDPv6 volume test, improved testing efficiency.
As shown in Figure 3, can also comprisedata loopback submodule 34 and timing submodule 35 at IPv6data processing module 30, wherein:
Data loopback submodule 34 is used for the data that receive are sent, and can be with changeable flow ground data to be sent, and freely controls in the 100Mbps.When receiving data, advanced row cache and data transaction are converted to transmission data structure entity receiving the data structure entity, carry out matched and searched then in the link information chained list, do further processing according to the result of mating.
Regularly submodule 35 typically can be a timer, and in order to the transmission time interval parameter that data send to be set, the data that assitancedata loopback submodule 34 is finished changeable flow send test, reaches the purpose that control FE mouth sends message flow.
In aforementioned connection establishment step S10,testing equipment 10 enables regularly submodule IPv6 address, 35 pairs of opposite ends and Peer-Port carries out the validity detection.If ask address, a non-existent opposite end, system has a timeout treatment, can improve a lot on the efficient.
The transmission time interval thatdata loopback submodule 34 is set according to timing submodule 35, and give out a contract for a project total number and message length join data to be sent in the transmit queue, send the flow processing of data.These two parameters of total number and message length of giving out a contract for a project can be to be provided with on operation interface and rice by the tester, if be not provided with then get default value.
In test process, can make amendment or reshuffle transmission time interval, total number of giving out a contract for a project and the message length that sends data, realize withmeasurand 20 between set up variable data the circulation transceive data test.
As shown in Figure 4,outcome record module 40 comprises read-write submodule 41,record sub module 42 and display sub-module 43, wherein:
Read and writesubmodule 41, be used to finish the read-write operation of file, use two threads to realize read data operation and data writing operation respectively, the file read-write operation can be carried out and be independent of each other simultaneously; When receiving the data writing operation request, the data that receive are pressed specified format, as forms such as initial data or hexadecimals, input text is realized the analysis of reading in of mass data; When receiving the read data operation requests, realize that by reading in text the batch of data transmits, and can realize discerning reading of data by initial data or hexadecimal format from file as required.
Record sub module 42, link to each other with aforesaidTCPv6 processing sub 31,UDPv6 processing sub 32, mode logging test results with daily record comprises (abnormal log that occurs failure in the testing process), test result is provided operations such as interpolation, deletion, inquiry.When other module executable operations, when creating the TCPv6 client such as IPv6data processing module 30,record sub module 42 is added the result of test in the journal file to calling the interpolation interface.After test result execution inquiry or deletion, the operation interface report operating result totesting equipment 10 shows the operation interface of operating result by testing equipment 10.The storage mode of daily record data is mainly based on text.
Display sub-module 43 links to each other with read-write submodule 41,record sub module 42, finishes the interface of server and client and unifies, and the flow processing oftesting equipment 10 application layers, comprises the validity detection, test result demonstration of test data etc.When the operation that receives application layer, the data of operation are carried out validity detect, notify corresponding module to carry out data processing then, show test results.
As shown in Figure 5,control module 50 comprises management submodule 51 and parameter sub module stored 52, wherein:
Management submodule 51, all link to each other with aforementioned all modules, be used for shielding agreement difference when connecting, the thread of realizing all modules starts and stops, safeguard the task scheduling between each module, handle the message request and the abnormality processing of each module, for object of each module initialization comes its basic function of maintenance management, for example: parameter sub module stored object is used to finish the parameter initialization of testing equipment; Read-write submodule object is used to finish the read-write interface parameter initialization; The display sub-module object is used to finish the interface of testing equipment and the demonstration of relevant parameter content; And record sub module object, regularly submodule object, batch process submodule object, data loopback submodule object, TCPv6 processing sub object, UDPv6 processing sub object etc., finish the initialization of relevant parameter respectively.
The management submodule is when testing equipment starts, for all module creations start corresponding process; When device shutdown, stop all module process operations; When receiving module request processing messages, correct other modules of resolution scheduling; When abnormal conditions took place, acquiescence was called the corresponding abnormal information of record sub module recorded and stored.In aforementioned connection closed step S30,testing equipment 10 notice management submodules 51 carry out described removing, discharge the relevant space of distributing, stop operation such as related linear program monitoring.
Parameter sub module stored 52 links to each other with the management submodule, is used to the tester to provide initiation parameter for you to choose, and stores the parameter that the tester sets.These basic parameters mainly comprise type selecting (being divided into TCPv6 and UDPv6), enumerate mode (comprising random fashion and specific mode), data transmission time interval, total number of giving out a contract for a project and the file storage path etc. of local IPv6 address, local port selection.
When testingequipment 10 started, the parameter sub module stored read latest data configuration initiation parameter from configuration file, notified display sub-module 43 to carry out data then and showed; After the configuration of operation interface undated parameter, data are sent to parameter sub module stored 52 be configured storage.Management submodule 51 is finished parameter configuration according to institute's stored parameters, realizes shielding agreement difference.
In test process,data loopback submodule 34 sends data according to the transmission time interval that receives.After parameter sub module stored 52 is upgraded the time interval that sends data, the data that send message informing timing submodule 35 to management submodule 51 change, upgrade transmission time interval by management submodule 51, after timing submodule 35 was activated,data loopback submodule 34 will be enabled new transmission time interval and carry out the data transmission.
Fig. 6 shows the testing equipment embodiment of the present invention based on Fig. 3-each inside modules structure shown in Figure 5, and wherein each submodule connected mode and function please refer to described in full.Batch process submodule 33 among the figure,data loopback submodule 34, read-write submodule 41,record sub module 42, management submodule 51 and parameter sub module stored 52 all with comprise the frame of broken lines ofTCPv6 processing sub 31 and link to each other withUDPv6 processing sub 32, represent that these submodules all link to each other respectively withUDPv6 processing sub 32 with TCPv6 processing sub 31.In addition, management submodule 51 and all the other each submodule all links to each other, but with the annexation figure of read-write submodule 41, display sub-module 43 in also not shown.With reference to Fig. 2-Fig. 6, above-mentioned each module, and each submodule in each module all are to be realized by independent thread, communicate by message or interface each other, and are independent of each other.
Fig. 7 is the workflow diagram oftesting equipment 10, and after testingequipment 10 started, concrete workflow was as follows:
Step 710 is finished the data initialization configuration, comprises transmission time interval, total number of giving out a contract for a project and file storage path etc. are configured;
Step 711 for creating the TCPv6 server, ischangeed step 721;
Step 712 for creating the TCPv6 client, ischangeed step 722;
Step 713 for creating the UDPv6 client, ischangeed step 723;
Step 721 judge to be created the whether success of TCPv6 server, and is successful then change step 730, failure commentaries on classics step 780;
Step 722 judge to be created the whether success of TCPv6 client, and is successful then change step 740, failure commentaries on classics step 780;
Step 723 judges whether establishment UDPv6 client is successful, changes step 750, and step 780 is changeed in failure;
Step 730 is filled the server relevant information, then the server of this establishment is joined TCPv6 and monitors in the chained list, carries out server monitoring work;
Step 731 judges whether to receive connection request, and being then changesstep 732, otherwise changesstep 780;
Step 732 enters the flow processing of accepting connection request, calls the accept interface, obtains the address and the port of opposite end connection request, generates an interim socket simultaneously;
Step 733 judges whether successfully to accept connection request, and is successful then fill join dependency information, changes step 740, otherwise changesstep 780;
Step 740 is filled join dependency information, then this connection is joined in the TCPv6 chained list, and Data Receiving is thenchangeed step 760, and data send then changes step 770;
Step 750 is filled relevant UDPv6 link information, then this connection is joined in the UDPv6 chained list, and Data Receiving is thenchangeed step 760, and data send then changes step 770;
Step 760 receives data and matched and searched chained list to confirm that data are effective;
Step 761 joins data in the reception formation;
Step 762 is carried out receiving and counting to receiving data;
Step 763 detects data and whether has selected the automatic loopback of data (identifying automatic loopback by data being provided with automatic loopback sign), if selected the automatic loopback of data, then changesstep 764, otherwise changesstep 766;
Step 764 is carried out data transaction, is converted to transmission data structure entity receiving the data structure entity, changes step 770 then;
Step 766 detects whether selected the data in real time storage, if selected the data in real time storage, then changesstep 767, otherwise changesstep 781;
Step 767 is carried out the real-time files write operation and is handled, and finishes;
Step 770 enters the transmission data flow;
Step 771 joins data to be sent in the transmit queue;
Step 772 sends statistics to data to be sent;
Step 773, judgment data send whether success, and be successful then changestep 781, otherwise commentaries on classics step 780;
Step 780 will be notified or call log interface and carry out log record;
Step 781, finish to show test results at the notice interface.
The tester also can select a file as data to be sent by operation interface in the above-mentionedsteps 770, so just, realize the content of the batch transmission of data by reading in text corresponding to the read-write submodule 41 of aforementionedresult logging modle 40 without the hand input-data (not shown).
This shows that the present invention only need do simple configuration and operation, just can while emulation TCPv6 and UDPv6 server and client.Ordinary PC inserts the IPv6 network by the FE interface type and promptly can be used as testing equipment, does not need to add additional hardware.
The present invention relates to the Apparatus and method for of a kind of TCPv6 of optimization and/or UDPv6 dependence test, this equipment can be finished the emulation of TCPv6 and UDPv6 server and client, provides batch operation, file read-write and changeable flow ground data to send.Use testing equipment of the present invention and method, can carry out the server of TCPv6 and UDPv6 and the emulation testing of client quickly and in batch simultaneously,, test job is oversimplified, and improved testing efficiency for the test of TCPv6 and UDPv6 provides solution.
Though the disclosed execution mode of the present invention as above, the execution mode that described content just adopts for the ease of understanding the present invention is not in order to limit the present invention.Technical staff in any the technical field of the invention; under the prerequisite that does not break away from the disclosed spirit and scope of the present invention; can do any modification and variation what implement in form and on the details; but scope of patent protection of the present invention still must be as the criterion with the scope that appending claims was defined.