the following sets forth a detailed description of the best modes contemplated for carrying out the invention . the description is intended to be illustrative of the invention and should not be taken to be limiting . the basic concepts of this invention include assigning a unique identifier to each product to be put in the distribution chain and market , and establishing a third - party system for merchants and consumers to verify the authenticity of the product they are going to take possession of . fig1 shows a preferred embodiment of a system and method for generating codes to be used in this invention . in this embodiment , the system is able to generate and store product identification ( pid ) codes . the pid codes are assigned to products . the pid code for each product may be unique . once a pid code is applied to a product , the system activates the code . the pid code generation system fig1 comprises 4 major components , namely a unique pid code generator 103 , a machine - readable code generator 105 a , a code printer / maker 105 b and a pd code database 113 . the pd code database 113 comprises four relational databases , namely a serial number database 109 , a hidden pid code database 110 , an open pid code database 111 and a machine - readable code database 112 . it is should be noted that , the serial number database 109 , hidden pid code database 110 , open pid code database 111 and machine - readable code database 112 may be four separate databases within the pid code database 113 , or four tables within one database of the pid code database 113 . fig2 a shows the structure of a unique pid code . a unique pid code comprises two parts : ( 1 ) an open part 104 a and ( 2 ) a hidden part 104 b . in this specific embodiment , both parts are composed of 4 to 20 or more alphanumeric or numeric code and unique in nature . other lengths for the two parts are conceivable . the relationship between the open part 104 a and hidden part ( s ) 104 b may be a one - to - one relationship in order to make such a pid code pair 104 a / b unique , and it does not matter whether they are combined or separated . other relationships for the two parts are also conceivable as long as the combination of the two parts form a unique pid code . alternatively , the pid code pair 104 a / b may also appear as a single pid code without being broken into two parts . hereinafter , numerals “ 104 a / b ” are used to designate a “ pd code pair ” or a “ pid code .” fig1 also shows an exemplary method of generating , storing and printing a series of unique pid codes 104 a / b . a unique pid code 104 a / b may be generated by inputting a serial number 101 and one or more code generator parameters 102 into the unique pid code generator 103 . the unique pid code generator 103 may comprise an algorithm that , according to the input parameters 102 , converts a serial number 101 into a unique alphanumeric or numeric code , pid code 104 a / b . there are known mathematical algorithms that may be used in this step to generate a unique pid code from a serial number and other parameters . this process may be repeated to produce a set of unique pid codes from a set of serial numbers . alternatively , a set of serial numbers may be processed in a batch to produce a set of unique pid codes . the generated pid codes may appear randomly arranged . as a result , for any unique pid code 104 a / b there exists a corresponding unique serial number 101 , establishing a one - to - one relationship . any alteration of the code generation parameters 102 may change the resultant pid code 104 a / b , even if the serial number 101 remains unchanged . in an embodiment in which a pid code consists of a hidden part and an open part , such a serial number 101 — pid code 104 a / b relationship may be recorded in a relational database , the serial number database 109 , hidden pid code database 110 and open pid code database 111 . alternatively , if pid codes are not broken down , there might be one pid code database for them . the generated pid code 104 a / b may also be input into a machine - readable code converter 105 a and then converted into a machine - readable code . the formation of the machine - readable code may be determined by one or more machine - readable conversion parameters 108 . the machine - readable code may be in the form of a 1 - dimension ( 1 - d ) barcode or 2 - dimension ( 2 - d ) barcode , or an rfid tag that may be read by a suitable reader or scanner . rfid technology is well known in the art and its detailed description is omitted here . the generated machine - readable codes and parameters 108 may be recorded in a machine - readable code database 112 . understandably , since the machine - readable code may be generated from the unique pid code , the machine - readable code database 112 may be associated with databases 110 and 111 . then a code printer or maker 105 b may be used to print the machine - readable code or pid code 104 a / b onto a pid code label 106 a / b as step 106 indicates . alternatively , both the machine - readable code and pid code 104 a / b , in alphanumeric or numeric form , may be marked directly on the product or object to be identified , so that the product or object becomes the carrier of such unique pid code 104 a / b . the marked pid code or pid label 106 a / b turns out to be the only identification of the product or object to be identified . fig2 b shows the formation of a pid code label 106 a / b . the function of a pid code label 106 a / b or pid code marking is to provide identifiable information for anyone who would like to verify the authenticity of the object or product . as discussed below with respect to an embodiment , this verification may be done by accessing a third - party authentication database . the pid code 104 a / b may be openly marked or printed on the product or object to be identified . alternatively , the open pd code 104 a may be openly printed on the pid code label 106 a / b while the hidden part of the pid code 104 b may be printed onto the label 106 a / b but concealed . concealing the hidden part pid code 104 b or not is at the discretion of the manufacturer of the product in view of his operational or business considerations . the pid code label or carrier may have the following characteristics for tamper - proofing and identification purposes . as fig2 b indicates , the pid code 104 a / b may be printed or marked on a product in machine readable code , or alphanumeric or numeric code , or other formats known in the art . the object of a machine readable pid code 104 c and 104 d is to provide a convenient and efficient way for anyone who is equipped with a corresponding reader or scanner to easily input the code and verify the authenticity of the product . the machine readable code 104 c and 104 d may be in 1 - d barcode or 2 - d barcode form . the object of an alphanumeric or numeric pid code 104 a and 104 b is to provide an accessible means for anyone who does not have a corresponding machine - readable code scanner or reader to still be able to verify the authenticity of a product or object by inputting the pid code in such form . as fig2 b indicates , a pid code 104 b may be hidden on the pid code label 106 a / b . the object of the hidden pid code 104 b is to provide a tamper - proof protection for the object or product to be identified . such a design makes sure that the pid code 104 b may be verified only once . once the pid code 104 b is opened , it may alert a person ( e . g ., a potential customer ) that the pid code 104 b has been exposed previously . the alerted customer , thus , has reason to suspect the integrity of the label , and that the product , may have been tampered with . in the illustrated embodiment , the pid code 104 b is hidden by a scratch - able coating 202 , a tear - able layer 203 and a printing inside product packaging . as fig2 b illustrates , in the scenario of type 1 , the hidden pid code , both in the machine - readable code form 104 d and numeric form 104 b , may be covered by a scratch - able coating 202 . once the coating 202 is irreversibly scratched away , the pid code 104 b may be exposed . in the scenario of type 2 , the hidden pid code , in both the machine - readable code form 104 d and numeric form 104 b , may be covered by a tear - away layer 203 . once the layer 203 is irreversibly unsealed , the pid code 104 b may be exposed . under conditions where a pid label 106 a / b is not applicable , the hidden pid code 104 b may be marked or printed directly inside the packaging of a product or object . once the product packaging is opened , the pid code 104 b may be revealed and then verified . as fig2 b illustrates , an open pid code 104 a may be printed on the pid code label 106 a / b . the objective of the open pid code 104 a is to enable the pd code activation process to be discussed below . the open pid code 104 a may be mainly presented in the machine - readable code form 104 c , for the sake of efficient input during the activation process . as discussed above , in some embodiments , the pid code is not separated into an open code and a hidden code . the whole pid code may be open or hidden . apart from the pid code 104 a / b printed on the pid label 106 a / b , other anti - counterfeit print or forensic markings may also be applied to the label 106 a / b in order to enhance the effectiveness of anti - counterfeiting methods . in order to provide more information in the pid label 106 a / b , a radio frequency identification ( rfid ) tag may also be attached on the back of the label 106 a / b . the rfid tag may store information of the hidden pid code 104 b as well as other product information in order to enhance the data inputting and verification efficiency through an rf reader , meanwhile providing a conventional means for anyone who does not have a specific rf reader to read relevant information to verify the product identification by inputting the pid code 104 a / b printed on the label 106 a / b . fig3 shows a pid code activation system and method . the object of the activation process is to construct information for each pid code 104 a / b generated , so that when such a pid code 104 a / b is verified later by a consumer or merchant , the information of the verified pid code 104 a / b may be revealed during the verification process . before the activation process the pid code label 106 a / b or the pid code 104 a / b is meaningless . this arrangement is to provide operation flexibility for brand owners to decide which kinds of their products require the anti - counterfeiting protection of this invention . as fig3 shows , the pid code activation system comprises three major parts , a pid code activation application module 301 , a verification information database 313 , and a pid code database 113 . the pid code activation application module 301 may be installed on a computer and may have a data connection to the verification information database 313 and pd code database 113 . such a data connection may be in any form known in the art , including but not limit to a local area network ( lan ), wide area network ( wan ) or internet connection so that the databases 313 and 113 may be located locally together with or remotely away from the application module 301 . the data may be transmitted in any applicable format and protocol known in the art . the function of the application module 301 is to provide interfaces for brand owners to input all related information and to connect and update the databases 313 and 113 . the related information includes open pd code information 304 , product owner information 304 , product information 306 , and manufacturing information 307 . all the information may be recorded , through a data connection or network , into the verification information database 313 and pd code database 113 . the verification information database 313 comprises ( a ) a product identity information database 308 that contains all product information 306 , ownership information 305 and manufacturing information 307 , ( b ) a verification information text converter 309 that converts the registered data into appropriate presentation text format for being displayed in the form of sms and online verification text display , ( c ) a verification result text file database 311 that records all text files generated by the verification text converter 309 , ( d ) a text - to - speech ( tts ) converter 310 that converts the generated verification result text files into verification result voice files , and ( e ) a verification result voice file database 312 that contains all voice files generated by the tts converter 310 . the pid code database 113 may be updated by the application module 301 and may create a relational link to the verification information database 313 . even after a pid code is generated , it does not represent any meaning or identity . through the pid code activation process , the product / brand owner may give meaning to the pid code that may be directly applied to an object or product , as well as a pid code label . the owner may decide to assign a certain set of generated pid codes to a type / line of product or object to be identified . then the owner may open the pid code activation application module 301 and select open codes of the set of pid codes which may be applied to pid code labels . alternatively , the pid codes may be marked directly on the product or object . once a specific pid code 104 a / b is selected , the owner may then input : ( a ) product owner information 305 , indicating the original ownership status of the product to be identified , ( b ) product information 306 that may be the information printed on the product packaging , including but not limit to , product name and product description or any information that may be found on the packaging of the product to be identified , and ( c ) manufacturing information 307 , including but not limited to , serial number , manufacturing / expiration date , or license number , etc . ( this information may be printed at the moment of production on the product packaging accordingly ). after the above mentioned information is input , the application module 301 may connect and update the assigned open pid code 104 a or full pid code 104 a / b to the pid code database 113 that may be linked with the verification information database 313 . meanwhile , the input product owner information 305 , product information 306 , and manufacturing information 307 may also be updated to the product identity information database 308 . the updated product identity information may then be converted into an appropriate presentation format for being displayed during the verification process by the verification text converter 309 . those converted text files may then be stored in the verification text file database 311 . once the activated pd code is verified , the system may retrieve corresponding verification result texts from the database 311 and the retrieved text files may be displayed in the form of sms or online verification text display . optionally , the converted texts may also be sent to the tts converter 310 that may convert the text files into sound files , in any available sound file formats . such generated sound files may be stored in the verification voice message database 312 . again , if the activated pid code 104 b is verified through telephone , the associated voice / sound file verification message may be played . when a pid code is activated , a pid code label may be applied to the product to be identified as step 302 indicates . then any product or object bearing such a pid code label may be regarded as having an identification mark . if the pid code is directly marked on the object or product to be identified , steps 302 and 303 are not applicable . this is because once the pid code is activated , the product and object of such pid code marking may be automatically regarded as having an identification record . in order to make the system difficult to crack , an inside code may be input along with the manufacturing information 307 . this inside code may be unique or the same for the whole lot of products and in alphanumeric or numeric form . the inside code is like the rest of the manufacturing information 307 , for example the lot number , that may be printed on the product packaging , right at the moment of production . yet the major difference is that this inside code may be printed inside the product packaging . it may be found only when a consumer buys the product and opens the product packaging . when the consumer verifies the identity of the product , the verification feedback may also present this inside code for further assurance of the product authenticity . a batch id code is applicable to a collection of individual products that are packed in a case or box . understandably , the meaning of “ individual ” or “ batch ” could be recursive . for example , in some cases , a box of multiple products may be regarded as an “ individual ” product , and a bigger case containing multiple boxes may be regarded as a batch . a basic requirement for batch id codes is that they should be unique . they may be generated randomly or simply as serial numbers . the object of batch id code formation is to create a relational link between the pid code and batch id code . this pid code - batch id code link enables authorized distributors and retailers to verify , on a batch scale , products bearing activated pid codes , while consumers are likely to verify only individual products . a batch id code represents all individual unique pid codes within a package . once the batch id code is verified , it implies that all pid codes are also verified and this may be kept in the verification record . such a batch scale verification process empowers distributors and retailers to protect their own interest by verifying the authenticity of the whole batch of products during a receiving process . meanwhile , the batch scale verification action may prevent counterfeit and undesirable items from infiltrating the authorized distribution chain . described below are the batch id code structure , batch id label , and systems and methods that enable the batch scale verification . fig4 shows the batch id code formation and structure . the whole id code hierarchy 403 comprises at least three sections of unique codes , a carton code 402 , a box code 401 , and a pid code 104 a / b . they are unique in the form of individual existing , thus , making the id code hierarchy 403 is unique for any individual product . in one embodiment there are two layers of packaging , but as can be perceived readily , the number of the sections may be determined by the number of layers of packaging as necessary . further , in this embodiment , both the carton code 402 and the box code 401 may be batch id codes . more generally speaking , for the embodiment in fig4 , any of the carton code 402 , the box code 401 , or the concatenation of the two may be called a “ batch id code ” depending on specific circumstances . such uniqueness of each section composes a code family tree , as depicted in fig4 , so that for any unique carton code 402 , there are n unique box codes 401 , from 1 to n . this represents that beneath carton code 1 , there are n boxes of packaging with box code 1 to box code “ n ”. by the same token , beneath box code “ n ”, there are k products of pid codes from 1 to k . therefore , once an authorized distributor verifies carton code 1 , all box codes 1 to n and all pid codes falling into such a family tree are verified collectively . this is the same for box code “ n ”; once it is verified by an authorized retailer , all pid codes 1 to k are also verified . fig5 shows the formation of two exemplary batch id code labels 501 . each individual section of the batch id code 403 may be printed at respective location . for example , the carton code 402 section may be printed on a carton code label 501 that may be applied to a carton box , and the box code 401 section may be printed on a box code label 501 that may be applied to a box packaging packed within a carton box . each batch id code ( e . g ., the carton code 402 and box code 401 ) may be printed in two formats , ( 1 ) machine - readable code ( 2 - d barcode 502 or 1 - d barcode 503 ) onto the batch id label ( e . g ., carton code or box code label ) under any applicable coding standard that may be convenient to the brand owner or proliferation , and ( 2 ) alphanumeric or numeric format of code 401 / 402 . alternatively or additionally , for the sake of operation efficiency , an rfid tag in which the batch id code 403 may be stored may be attached to the batch id label 501 . fig6 shows a batch id code generation and label printing system . the system comprises a code input device 602 , a machine - readable code scanner 603 , code input processing units 602 and 606 , code generators 604 and 607 , label printers 605 and 608 , a packing layer setting interface 601 and a relational database 611 . the relational database 611 may be composed of an open pid code database 111 , a box code database 609 and a carton code database 610 . all the units and modules may be installed on one computer or installed in different computers which may be connected by some kind of communication links such as lan , wan , internet or wireless networks . fig6 also displays how a box code 401 and box code label 501 may be generated as well as how a carton code 402 and carton code label 501 may be generated . first the user determines how many products will be packed into a box and how many boxes will be packed into a carton , as well as how many layers of packing are involved . once these parameters are set , such data may be sent to the code input and processing units ( 602 and 606 ). according to the number of products that are to be packed into a box , the code processing unit 602 inputs a corresponding number of pid codes 104 , in machine readable form on pid code labels 106 while passing through the machine - readable code scanner 603 . the code processing unit 602 counts the number of pid codes 104 a up to the pre - set quantity . once the number of pid codes 104 reaches that quantity , the code generator 604 generates a unique corresponding box code 401 . the newly generated box code 401 , along with the input pid codes 104 may be stored into the relational database 611 . those input pid codes 104 may be registered inside an open pid code database 111 and the corresponding box code 401 in a box code database 609 . meanwhile , the label printer 605 may convert the newly generated box code 401 into the machine readable format 502 / 503 and print the box code 401 in alphanumeric or numeric format and machine readable code format 502 / 503 on a box code label 501 . the box code label 501 may then be applied to the box that may be packed with all those products with the pid code labels 106 a / b scanned before . the box code label 501 sticking process may be done manually or mechanically . by the same method , during the carton box packing process , the code input processing unit 606 may register box codes 401 scanned through a machine readable code scanner 603 , and the preset quantity of the boxes may be packed into a carton box . when the input quantity of the box codes 401 reaches the preset level , a unique carton code 402 may be generated by a code generation unit 607 . those input box codes 401 may be registered into the box code database 609 and the corresponding carton code 402 may be registered into the carton code database 610 . meanwhile , the carton code 402 generated may be converted into the machine readable format 502 / 503 by the label printer 608 that will print the carton code 402 in both machine readable format 502 and alphanumeric or numeric format 503 onto a carton code label 501 . the carton label 501 may be attached to the carton box packed with boxes scanned before . fig7 shows the process of distributor and retailer authorization . the object of this process is to assure that only authorized parties have the right to verify and register the ownership to a batch of product which bears a batch id code label . therefore , the product / brand owner may first verify the legitimacy of the distributor and retailer who would like to verify the batch and to claim ownership of the batch . for any distributor or retailer who would like to verify and claim ownership of a product batch bearing a batch id label 501 , he / she should apply for an identity ( id ) code and password first . the application process , as step 701 in fig7 shows , may be done by submitting information via the internet in digital form , or in a paper document form through fax or mailing . distributors and retailers may be required to submit their company information and business license for the brand / product owner to verify . after receiving the application information mentioned in step 701 , the brand / product owner may verify the information submitted to make sure that the legal and business status of the applicants is valid , as process 702 indicated . this process may be done using many different approaches , for example , by cooperation with relevant governmental offices . then , if the legal and business status of the applicant is confirmed , at decision block 703 , the applicant &# 39 ; s company information may be updated to the authorized distributor and retailer record 704 . meanwhile , the brand / product owner may decide in which layer of a distribution hierarchy this distributor or retailer will be ( fig1 ). otherwise , if the business and legal status of the business are in question , the brand owner may reject the application and notify the applicant . once a distributor or retailer &# 39 ; s business and legal status is validated at the decision process 703 , the brand / product owner may assign an id code and password to the accepted distributor or retailer at step 705 . the id code and password may be in any alphanumeric or numeric form . at step 707 , the assigned id and password are registered into the login id and password database 706 . at step 708 , then brand / product owner may notify the applicant that his application is accepted and sends the applicant the assigned login id and password , through the internet in digital form or through fax or mail in document form , among other methods . after finishing the distributor authorization process , the brand / product owner then may keep the record of each batch that bears a batch id code label belonging to which authorized distributor . fig8 shows the system and method to keep the distribution record of batch id codes . the objective of such batch id distribution recordkeeping is to record to which distributor or retailer a batch is distributed so as to trace the origin of each batch id code to prevent counterfeits from entering the distribution chain . this process may provide help for counterfeiting investigative work . fig8 shows the ex - factory distribution recording system . the system may be composed of distribution registration application software 801 and a relational database . the application 801 comprises three major interfaces , namely a batch id code input 802 that may be connected to a machine readable code scanner 603 , a delivery record input 803 and a distribution record 804 for users to input and review data . the relational database may be composed of three databases , a pid and batch id code database 611 , an authorized distributor and retailer database 704 and a distribution record database 805 . the link between the application 801 and the databases 611 , 704 and 805 may be through any network known in the art , including but not limit to , internet , lan or wan ; or even local data linkage . this means that the application 801 and the relational databases 611 , 704 and 805 may be located on one computer or on different computers situated in different remote geographical locations . in order to make the batch id codes traceable , the brand / product owner may utilize the machine readable scanner 603 to scan the batch id code printed on the batch id code label applied to the batch to be delivered as a code input . alternatively , the batch id code input process may be done manually . then through the delivery record input module 803 , the destination of delivery , including but not limited to , the distributor information , may be input . such input data may be registered into the relational databases 611 and 704 . from the data , a distribution record may be stored in the distribution record database 805 . through the distribution record module 804 , the brand / product owner may review and print out the distribution record . fig9 a shows the structural and functional modules of the verification system and channels . the object of the verification system is to provide various telecommunication channels for any allowed party to access relevant databases to verify pid codes and batch id codes . meanwhile , also through that telecommunication channels , the verification result may be returned to the allowed party . optionally , at the backend , different functional modules that are connected to the databases may perform data manipulation and system administration functions . the verification system , as fig9 a depicts , comprises the following major components , a backend functional and system administration module 901 , a relational verification database 903 , a call center 905 , and web servers 906 . they may be linked together by data connection buses 902 and 904 . the backend function and system administration module 901 may be responsible for , including but not limited to , code generation , client management , system administration and most of the mentioned functions that are related to inputting , updating , reporting and managing the data stored into the relational databases 903 . the relational database 903 comprises various databases recording pid codes , batch id codes , distributors and retailers &# 39 ; information , batch distribution records and so on for verification . the function of the call center module 905 is to facilitate access to verification relational database 903 using conventional telecommunication networks , voice and / or data , to perform verification functions . the call center module comprises ( a ) a conventional call center module 905 , including an interactive voice response system 918 , a test - to - speech module 917 and a telecom gateway to handle all incoming and outgoing calls from / to a public switch transmission network ( pstn ) 907 , plus a voice over internet protocol ( voip ) gateway and a server 916 that handles telecommunication by ip phones through the internet connection 908 . also , the call center module may include a short - message - signal ( sms ) server 915 that handles sms communication through the internet 908 . apart from the call center module , the web server module 906 may handle verification communication and data updating and exchange through the internet connection 908 . for the sake of flexibility and scalability , data interaction and communication between the relational database module 903 and the call center 905 / web server 906 may be in form of tcp / ip protocol and extensive markup language xml , so that it may not be necessary to put the modules together in one physical location . the above mentioned verification system structure facilitates the handling of verification through various available communication channels , including the internet , pstn , telephones and mobile phones , sms and proprietary - design verification terminals , among others . through the internet connection 908 , a computer 913 and a client server 914 may be connected to the web server module 906 and then the relational database 903 to verify pid codes and batch id codes . an ip phone 912 may be used with the internet connection 908 to access the voip server / gateway 916 and then relational database 903 for verification . through a pstn 907 , a telephone 909 and mobile phone 910 may access the call center module 905 and initiate an interactive voice verification process . through the internet connection 908 , mobile phone sms may also be used to verify a pid code and batch id code , through accessing the sms server 915 and then the relational database 903 . as discussed above , systems of the present invention allow distributors , retailers and consumers to use internet , telephone , sms and other possible channels to verify if a product is genuine or a fake . generally speaking , systems of this invention , allow a user to determine if an item is counterfeit or genuine utilizing an identifier ( pid code for example ) applied to the item . an access channel must exist which allows the user to connect to the system and apply the methods of this invention to determine if a product is genuine or a fake . in connection with fig9 a , examples of access channels include dialing a specific telephone number ; accessing a specific internet url , sending a sms message to a specific destination or any other procedure known in the art that allows a user to connect to a system utilized for anti - counterfeit protection . to make the system of this invention more robust , information of the channels may be communicated to the user utilizing public media or other processes that are separate from the products to be identified or any label , packaging or device containing or carrying the codes of this invention , thus preventing the counterfeiting of the access channel itself . if the access channel for connecting to an anti - counterfeit system of this invention is communicated to a user of that system only on the items to be identified , then that system may be exposed to being counterfeited itself because a counterfeiter may produce a fake label that includes an id code and a fake access channel that will connect the user to a counterfeit system which will then provide the user with misinformation which falsely indicates that the item is genuine when in fact it is fake . by utilizing the method described in this invention for preventing the counterfeiting of an access channel used to connect to an anti - counterfeiting system , a user cannot be tricked into accessing or connecting to a fake anti - counterfeit system because the user is informed of the only valid access channel ( s ) via media or processes separate from the label , packaging , device or item containing the id code . an operator of an anti - counterfeit system of this invention may publicly declare a number of access channels and may also publicly declare that said access channels are the only means of connecting to the system for anti - counterfeit verification within a stated region . non - exclusive examples of such a region include mainland china , new york city , worldwide , xyz brand in hong kong . such public declarations not only make known to users of the system of this invention the only true access channels for connecting to the system , hence preventing said users from being tricked into connecting to a fake system through a misleading access channel , but also make known publicly to government and law enforcement officials the operator of the genuine access channels . the public declarations must be made through a credible means , such as , but not limited to , television , magazine , or newspaper advertising , government endorsement within a jurisdiction , or any other means which allows authorities and the public to know the individual or organization declaring the access channels . those who would attempt to connect users to a fake anti - counterfeit system are highly unlikely to publicize their actions because the individual or organization that is publicly declaring the access channel so that it is well known to the public and government and law enforcement officials . fig9 b shows the operation process of a double authentication through accessing a verification system and databases according to this invention . the objective of the process is to enable the receiving or buying party of a product or object , in batch scale or in single unit packaging , to verify ( 1 ) the authenticity of the product or object and ( 2 ) the authenticity of the supplying source , during a transaction involving said product or object between the two parties . the advantage of the process is the enhanced credibility arising out of the double authentication and the independent and trustworthy third party for the authentic verification . double authentication means that the receiving or buying party to a transaction may verify both the identity / authenticity of a product involved in the transaction and the identity / authenticity of supplying party . the information resulting from the double authentication may also be very useful for tracing the distribution of the product . this may help prevent the protected product or object from undergoing unauthorized copying and dissemination . optionally , through the third independent party ( e . g ., the operator of the anti - counterfeit system ), the supplying or selling party may provide trustworthy evidence to the buyer or receiving party that the product is genuine and he / she is the authentic owner of the product or object supplied . meanwhile , the receiving or buying party may also be ensured from a trustworthy source , apart from the sending or selling party , that the product bought is genuine and is from an authentic supplying source , rather than only relying on trust in the selling party or judging based on the product / object &# 39 ; s appearance or packaging . in the foregoing there has been described a unique identifier of a unit product , such as , a pid code 104 a / b or identifier of a batch of product , such as , a batch id code 401 / 402 , that may facilitate verification and identification of a product or an object . there has also been described a batch id code family tree / hierarchy to link the relationship between different products with respective pid codes within a batch packaging and a unique batch id code for that batch , so that checking the batch id code is equivalent to checking all pid codes 104 a / b within that batch . there have also been described authentic access channels to assure the receiving party that he / she is accessing an authentic anti - counterfeit system . there has also been described a verification system as shown in fig9 a , which may be accessed by the publicized access channels and comprises various databases containing relevant anti - counterfeit information and applications that facilitate the verification . on top of these facilities , double authentication may be executed through accessing a third party &# 39 ; s system and database , as fig9 b depicts . as a unit of product / object or a batch of products / objects flow from brand / product owner 920 to party a 921 and then from party a 921 to party b 922 , the double authentication process may be executed between party a and the verification system 905 / 906 and database 903 , and between party b 922 and the verification system 905 / 906 and database 903 . the brand / product owner 920 , party a 921 and b 922 may be a business entity or an individual . the double authentication process may be divided into two stages ( a ) from product / brand owner 920 to party a 921 and ( b ) from party a 921 to party b 922 . before the product / object or batch of products / objects flows from the owner 920 to party a 921 , the owner 920 registers the product information and corresponding pid code or batch id code with the verification system 905 / 906 and thus database 903 , allowing any approved parties , which may be an individual or business entity , to be eligible to access and verify the product / object with the identifier . when party a 921 receives the product / object or batch of objects bearing an identifier from the owner 920 , party a 921 may verify the authenticity of the product / object received by the following steps : ( i ) party a 921 accesses and submits the identifier of the product / object to be verified to the verification system 905 / 906 and database 903 . ( ii ) after the system 905 / 906 and database 903 verifies the authenticity of party a 921 and the input identifier , the system 905 / 906 sends feedback with ( a ) the product information and ( b ) the ownership information of the product / object . party a 921 may then compare the feedback information from the system 905 / 906 with the physical product / object and also check the ownership information with his knowledge of the owner 920 . if both pieces of information match , it may be inferred that the product is genuine and is from an authentic supplying source . ( iii ) then party a 921 effects the transaction with the owner 920 and then may claim ownership of the product / object by activating his / her ownership status to the system 905 / 906 . the system 905 / 906 may register the information in the database 903 , so that when another party later verifies the product / object with the said identifier , he / she may get the same product information plus the fact that the ownership of the product / object belongs to party a 921 . in the second phase , i . e ., from party a to party b as fig9 b depicts , when the product / object with the identifier mentioned above flows from party a 921 to party b 922 , party b 922 may verify the product / object received from party a 921 through accessing the third - party anti - counterfeiting system by undergoing the same steps ( i ), ( ii ) and ( iii ). this process need not be limited to two or three transaction parties . it may be carried on to another party , only when this party fulfils the verification criteria set by product / brand owner 920 . it is to be noted that in the above authentication process , in addition to information mentioned above , the anti - counterfeiting system may send feedback with a straightforward indication as to whether the product is fake or not , e . g ., in the case , for example , where the database 903 does not have a pid code or batch id code the buyer has input . alternatively , the system may only provide searched information and leave the buyer to judge if the product is fake or not . it can also be appreciated that if the buyer is an authorized distributor or retailer , he needs to input his login id and password to activate ownership of the product . if the buyer is an individual consumer and is unlikely to re - sell the product , the activation process may not be necessary . in the embodiments above regarding double authentication , the receiving party may check the information it receives from the verification system with respect to both the product it plans to take in and the selling party . however , according to this invention , other arrangements are also contemplated . as an alternative arrangement , the receiving party may opt to authenticate the product only . in this case , the verification system sends back only information about the product , exclusive of information about the selling party . in the above embodiments , the verification system may provide quite a lot of detailed information of the product and the selling party , and the receiving party makes its own judgment as to whether the product is fake or genuine . as an alternative arrangement , the verification system may provide a direct answer as to whether the product is fake or genuine . for example , if the pid code is in the database of the verification system , the system may confirm that the product is genuine ; otherwise , it may alert that the product may be fake . the object of the batch id code verification system and procedures is to enable any business entity or individual to verify the authenticity of a product on a batch scale instead of verifying a product , unit by unit . this batch scale verification system empowers authorized distributors and retailers to verify the authenticity of the product batch in order to prevent any undesirable items from infiltrating the authorized distribution chain . optionally , the batch id code verification procedure may be executed through the machine readable code scanner input 603 , computer and internet 908 connection , or manually by telephone , sms or even through fax documents , among others . this arrangement enables distributors or retailers to verify the authenticity of the batch , even without a computer and the internet connection 908 . the discussion below explains how the system and procedures of various verification means and channels work . fig1 shows the batch id code verification system 1001 . the system 1001 may be application software that is installed into a computer using an internet connection . the object of the system 1001 is to make the verification process more efficient so that through the system 1001 , users may access the third party verification system 906 and verification database 903 through an internet connection or other possible connections known in the art . the batch id code verification system 1001 comprises four major modules , namely ( 1 ) a batch id code input module 1002 , ( 2 ) a batch id code verification module 1003 , ( 3 ) an ownership activation and exchange module 1004 and ( 4 ) a user login and account management module 1005 . the function of the batch id code input module 1002 is to allow users to input batch id codes by scanning the batch id codes in a machine readable format via a machine readable code scanner 603 connected to the computer . alternatively , the batch id code input process may also be handled manually through the module 1002 . the function of the batch id code verification module 1003 is to facilitate the verification process after the batch id code is inputted . the module 1003 may access the verification web server 906 through the internet and may submit required data to the system 906 and verification database 903 . the module 1003 may also display the verification result feedback from the system 906 / 903 . the function of the ownership activation and exchange module 1004 is to confirm the activation of ownership of the batch verified that is finally proved to be authentic . optionally , the module 1004 may also facilitate the release of ownership of any existing product batch that belongs to the user . finally the function of the user login and account management module 1005 is to provide a user login interface and to change the user information when needed . before the batch id code verification system 1001 can function , the user may be required to activate the software 1001 during installation . the activation process may require the user to input the assigned login id and password provided by the product / brand owner . then the system may connect to the verification system 906 / 903 and may submit the login id and password . once the system 906 / 903 validates the login id and password , it may demand the user to confirm the downloading of an electronic certificate to the installed computer . through this installed electronic certificate , the system 906 / 903 may confirm the user &# 39 ; s computer identity when the user &# 39 ; s computer accesses the verification system 906 / 903 for the verification or ownership exchange procedure later . after the electronic certificate is installed , the batch id code verification system 1001 may start to function . fig1 shows the batch id code verification process . this verification procedure may be performed by those users who have installed the batch id code verification system 1001 , as depicted in fig1 . the batch id code to be verified may be in a machine readable code format . first the application system software 1001 is activated and turned on . the user inputs the batch id code by scanning the batch id code in the machine readable format through a machine readable code scanner , as step 1101 depicts . then , as steps 1102 and 1103 indicate , the batch id code verification system 1001 may send the input batch id code along with the login id , password and electronic certificate installed in the user &# 39 ; s computer to the verification system depicted by fig9 a through the internet 908 . if the login id and password match with the electronic certificate , the verification system depicted in fig9 a verifies the inputted batch id code , and may then send back the verification result to the user as process 1104 indicates . then the user may match the feedback information against the information shown on the product packaging and invoice . if they match , then through the batch id code verification module 1003 , the user may send feedback regarding the matching result to the verification system so that the system updates the match result in the database 903 . thereby , the user may activate the ownership of the batch being verified through the ownership activation and exchange module 1004 , as processes 1106 and 1107 depicts , and then may update the newly claimed ownership information to the verification system as depicted in fig9 a . in case a distributor or retailer does not have a machine readable code scanner , computer , or internet connection , he / she may still verify the batch id code , through conventional telecom channels , telephone , mobile phone , and mobile sms , or he / she may even utilize a paper document to verify a batch id code . fig1 and 13 show the verification process for a batch id code in numeric form through conventional telecom channels , telephone , and mobile phone sms so that an authorized distributor or retailer may verify products on a batch scale as long as he / she can access a telecommunication means . fig1 shows the process of the batch id code verification through pstn telephone and mobile phone communication . at process 1201 , the authorized distributor or retailer first accesses the verification system depicted in fig9 a , through dialing the access hotline telephone number . then according to the voice instructions , he / she may be required to select enterprise verification mode by dialing a preset digit , from 0 to 9 , as process 1202 indicates . after process 1202 , the voice instruction of the verification system may ask him / her to dial in his assigned login id and password at process 1203 . after he / she has punched in the login id and password , the verification system may verify the authenticity of the user at process 1204 . after verifying the authenticity of the user , the verification system may ask the user to punch in the batch id code shown on the batch id code label at process 1205 . according to the input batch id code , the verification system searches its database 903 and sends feedback as to the verification result , and this feedback may include ( a ) product information and ( b ) ownership status of the batch id code at process 1206 . then the authorized user / distributor / retailer may execute a double authentication process as mentioned above at process 1207 . then he / she may send the verification result to the verification system at process 1208 and then activate the ownership of the verified batch id code by following the voice instructions of the verification system . fig1 shows the process of batch id code verification through sms . according to the characteristic of sms communication , the user / distributor / retailer first composes a new sms message comprises three core pieces of information , ( 1 ) the assigned login id , ( 2 ) the password , and ( 3 ) the batch id code to be verified , at process 1301 . then he / she sends the composed sms to the authentication hotline number , as process 1302 indicates . when the system depicted in fig9 a receives the sms , the system first verifies the login id and password , as process 1303 depicts . once the login id and password are confirmed , the system may verify the batch id code against the database 903 and sends back the verification result back to the user / distributor / retailer by sms , as processes 1304 and 1305 depicts . when the user / distributor / retailer may receive the reply sms , he may execute double authentication process as 1306 indicates . if the result matches , he / she may reply using a sms to the system , to confirm the verification result and activate the ownership of the batch id code , as processes 1307 and 1308 indicate . however , if the result does not match , the user / distributor / retailer may send a sms to reflect the contradiction that implies counterfeiting , as processes 1307 and 1309 indicate . the batch id code may also be verified through sending a document to a verification center by fax or mail . the verification center may also have direct data connection with the verification system depicted in fig9 a so that the staff there may verify any incoming verification document . there may be three document forms involved in the batch id code verification process , ( 1 ) a batch verification form , ( 2 ) a verification result form and ( 3 ) a confirmation form , among others . ( fig2 - 28 .) the batch verification form 101 ( fig2 ) comprises columns / spaces for filling in ( a ) the batch sender &# 39 ; s information , ( b ) the batch receiving party &# 39 ; s information , ( c ) the batch receiving party &# 39 ; s login id and password as well as authorized signature , ( d ) the batch id code and quantity information and ( e ) the batch - receiving date and time , as well as verification date and time . the verification result form 202 ( fig2 ) comprises columns / spaces / tables for displaying ( a ) the batch receiving party information , ( b ) batch verification result , including but not limited to , batch id code against product information and current ownership status , ( c ) double authentication confirmation result and ( d ) ownership activation and exchange selection . the confirmation form 303 ( fig2 ) may display information already confirmed , including but not limited to : ( a ) the receiving party information , ( b ) batch id code verified and corresponding product information and ownership status , ( c ) ownership activation / release / exchange confirmation , ( d ) confirmation of verification result and ( e ) confirmation issued date and time . fig1 shows a batch verification process by document transmission . as process 1401 depicts , when a user / distributor / retailer receives a product batch with a batch id code label , he / she may fill in the batch verification form shown in fig2 and send the filled form to a verification center by fax / mail / delivery , as process 1402 indicates . once the verification center staff receives the form , they verify the batch receiving party identity and then the batch id code filed as process 1403 depicts . then the staff prints the verification result on a verification result form as shown in fig2 and sends back the verification result form to the user / distributor / retailer as process 1404 depicts . once the user / distributor / retailer receives the verification result form , he / she may process double authentication as process 1405 depicts . if the information matches with the reality , he / she may fill out the received verification result form to confirm the verification result and activate the ownership , and send the verification result form back to verification center by fax / mail / delivery , as processes 1406 and 1407 depict . then the verification center may send back a confirmation form as shown in fig2 to confirm the ownership activation process to the user / distributor / retailer . in case the verification does not match the reality , the user / distributor / retailer may also fill in the verification result form and send it back to the verification center and the verification center may also confirm the discrepancy in the verification result , as processes 1406 , 1409 and 1410 depict . the objective of the ownership exchange function and process is to enable a party owning a batch of products to trade the product batch of which he / she has activated / claimed the ownership to another authorized party . meanwhile the batch ownership exchange process enables the new receiving party to update the ownership status of the batch . this function enables an authentic product batch to be traded / redistributed among different authorized parties . in order to prevent counterfeiting of the batch id code label and unauthorized “ parallel trading ,” different authorized distributing parties may be assigned to different statuses according to a preset distribution hierarchy . and through assigning those authorized distribution parties to different statuses in the distribution hierarchy and setting different ownership exchange policies , the brand / product owner may restrict unauthorized parallel trading of his / her products among those authorized distributing parties . fig1 shows a distribution hierarchy table . various parties along the distribution chain may be divided into 5 or more distribution layers and hierarchy rankings , as necessary , that depend on the situation and the preference of the brand / product owner . the brand / product owner may categorize and assign each authorized party into a certain hierarchy ranking during the registration phase to facilitate this arrangement . when products are distributed from a higher to a lower hierarchy ranking , for example from layer 2 , 2 nd distributor ( ranking 3 ) to layer 3 , wholesaler ( ranking 2 ), the batch ownership may be activated / claimed during the batch id code verification by the receiving party , wholesaler . if the product distribution is from a lower to a higher hierarchy ranking , such as from layer 2 , 2 nd distributor ( ranking 3 ) to layer 1 , main distributor ( ranking 4 ) or is between the same hierarchy ranking , such as from a first layer 3 , wholesaler ( ranking 2 ) to a second layer 3 , wholesaler ( ranking 2 ), then the sending / selling party of the batch should release the ownership he / she has activated / claimed before sending the batch to the receiving / buying party , so that the receiving / buyer party may activate the ownership . otherwise ownership activation is not allowed and the verification process may be regarded as abnormal . the objective of such an arrangement is to alert to the situation where a batch id code label 501 may be counterfeit . without a release action , ownership to the same batch id code might be activated twice by two different parties within the same hierarchy ranking . then the system may stop the 2 nd party from activating the ownership belonging to another party at the same ranking . optionally , the product / brand owner may assign a region code to each distribution party that fall into such geographical region , so that they may only trade / distribute product with those authorized parties within the same geographical region . this arrangement may limit unauthorized parallel import and cross regional distribution . fig1 shows the batch ownership exchange process . a product batch bearing a batch id code label 501 and a batch id code may be verified and the ownership of the batch may be activated / claimed by party a , who is regarded as the supplying party as it is going to trade the batch to party b who is regarded as receiving party , as process 1601 depicts . before the supplying party delivers the batch to the receiving party , the supplying party should release the formerly claimed ownership of the batch by ( a ) using the owner activation and exchange module 1004 of the application software 1001 installed into a computer with internet connection to update the ownership status or ( b ) sending a verification result form 202 to the verification center by fax / mail / delivery , as process 1602 depicts . once the verification system as shown in fig9 a or the verification center receives the ownership release request , it may verify the received information and then confirm to the supplying party that the ownership is released as process 1603 depicts . when the receiving party receives the batch and verifies the authenticity of the batch through the processes depicted in fig1 , 12 , 13 and 14 , he / she may receive a feedback of the verification result , as process 1604 depicts . then the receiving party may activate the ownership of the batch through the processes depicted in fig1 , 12 , 13 and 14 , as process 1605 depicts . finally the verification system may confirm to the receiving party the claimed ownership as process 1606 depicts . alternatively to the above order , the ownership exchange process may also be executed in the order of 1601 , 1604 , 1602 , 1603 , 1605 , and 1606 . that is to say , the ownership release action and the authenticity verification action may be performed independently from each other . in the forgoing there have been described processes in which a individual consumer may double authenticate a product and the seller and processes in which distributors / retailers exchange products , release ownership and register ownership . it is to be noted that according to this invention , individual consumers may also register ownership of products and exchange products . as may be seen from the foregoing , the core principle of the whole verification system is to empower each party along the distribution chain , from product / brand owner , to distributor , to retailer and to consumer to perform double authentication for the product to be received / bought . as the product flows along the distribution chain , each party , either a distributor or a retailer , may verify and activate the ownership of the batch . such product batch scale verification and ownership activation recordkeeping may have a direct impact on consumers &# 39 ; experience toward the verification of individual unit packed inside the batch . consumer verification of the pid code of a unit product is the bottom line against counterfeit . through this system a consumer may verify the product identity and authenticity at the retail sales point and , may optionally register ownership of the product . fig1 shows the principle of pid double authentication through accessing a third party database system . the pid double authentication may be between a selling party or seller in its general meaning ( including distributors , wholesalers , retailers and consumers ) and a buying party or buyer 1702 in its general meaning ( including distributors , wholesalers , retailers and consumers ). the pid double authentication allows the buying party to access the verification system 905 / 906 and database 903 through an authentic access channel , inputting the pid code attached to the product to verify ( 1 ) the product identity and ( 2 ) the current ownership of the product . by comparing the feedback information with that printed on the product or with the physical characteristics of the product and with the seller &# 39 ; s identity , the consumer knows that the product is authentic and from an authentic seller if the selling party 1701 has normally verified and activated the ownership of the product . steps 1801 - 1805 in fig1 describe this process . in the case where the product / object being verified is genuine , the system may offer two options for the buyer to select . option 1 is to send the verification result to the verification system without registering the ownership of the product / object as process 1806 depicts . option 2 is to feed the verification result back to the verification system and also register the ownership of the product / object as processes 1806 and 1807 depict . both options lead to the process that the verification system registers the final feedback result as process 1808 depicts . the system may also enable a buyer to register the ownership of the product / object bought right at the point of sale or after he / she buys the product through the internet or whatever way to register the ownership , so that anyone may verify that the object / product registered belongs to such a registered buyer . the ownership registration process may be done right at the point of purchase . a salesperson may handle the registration process for the customer after the customer purchased the product . the salesperson may input ( 1 ) the pid code of the product , ( 2 ) the customer &# 39 ; s identity information and ( 3 ) the identification of the point of purchase to the computer system of the point of sales and then , through internet access , to the main verification system 905 / 906 . the verification system 905 / 906 may then verify ( 1 ) the authenticity of the point of purchase and ( 2 ) the availability and authenticity of the pid code and ( 3 ) whether the pid code belongs to that point of purchase . if all the verifications are successful , the verification system may update the customer ownership status in the database . then the verification may generate a one - time - use identification code ( id ) and password to the computer system at the point of purchase . then the sales person may hand the id and password to the customer . the customer may change the product ownership status once by this given id and password . since normally an individual customer may not have a specialized software application , like the batch id code verification system 1001 shown in fig1 , installed in his / her computer , he / she may also register ownership of a product he just bought through the internet or by telephone , among others . the ownership registration process may be done by the customer himself / herself , if he / she buys the product online or by physical exchange . once he / she purchases the product online , the online store may release a one - time - use id and password to the buyer along with the product delivery . he / she may register the ownership status by accessing the verification system 905 / 6 through an authentic access channel through internet or telephone . when accessing the verification system 905 / 6 , he / she may be required by the system 905 / 6 to input the id and password , along with the pid code for ownership registration , provided that the ownership status of the product is vacant . having verified and confirmed the pid code , the id , and password for customer , the verification system may require the owner to input his identity information and select the way to receive a new one - time - use id and a new password , whether by e - mail or sms . then he / she may receive the new one - time - use password and id later . meanwhile , the id and password he / she has just used to initiate such ownership registration process expire and may not be used any more . the new id and password may be used to release and exchange the ownership . finally , the system may confirm the completion of the registration process and may update the customer owner status of the database 903 . once the product ownership is registered , anyone who accesses the authentic access channel and inputs the pid code may receive feedback regarding ( a ) the product information , i . e ., brand name , model number , serial number or any significant description or unique characteristic of the product , ( b ) from which retail shop or point of purchase , i . e ., name and location of the shop , the product was purchased and ( c ) the ownership identity , i . e ., the name of the owner . then the owner of the product may prove to others that ( 1 ) the product is genuine ( as product information matches with the product reality ), ( 2 ) the product is from a legitimate or authentic retail store , and ( 3 ) the product is legitimately in his / her possession . such a registered ownership may be exchanged when two individual customers wish to do so for a certain reason . such ownership exchange process may be done ( 1 ) at an authentic point of purchase or ( 2 ) through the internet or by accessing an authentic access channel by phone , among others . the new owner may bring along ( 1 ) the product itself with the pid code attached or / and any proof of product ownership , i . e ., a product certificate that records all the necessary product information and ( 2 ) the new one - time - use id and password the seller possessed by registering the product , and request the salesperson to update the new ownership status of the product . the process may be the same as depicted above . then the product ownership may be updated and such new owner may receive another one - time - use password and id for further change in ownership status . such ownership exchange process may also be done online or through telephone by accessing an authentic access channel . the former owner may offer the product along with his / her one - time - use id and password to the new owner during the transaction . the buyer may verify the product and ownership authenticity through accessing an authentic access channel . after confirming the authenticity of the product , the new owner may update the ownership status . as discussed above , telephones may be used in this invention for authentication purpose . for ordinary users , the system appears to be a traditional query system . the interactive voice response services ( ivrs ) technology has been used in a lot of query systems by pstn telephones . such systems need expensive interactive voice cards and entail expensive phone bills . in some cases , to reduce the cost , only one voice card is used , and consequently , the capacity of the system is very limited . fig1 shows a prior - art telephone query system . at the core of the system is a voice card 1907 . a voice card cannot generate sound freely , but only replay pre - recorded , limited speeches . because of the limit of the capacity of a voice card ( 16 lines at a maximum for most voice cards commercially available ), if there are 200 incoming queries , more than ten voice cards would be needed and multiple computers would be needed to make the system function . the capacity is limited , the cost is high , and the maintenance is difficult . as an alternative , voice over ip ( voip ) phones may be used in place of pstn telephones . fig2 shows a process in which voip phones are used in a query system . an ip phone receives a voice signal 2001 . the voice signal may be compressed into digital data 2002 , and then encapsulated into tcp / ip packets 2003 for transmission over the internet 1904 to a server . the server receives , opens , and de - encapsulates the packets 2004 . the resultant digital data may be converted to a voice signal 2005 . the voice signal may be passed to an ivrs voice card 2006 for conversion into digital data 2007 . then the data may be passed to a query database to perform the query . the response may be passed back to the ivrs card for voice synthesis , then for compression into digital data , encapsulation into packets , transmission over the internet , de - encapsulation , and finally conversion back to voice signal for the ip phone to play for the inquirer . it can be seen that in the above process , there are multiple times of compression , decompression , encapsulation , and de - encapsulation . the process is time - consuming , the response may be slow , and the efficiency may be low . an embodiment of this invention contemplates the use of voicexml in the verification system when the receiving party in a transaction wishes to use ip phones to do the verification . it does not need a voice card to achieve functions like voice recognition and synthesis . the voicexml 1 . 0 specification may be a w3c - based industrial standard and provides various apis for developers , which are incorporated into this application by reference . it makes the underlying software and hardware transparent to the developers . fig2 shows a query system according to an embodiment of this invention . the core of the system may be a voicexml server or module 2301 and it further comprises a xml query system 2302 , a query database 2303 , a call center 2304 , and a voip gateway 2305 . based on this system , fig2 shows a query process illustrating the basic concept of this system . in one embodiment , a digital command may be input at a query terminal ( for example an ip phone ) 2101 . the command may be encapsulated into tcp / ip packets 2104 , transmitted to a server via the internet and then de - encapsulated 305 to regenerate the digital command . then the digital command may be passed to the database for processing 2106 . the database may retrieve a relevant text file 2107 . the text file may be passed to a text - to - speech ( tts ) module for conversion into a digital voice file 2108 . the voice file may be encapsulated 2105 , transmitted via the internet , de - encapsulated and converted into an analogous voice signal 2109 which the inquirer can hear . fig2 shows a process applying the system of fig2 to a verification mechanism of this invention . an inquirer picks up an ip phone ( or uses a specialized terminal ) and dials the number as the authentication access channel 2201 . a signal may be transmitted to the voicexml server 2301 . then the inquirer may hear a voice prompt 2202 to input the pid code of the product or bid code of the batch of products he / she is going to buy and then confirms the input 2203 . the server 2301 receives the input and issues instructions to the database . the server converts the data received from the database into a voicexml format , passes the converted data to a tts module for synthesis to a voice signal , and plays the voice signal to the inquirer 2204 . in cases where the inquirer needs to talk to staff , he / she may press “ 0 ” 2205 to connect to a call center and then start a bi - directional conversation with a staff 2206 . in an embodiment , as a general rule , when the inquirer inputs a command , the system may first analyze the command . if it is a single - digit input , the system may take it that the inquirer wishes to talk to a staff person . if it is a multiple - digit input , it may be recognized as an ordinary query and it may be passed to the voicexml server for further processing as discussed above . fig2 shows an embodiment of the voicexml server 2301 according to this invention . a gateway keeper 2401 provides an i / o interface and communication protocols between a voicexml interpreter and an ip phone . a voicexml interpreter 2402 parses and analyzes the xml documents , including checking their validity . if there are text - to - speech elements in the documents , they may be forwarded to a tts module 2404 for processing . the tts module 2404 may generate voices from voicexml documents . this may be done by extracting strings from the voicexml documents and sending them to a voice - generating engine to produce voice signals . an http server module 2403 may retrieve voicexml files from a speech database and forward them to the voicexml interpreter for processing . when the gateway keeper 2402 receives a tcp / ip packet from a lan port , it may pass the data to the voicexml interpreter 2402 . if the data is a single digit , the interpreter 2402 may instruct the http server module 2403 to work or instruct the call center 2304 to connect to the ip address of the tcp / ip packet . then the call center may conduct ordinary voip conversations with the inquirer . if the single digit stills requests a speech signal , the http server module 2403 may retrieve a text file according to instructions from the interpreter 2402 and send the file to the interpreter . the interpreter 2402 may pass the file to the tts module 2404 for conversion into a digital voice file . the gateway keeper 2401 may convert the digital voice file into tcp / ip packets and send them to the ip address of the inquirer . if the interpreter decides the received data comprises multiple digits , it may be treated as an ordinary authentication verification request and the interpreter 2402 may pass the data to the query system 2302 . the query system 2302 may process the digits , and retrieve relevant text files from the database ( e . g ., the database 311 shown in fig3 ). the interpreter 2402 may send the files to the tts module and then the files may be converted into voice signals for transmission to the inquirer . fig2 shows an exemplary operation process for a voicexml system as discussed above . at step 2501 , the gateway keeper may receive a signal . the signal may be parsed and analyzed at step 2502 . if the signal represents “ 0 ”, it may be forwarded to the call center at step 2513 so that the inquirer may talk to a staff person . otherwise , the process may proceed to step 2503 , where a pre - set piece of data may be retrieved from the internal database 2403 and forwarded to the tts module which may process it to produce a voice signal ( welcome signal ) and send the signal to the inquirer . after the inquirer hears the welcome signal , he / she may input a further piece of data . if this piece of data is again a one - digit command , it means that the inquirer may be requesting a pre - set function and it may be handled as in steps 2503 and thereafter . this one - digit input may be repeated for multiple times depending on the specific application and function configuration of the system . otherwise , if the inquirer inputs a multiple - digit code , it may be treated as a pid code or bid code at step 2507 . the query system or authentication system may process the code at step 2508 . this includes a query of the database 2303 and retrieval of a text file from the database . the text file may be passed to the tts module for conversion into a voice signal at step 2510 . the voice signal may be encapsulated into tcp / ip packets at step 2511 and transmitted to the inquirer at step 2512 . the process ends . obviously to a person of ordinary skill in the art , all or part of this invention may be implemented by computer systems . such computer systems may be existing computer systems running computer programs designed according to this invention , a system comprising completely new hardware and software designed according to this invention , or a combination of existing hardware / software and new hardware / software designed according to this invention . further , computer programs designed according to this invention may be carried out using known or future mediums , which when loaded to a computer system could cause the system to perform operations according to this invention . while particular embodiments have been shown and described , it will be obvious to those skilled in the art that changes and modifications may be made without departing from this invention and its broader aspects and , therefore , the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this invention .