Blockchain Fintech – Su HAN, Feifei Li, Qi Liang, Chang X. Miao, Liu Xin, International Business Machines Corp

Abstract for “Trustable web search verification in a Blockchain”

Web search results that are verified via blockchain can provide transparency into the existence of valid web pages and their availability for users to conduct a search. One method may be to perform a number of web page interactions using a plurality network node devices on a network. This validates existence of valid pages and detects invalid web pages based upon the plurality web page interactions. Then, the page package contains the valid webpages in a blockchain.

Background for “Trustable web search verification in a Blockchain”

A web search engine is software that allows you to search the Internet for information. The order in which search results are presented is generally determined by their importance. Users rely heavily upon search engines to find information due to the rapid growth of the Internet. Many of the search engines that are available are operated by commercial companies. Their ranking algorithms may be confidential to the public. They may also return results that are biased towards their commercial interests, which could lead users to choose less-optimal web pages.

One example embodiment could include one or more of the following: validating existence of valid pages by a plurality network node devices operating in a network, detecting invalid pages based upon the plurality web page interactions, and storing the valid page package with the relevant web pages in a Blockchain.

“Another example embodiment could include an apparatus that has a processor that can perform a plurality web page interaction by a plurality network node devices operating in a network, validate existence and detect invalid web pages based upon the plurality web page interactions, as well as a memory configured for storing a valid package with the valid pages in a Blockchain.”

“Another example embodiment could include a non-transitory computer-readable storage medium that stores instructions that, when executed, causes a processor perform a plurality web page interaction by a plurality network node devices operating in a network. This includes validating existence and detecting invalid pages based upon the plurality web page interactions. A valid page package is then stored with the valid pages in a Blockchain.

It will be clear that the components of the present invention, as shown in the figures, can be placed in many different ways. The following description of the various embodiments of at most one method, apparatus, or system as illustrated in the attached figures is not intended as limiting the scope of the claimed application. It is only representative of some embodiments.

“The instant features and structures or characteristics described in this specification can be combined in any way that suits the purposes of one or more embodiments. The usage of phrases like “example embodiments”, “some embodiments”, or similar language throughout this specification indicates that an embodiment could include a specific feature, structure, or characteristic related to the embodiment. The phrases “example embodiments”, “in some embodiments?”, “in other embodiments?”, or any other similar language throughout this specification don’t necessarily refer to the same group. Furthermore, the features, structures, and characteristics described in this specification may be combined in any way that suits the needs of one or more embodiments.

“In addition, the term’message’ may be used in the description of embodiments. While the term?message? may have been used to describe embodiments, the application can be applied to any type of network data such as packet, frame, or datagram. The term “message” can also be used. The term “message” can also refer to packet, frame, or datagram. While certain types of signals and messages may be shown in certain embodiments, they are not limited by a particular type of message and the application does not limit itself to that type of signaling.

“Example embodiments include an application and/or a software procedure, method and apparatus, system and non-transitory computer-readable medium that support trustable searching verification systems based on blockchain. This system provides various measures of pages returned from a search engine. The page’s importance is verified and the results are made accessible in a secure manner.

“A wide range of web crawlers, commercial and noncommercial, may be used to crawl the Internet. The system will submit information about web pages to the Internet. One example of operation is that validating nodes in the network receive a package containing web pages. They will examine it to verify the page relationship and check for cheating information. Convert a reference format. Store verified pages as valid webpages in the package. Discard invalid information such as spam sites or non-relevant websites. To ensure that the results are reliable, page existence is checked. Then algorithms can be used to detect cheating and filter out spamming. {The page package may be converted from one form to another (such as from referrer to referees) and stored in the blockchain in a form as The page package can be converted to another form (such as from referrer-to-referees), and stored in the blockchain as url> [referrerA], referrerB. . . ]}. A node can be queried periodically to perform one of the following: calculate page values, merge page relationships, or save data in a database (DB). Local memory caches are also available for quicker queries. A web browser plugin can also be used to query the information in a system server. This is useful for checking that the rank returned by a search engine isn’t manipulated.

“FIG. 1. illustrates a peer to peer (P2P), network of nodes that operate on a network and receive validated web searches results according to example embodiments. Referring to FIG. Referring to FIG. 1, the network 100 contains a number of peer nodes that are used to validate a web package of identified sites. Each peer has its own ledger, which includes 111, 112, 116, 128, 122, and 124. The validations are performed by some nodes, as a validated indicator 140 has been associated with them. The query nodes 132 and 134 allow users to communicate with each other to access the latest ledgers 131 or 133 and identify valid sites.

“In operation, an End-user may input a URL/domain to a ‘checker? via an end user device (not shown). website, and receive a page rank as well as other rank values. End-users can query the page value returned by a search engine to verify the ranking. The page value is a relative numerical value that indicates the rank of pages relevant to the search query. In one embodiment, high-value pages are those pages that are most relevant to the end-user’s search query or are most frequently referred by other websites. End-users have the ability to check the page values in search results. This allows them to determine if their ranking is reasonable and whether there are low-value or high-value sites. This program helps users to spot abnormal rankings in search result pages and avoid being misled with incorrect information.

“This application and the context it is associated with are operated on a Blockchain and are not controlled or owned by any one entity. The nature of blockchain means that page values cannot be falsified. The results can not be influenced by any one entity. Any device can contribute information via their web crawler and provide information to the host nodes. The information can then be used for query verification. This system uses data from multiple providers. The information is validated by nodes belonging to different entities, so that end-users can be confident in the data. Web crawling, as the term suggests, is the technology that search engines use to update web content in order to index it or search for it. The relationship between web pages and sites is one aspect. For example, Page A?Page T?Page F??Page C?Page Page G?Page D??Page E?Page I?Page H.”

A search engine can determine a web page’s ranking by using data stored in an indexing and/or searching database. This information is used to locate pages that are most relevant to the key words or other information received. Although the number of results can be overwhelming, users only have to access a portion of this information. Search engines use certain algorithms to determine page values so high-value pages appear first. Some algorithms assume important web pages or websites will be referred to by other sites and web pages. The higher the value of the pages that are referred to by others, the more valuable they will be. A blockchain network is used to create the instant system. It includes many types of nodes that are communicably connected. These nodes determine the roles of the system and reside on the same physical machine. In blockchain terminology, a peer node or ledger node stores and maintains web-page relationship information. Each node keeps one copy of the entire ledger, which contains a number blocks in the blockchain.

“FIG. 2 shows a logic diagram for building a web page package which can be shared with network nodes according examples. Referring to FIG. FIG. 2 shows an example 200 that includes a web crawler210 which provides web page information 212, to a page package 223. This tabulates the information, and packages it for transmission to network devices 230. Information may contain multiple pages and references that would give a specific ranking or rating 222. In this case, A and E both refer to B. Referrers A and E refer to B, while referees E?B, F, or E?G are also available. The page package may be validated by a validation node within the network or communicably coupled with it. A page package is associated to a ledger worker node that validates whether the page package can be stored in the ledger. A ledger node is also capable of validating the page package. End-users can query web page values using a query node. This node converts the entire ledger into a form that can be used for quick queries. All of these nodes can be part of the 100-member P2P network. A web crawler can send web page information to a leadger node. The web page information is sent to the ledger in a predefined format. The ledger node defines this format and calls it a page package. A page package is a collection of information about web pages. Each web page information package includes the URL of one or more pages, key words (which can also be found by analysing the page contents), and all links within the page. This package is broadcast by the ledger node to all peers and requests validation.

“FIG. 3. illustrates a logic diagram for a validating node that validates the results of a webpage package and stores them in a blockchain according examples. Referring to FIG. FIG. 3 shows the validation procedure 300. It includes a validating Node 310 that verifies packages and decides whether or not to store them in the ledger. The validation of the page relationship means that a ledger nude will receive a page package and send it to its validation point. A web crawler might also send a page package to the validation node. The page packages are kept in a queue. The validation process 312 takes one of the packages from the queue and validates them. The validation process 312 can be used to verify that a page package contains web pages and retrieve them via an HTTP GET request. If there are many pages that don’t exist, or if the percentage of pages missing is greater than a threshold (e.g., 5% 10% 20% etc.), then this package will be discarded. This package will be discarded and marked invalid. This process will also verify whether or not the pages contain links. Negative links are ignored. This process will also determine if the package contains cheating information or is a cheating package. For higher page values, some web sites may cheat. Fake information could include the addition of many referring pages to boost a page’s worth. There are several ways to detect a cheating webpage. Once it is identified, the page is marked invalid or spam 324. This can be done by, for instance, ignoring or lowering the number of referring pages that come from the same datacenter or have the same IP prefix. This process can also convert page package 318 to referer_to_referees, which will allow you to see how many pages refer to one page (as shown in FIG. 2, page Apage B, page C?page A, page D?page A, and page E?page F. This can be used to convert the page package 318 from referer_to_referees to determine how many pages refer one page, as shown in FIG. A?searchable package page is a result page package. Each page has one or more pages that contain the following information. URL: Page’s URL. Referrers: List of referring pages UUIDs. Key words: List of key words for this page. Timestamp: When it was submitted by a Web crawler. Who: What web crawler submitted it. This page relationship can be saved to the blockchain 340. The page package will be saved to the blockchain 340 if it is validated 322. Otherwise, the ledger node will vote to discard the package 324. Multiple ledger nodes vote to add such information to the ledger. A consensus is reached according the consensus algorithm of underlying blockchain network (i.e. majority of nodes etc.). This package is accepted by the ledger and saved as a valid package.

“The ledger Node stores multiple valid page packages in one block on a blockchain. You can have a set number of valid page packages (e.g. 100 per block) or you can specify a time period, such as between 1 and 5 minutes per block. There are many blocks in the blockchain, each block containing many valid page packages. A single web page can appear in many blocks. The referrer list of a web page might also cross these blocks. It is also not practical to query page values using a blockchain. A query node is created to take a snapshot, merge page referrers and calculate page value using a ranking algorithm. Because it can take time to calculate page value and generate the database, the query node stores page values in a database.

“FIG. 4A shows a logic diagram showing how a cache is updated with merged pages according to various embodiments. Referring to FIG. Referring to FIG. The page values are stored within a database 424. They can be merged and updated into a consolidated format to show the different referrers that have verified the page information.

“FIG. 4B shows a logic diagram showing blocks that are written using validated page information according examples. Referring to FIG. Referring to FIG. 4B, the example of 450 contains a blockchain 460 with two distinct blocks for example purposes. Blocks 101 (452) and 102 (454) contain completed blocks. They include a block haveh, a reference back to a previous block and various web pages that are valid and package information. The reference to the previous block is included in block 102. The blocks contain core information about valid page information. It is consistent with the referrers, values associated with page rank, or any other ranking value that users may wish to reference when reviewing page information from different web sites.

“FIG. “FIG. Referring to FIG. Referring to FIG. 5, this example 500 contains a user web browser (510) linking to resources modules or devices that allow users to access web page information and verify URLs submitted by them 512 via query node 522. A page value DB 522 may be used to give feedback. It is possible to quickly refer to the information and provide it to the user’s browser 510. This information could include page values, referrers etc., 524 or other information stored within the blockchain web packet.

“The query node can be refreshed periodically by the application/system, including hourly, daily and weekly. This is to ensure that the most current information is always available. A query node doesn’t provide a page value in real time, but it is important information, as many pages on the Internet don?t change much from day to day. A page value can be calculated using the information contained in the validated package, which includes a page’s URL and key words. It is easy to find out how many pages refer to a page. If page?A’ is referred to by five pages, page A’s value could be?5?. You can also increase the page’s weight by using different IP addresses. Three referring pages could have the same IP address as page?A? and a value?2?. It can be used to refer to page A, ignoring any in-site referring. There are many ways to determine page value using a hyperlink or keyword.

“Regarding user approaches for verification, a user can submit and receive search results from a search engine. The browser plugin or tool can be used to submit URLs from search results to a query Node in a system that can refer to the blockchain. These URL page values can then be returned by the query node and displayed next to the URL in the search result page. Users can compare the page value with the ranking returned by the search engine to easily determine if the ranking is valid or not based on blockchain data. Users may also be able to see URLs referring to search results pages so that they can determine which websites are referring to them. A user might search the Internet using the keyword “XYZ” A number in a field may be displayed next to search results. Each result may also have a number that is the page value returned by the system application. Because they were referred by the most people, the highest value results might have a high value. The 3rd result might have an abnormally low page-value (a number that is off by more than a 1000), but the site is highly ranked in the list of sites returned. End-users have the ability to decide whether or not they want to accept the third result. However, in general, this result will be easily ignored.

Another example of an embodiment could include web crawlers that explore Internet pages and submit information to the application/system. The validating nodes will receive a page package and synchronize it across the network. They also verify the page’s existence and detect spamming. Finally, they will store the valid package in the blockchain. For convenience, query nodes can combine page relationships and calculate page values. They also save page information to a DB. The cached results allow for quicker querying for subsequent queries. To query the system about the page importance of a search result, the end users can use a plugin for their web browser to check that the rank has not been altered.

“FIG. “FIG. Referring to FIG. Referring to FIG. 6, the system contains web crawlers 612 as modules, entities and remote services that provide information through browsing the internet. Crawlers 610 can also access sites 612 to log information, including page links, and then provide this information to the web service 620 as a package 614. The information is then stored 616 and forwarded to any number validating nodes 630. Each validating node receives the package 618 and performs a multi-operation to verify page existence 622 and determine if the page is spam/invalid 624. Finally, the package is either discarded or updated with the results that are approved 626. The updated results are sent back 628, and the blockchain is then updated 632 with correct and approved web site information.

“FIG. 7A shows an example of operation according to some embodiments. Referring to FIG. 7A shows that the method 700 includes one or more of the following: validating existence and invalid web pages 714 by a plurality network node devices 712; storing valid page packages with the valid pages in a blockchain 718.

“FIG. 7B is another example of operation according to example embodiments. Referring to FIG. FIG. 7B shows that the method 750 consists of one or several of receiving a request to one or multiple web pages 752, and determining whether those web pages are valid or invalid 754. If any of those web pages are valid, then they are stored in the Blockchain 756. If any pages are found to be invalid, spammed or not reliable sources for information, then a warning message may be generated and sent 758. When the results are invalid, the validator entity may be the one receiving the alert message.

The above embodiments can be implemented in hardware, in computer programs executed by a processor or in firmware. A computer program can be embedded on a computer-readable medium such as a storage media. A computer program could, for example, reside in random access memory. ), flash memory or read-only memory (??ROM?). ), erasable, programmable read only memory (?EPROM) ), Electrically erasable, programmable read only memory (?EEPROM) Registers, registers, hard drive, a removable disc, a compact disk read only memory (?CDROM?),?EEPROM? ), or any other storage medium that is known to the art.

“An example storage medium could be connected to the processor so that the processor can read and write to the storage medium. Alternativly, the storage medium could be integrated with the processor. The application-specific integrated circuit (?ASIC?) may house the processor and storage medium. Alternativly, the storage medium and processor may be located as separate components. FIG. FIG. 8 shows an example network element 800 that could be used to represent any of the components above.

“As illustrated at FIG. “8. A memory 810 or a processor 820 could be separate components of a network entity 800 and used to execute an operation or set of operations, as illustrated in FIG. The software code of the application can be written in a language that is understood by processor 820 and stored on a computer-readable medium such as a memory 810. A computer readable media may be non-transitory and contain tangible hardware components such as memory that can store software. A software module 830 could be another separate entity that forms part of the network entity 800. It may contain software instructions that can be executed by processor 820 to perform one or more functions. The network entity 800 may include the components mentioned above, as well as a transmitter-receiver pair that can receive and transmit communications signals (not illustrated).

“An exemplary embodiment of at most one of a system and method has been shown in the accompanying drawings and described in detail in the foregoing description. However, it is clear that the application is not limited by the disclosed embodiments. It is also capable of many rearrangements, modifications and substitutions as defined and claimed in the following claims. The system can perform the functions shown in the figures by any combination of one or more modules or components. It may also be implemented in a distributed architecture that includes a transmitter, receiver, or a pair of them. One or more modules may perform all or part the functionality of individual modules. The functionality described in this document can be performed at different times and with respect to various events, whether internal or external to the components or modules. Information can also be sent between modules using at least one of the following: the Internet, the Internet Protocol network, a voice network or an Internet Protocol network. A wireless device, wired device, and/or multiple protocols are all possible. The messages that are sent and received by any module may be sent directly or via one or more modules.

“A?system’ is something that anyone skilled in the art can appreciate. A?system’ could be described as a personal computer or server, a console or a console, a console or a personal digital assistant (PDA), cell phone, tablet computing device or smartphone, or any combination of these devices. The functions described above are referred to as being performed by a “system”. This is not meant to limit the scope or limitations of the present application, but it is intended to illustrate one of many possible embodiments. Methods, systems, and apparatuses described herein can be implemented in both localized and distributed forms compatible with computing technology.

“It is important to note that not all system features are described here in modules. This is in order to emphasize their independence in implementation. A module could be implemented in a hardware circuit that includes custom very large scale integration (VLSI), gate arrays, off the shelf semiconductors like logic chips, transistors, and other discrete components. You can also implement a module in programmable hardware devices like field programmable gate arrangements, programmable array logics, programmable logic units, and the like.

“A module can also be implemented in software to allow execution by different types of processors. A unit of executable code can, for example, contain one or more physical blocks or logical blocks that include computer instructions. These instructions may be organized in a number of ways, such as object, procedure, function. The executables of an identified unit of executable code do not have to be physically located together. They may contain different instructions that are stored in different locations and, when combined logically, form the module. Modules can also be stored on computer-readable media, such as a hard drive, flash device or random access memory (RAM), tape or any other medium that stores data.

A module of executable software could contain one or more instructions and can be distributed across multiple code segments, between different programs, or across multiple memory devices. Similar to operational data, it can be identified and illustrated in modules. It may also be organized into any type of data structure and in any form. Operational data can be collected in one data set or distributed across multiple locations, including different storage devices. They may also exist at least partially as electronic signals within a system or network.

It will be clear that components of the invention, as shown in the figures, can be placed and designed in many different ways. The detailed descriptions of the embodiments are not meant to limit the scope or claim of the application. They only represent a few embodiments of that application.

“One with ordinary skill in art will quickly understand that the steps described above can be performed in a different order and/or with hardware elements that are not disclosed. Although the preferred embodiments have been described, it is obvious to those skilled in the art that there are many modifications, variations and other constructions.

“Preferred embodiments of this application have been described. However, it is to understand that these embodiments are only illustrative and the scope is to be determined solely by the appended Claims when considered with all equivalents and modifications (e.g. protocols, hardware devices etc.). thereto.”

Summary for “Trustable web search verification in a Blockchain”

A web search engine is software that allows you to search the Internet for information. The order in which search results are presented is generally determined by their importance. Users rely heavily upon search engines to find information due to the rapid growth of the Internet. Many of the search engines that are available are operated by commercial companies. Their ranking algorithms may be confidential to the public. They may also return results that are biased towards their commercial interests, which could lead users to choose less-optimal web pages.

One example embodiment could include one or more of the following: validating existence of valid pages by a plurality network node devices operating in a network, detecting invalid pages based upon the plurality web page interactions, and storing the valid page package with the relevant web pages in a Blockchain.

“Another example embodiment could include an apparatus that has a processor that can perform a plurality web page interaction by a plurality network node devices operating in a network, validate existence and detect invalid web pages based upon the plurality web page interactions, as well as a memory configured for storing a valid package with the valid pages in a Blockchain.”

“Another example embodiment could include a non-transitory computer-readable storage medium that stores instructions that, when executed, causes a processor perform a plurality web page interaction by a plurality network node devices operating in a network. This includes validating existence and detecting invalid pages based upon the plurality web page interactions. A valid page package is then stored with the valid pages in a Blockchain.

It will be clear that the components of the present invention, as shown in the figures, can be placed in many different ways. The following description of the various embodiments of at most one method, apparatus, or system as illustrated in the attached figures is not intended as limiting the scope of the claimed application. It is only representative of some embodiments.

“The instant features and structures or characteristics described in this specification can be combined in any way that suits the purposes of one or more embodiments. The usage of phrases like “example embodiments”, “some embodiments”, or similar language throughout this specification indicates that an embodiment could include a specific feature, structure, or characteristic related to the embodiment. The phrases “example embodiments”, “in some embodiments?”, “in other embodiments?”, or any other similar language throughout this specification don’t necessarily refer to the same group. Furthermore, the features, structures, and characteristics described in this specification may be combined in any way that suits the needs of one or more embodiments.

“In addition, the term’message’ may be used in the description of embodiments. While the term?message? may have been used to describe embodiments, the application can be applied to any type of network data such as packet, frame, or datagram. The term “message” can also be used. The term “message” can also refer to packet, frame, or datagram. While certain types of signals and messages may be shown in certain embodiments, they are not limited by a particular type of message and the application does not limit itself to that type of signaling.

“Example embodiments include an application and/or a software procedure, method and apparatus, system and non-transitory computer-readable medium that support trustable searching verification systems based on blockchain. This system provides various measures of pages returned from a search engine. The page’s importance is verified and the results are made accessible in a secure manner.

“A wide range of web crawlers, commercial and noncommercial, may be used to crawl the Internet. The system will submit information about web pages to the Internet. One example of operation is that validating nodes in the network receive a package containing web pages. They will examine it to verify the page relationship and check for cheating information. Convert a reference format. Store verified pages as valid webpages in the package. Discard invalid information such as spam sites or non-relevant websites. To ensure that the results are reliable, page existence is checked. Then algorithms can be used to detect cheating and filter out spamming. {The page package may be converted from one form to another (such as from referrer to referees) and stored in the blockchain in a form as The page package can be converted to another form (such as from referrer-to-referees), and stored in the blockchain as url> [referrerA], referrerB. . . ]}. A node can be queried periodically to perform one of the following: calculate page values, merge page relationships, or save data in a database (DB). Local memory caches are also available for quicker queries. A web browser plugin can also be used to query the information in a system server. This is useful for checking that the rank returned by a search engine isn’t manipulated.

“FIG. 1. illustrates a peer to peer (P2P), network of nodes that operate on a network and receive validated web searches results according to example embodiments. Referring to FIG. Referring to FIG. 1, the network 100 contains a number of peer nodes that are used to validate a web package of identified sites. Each peer has its own ledger, which includes 111, 112, 116, 128, 122, and 124. The validations are performed by some nodes, as a validated indicator 140 has been associated with them. The query nodes 132 and 134 allow users to communicate with each other to access the latest ledgers 131 or 133 and identify valid sites.

“In operation, an End-user may input a URL/domain to a ‘checker? via an end user device (not shown). website, and receive a page rank as well as other rank values. End-users can query the page value returned by a search engine to verify the ranking. The page value is a relative numerical value that indicates the rank of pages relevant to the search query. In one embodiment, high-value pages are those pages that are most relevant to the end-user’s search query or are most frequently referred by other websites. End-users have the ability to check the page values in search results. This allows them to determine if their ranking is reasonable and whether there are low-value or high-value sites. This program helps users to spot abnormal rankings in search result pages and avoid being misled with incorrect information.

“This application and the context it is associated with are operated on a Blockchain and are not controlled or owned by any one entity. The nature of blockchain means that page values cannot be falsified. The results can not be influenced by any one entity. Any device can contribute information via their web crawler and provide information to the host nodes. The information can then be used for query verification. This system uses data from multiple providers. The information is validated by nodes belonging to different entities, so that end-users can be confident in the data. Web crawling, as the term suggests, is the technology that search engines use to update web content in order to index it or search for it. The relationship between web pages and sites is one aspect. For example, Page A?Page T?Page F??Page C?Page Page G?Page D??Page E?Page I?Page H.”

A search engine can determine a web page’s ranking by using data stored in an indexing and/or searching database. This information is used to locate pages that are most relevant to the key words or other information received. Although the number of results can be overwhelming, users only have to access a portion of this information. Search engines use certain algorithms to determine page values so high-value pages appear first. Some algorithms assume important web pages or websites will be referred to by other sites and web pages. The higher the value of the pages that are referred to by others, the more valuable they will be. A blockchain network is used to create the instant system. It includes many types of nodes that are communicably connected. These nodes determine the roles of the system and reside on the same physical machine. In blockchain terminology, a peer node or ledger node stores and maintains web-page relationship information. Each node keeps one copy of the entire ledger, which contains a number blocks in the blockchain.

“FIG. 2 shows a logic diagram for building a web page package which can be shared with network nodes according examples. Referring to FIG. FIG. 2 shows an example 200 that includes a web crawler210 which provides web page information 212, to a page package 223. This tabulates the information, and packages it for transmission to network devices 230. Information may contain multiple pages and references that would give a specific ranking or rating 222. In this case, A and E both refer to B. Referrers A and E refer to B, while referees E?B, F, or E?G are also available. The page package may be validated by a validation node within the network or communicably coupled with it. A page package is associated to a ledger worker node that validates whether the page package can be stored in the ledger. A ledger node is also capable of validating the page package. End-users can query web page values using a query node. This node converts the entire ledger into a form that can be used for quick queries. All of these nodes can be part of the 100-member P2P network. A web crawler can send web page information to a leadger node. The web page information is sent to the ledger in a predefined format. The ledger node defines this format and calls it a page package. A page package is a collection of information about web pages. Each web page information package includes the URL of one or more pages, key words (which can also be found by analysing the page contents), and all links within the page. This package is broadcast by the ledger node to all peers and requests validation.

“FIG. 3. illustrates a logic diagram for a validating node that validates the results of a webpage package and stores them in a blockchain according examples. Referring to FIG. FIG. 3 shows the validation procedure 300. It includes a validating Node 310 that verifies packages and decides whether or not to store them in the ledger. The validation of the page relationship means that a ledger nude will receive a page package and send it to its validation point. A web crawler might also send a page package to the validation node. The page packages are kept in a queue. The validation process 312 takes one of the packages from the queue and validates them. The validation process 312 can be used to verify that a page package contains web pages and retrieve them via an HTTP GET request. If there are many pages that don’t exist, or if the percentage of pages missing is greater than a threshold (e.g., 5% 10% 20% etc.), then this package will be discarded. This package will be discarded and marked invalid. This process will also verify whether or not the pages contain links. Negative links are ignored. This process will also determine if the package contains cheating information or is a cheating package. For higher page values, some web sites may cheat. Fake information could include the addition of many referring pages to boost a page’s worth. There are several ways to detect a cheating webpage. Once it is identified, the page is marked invalid or spam 324. This can be done by, for instance, ignoring or lowering the number of referring pages that come from the same datacenter or have the same IP prefix. This process can also convert page package 318 to referer_to_referees, which will allow you to see how many pages refer to one page (as shown in FIG. 2, page Apage B, page C?page A, page D?page A, and page E?page F. This can be used to convert the page package 318 from referer_to_referees to determine how many pages refer one page, as shown in FIG. A?searchable package page is a result page package. Each page has one or more pages that contain the following information. URL: Page’s URL. Referrers: List of referring pages UUIDs. Key words: List of key words for this page. Timestamp: When it was submitted by a Web crawler. Who: What web crawler submitted it. This page relationship can be saved to the blockchain 340. The page package will be saved to the blockchain 340 if it is validated 322. Otherwise, the ledger node will vote to discard the package 324. Multiple ledger nodes vote to add such information to the ledger. A consensus is reached according the consensus algorithm of underlying blockchain network (i.e. majority of nodes etc.). This package is accepted by the ledger and saved as a valid package.

“The ledger Node stores multiple valid page packages in one block on a blockchain. You can have a set number of valid page packages (e.g. 100 per block) or you can specify a time period, such as between 1 and 5 minutes per block. There are many blocks in the blockchain, each block containing many valid page packages. A single web page can appear in many blocks. The referrer list of a web page might also cross these blocks. It is also not practical to query page values using a blockchain. A query node is created to take a snapshot, merge page referrers and calculate page value using a ranking algorithm. Because it can take time to calculate page value and generate the database, the query node stores page values in a database.

“FIG. 4A shows a logic diagram showing how a cache is updated with merged pages according to various embodiments. Referring to FIG. Referring to FIG. The page values are stored within a database 424. They can be merged and updated into a consolidated format to show the different referrers that have verified the page information.

“FIG. 4B shows a logic diagram showing blocks that are written using validated page information according examples. Referring to FIG. Referring to FIG. 4B, the example of 450 contains a blockchain 460 with two distinct blocks for example purposes. Blocks 101 (452) and 102 (454) contain completed blocks. They include a block haveh, a reference back to a previous block and various web pages that are valid and package information. The reference to the previous block is included in block 102. The blocks contain core information about valid page information. It is consistent with the referrers, values associated with page rank, or any other ranking value that users may wish to reference when reviewing page information from different web sites.

“FIG. “FIG. Referring to FIG. Referring to FIG. 5, this example 500 contains a user web browser (510) linking to resources modules or devices that allow users to access web page information and verify URLs submitted by them 512 via query node 522. A page value DB 522 may be used to give feedback. It is possible to quickly refer to the information and provide it to the user’s browser 510. This information could include page values, referrers etc., 524 or other information stored within the blockchain web packet.

“The query node can be refreshed periodically by the application/system, including hourly, daily and weekly. This is to ensure that the most current information is always available. A query node doesn’t provide a page value in real time, but it is important information, as many pages on the Internet don?t change much from day to day. A page value can be calculated using the information contained in the validated package, which includes a page’s URL and key words. It is easy to find out how many pages refer to a page. If page?A’ is referred to by five pages, page A’s value could be?5?. You can also increase the page’s weight by using different IP addresses. Three referring pages could have the same IP address as page?A? and a value?2?. It can be used to refer to page A, ignoring any in-site referring. There are many ways to determine page value using a hyperlink or keyword.

“Regarding user approaches for verification, a user can submit and receive search results from a search engine. The browser plugin or tool can be used to submit URLs from search results to a query Node in a system that can refer to the blockchain. These URL page values can then be returned by the query node and displayed next to the URL in the search result page. Users can compare the page value with the ranking returned by the search engine to easily determine if the ranking is valid or not based on blockchain data. Users may also be able to see URLs referring to search results pages so that they can determine which websites are referring to them. A user might search the Internet using the keyword “XYZ” A number in a field may be displayed next to search results. Each result may also have a number that is the page value returned by the system application. Because they were referred by the most people, the highest value results might have a high value. The 3rd result might have an abnormally low page-value (a number that is off by more than a 1000), but the site is highly ranked in the list of sites returned. End-users have the ability to decide whether or not they want to accept the third result. However, in general, this result will be easily ignored.

Another example of an embodiment could include web crawlers that explore Internet pages and submit information to the application/system. The validating nodes will receive a page package and synchronize it across the network. They also verify the page’s existence and detect spamming. Finally, they will store the valid package in the blockchain. For convenience, query nodes can combine page relationships and calculate page values. They also save page information to a DB. The cached results allow for quicker querying for subsequent queries. To query the system about the page importance of a search result, the end users can use a plugin for their web browser to check that the rank has not been altered.

“FIG. “FIG. Referring to FIG. Referring to FIG. 6, the system contains web crawlers 612 as modules, entities and remote services that provide information through browsing the internet. Crawlers 610 can also access sites 612 to log information, including page links, and then provide this information to the web service 620 as a package 614. The information is then stored 616 and forwarded to any number validating nodes 630. Each validating node receives the package 618 and performs a multi-operation to verify page existence 622 and determine if the page is spam/invalid 624. Finally, the package is either discarded or updated with the results that are approved 626. The updated results are sent back 628, and the blockchain is then updated 632 with correct and approved web site information.

“FIG. 7A shows an example of operation according to some embodiments. Referring to FIG. 7A shows that the method 700 includes one or more of the following: validating existence and invalid web pages 714 by a plurality network node devices 712; storing valid page packages with the valid pages in a blockchain 718.

“FIG. 7B is another example of operation according to example embodiments. Referring to FIG. FIG. 7B shows that the method 750 consists of one or several of receiving a request to one or multiple web pages 752, and determining whether those web pages are valid or invalid 754. If any of those web pages are valid, then they are stored in the Blockchain 756. If any pages are found to be invalid, spammed or not reliable sources for information, then a warning message may be generated and sent 758. When the results are invalid, the validator entity may be the one receiving the alert message.

The above embodiments can be implemented in hardware, in computer programs executed by a processor or in firmware. A computer program can be embedded on a computer-readable medium such as a storage media. A computer program could, for example, reside in random access memory. ), flash memory or read-only memory (??ROM?). ), erasable, programmable read only memory (?EPROM) ), Electrically erasable, programmable read only memory (?EEPROM) Registers, registers, hard drive, a removable disc, a compact disk read only memory (?CDROM?),?EEPROM? ), or any other storage medium that is known to the art.

“An example storage medium could be connected to the processor so that the processor can read and write to the storage medium. Alternativly, the storage medium could be integrated with the processor. The application-specific integrated circuit (?ASIC?) may house the processor and storage medium. Alternativly, the storage medium and processor may be located as separate components. FIG. FIG. 8 shows an example network element 800 that could be used to represent any of the components above.

“As illustrated at FIG. “8. A memory 810 or a processor 820 could be separate components of a network entity 800 and used to execute an operation or set of operations, as illustrated in FIG. The software code of the application can be written in a language that is understood by processor 820 and stored on a computer-readable medium such as a memory 810. A computer readable media may be non-transitory and contain tangible hardware components such as memory that can store software. A software module 830 could be another separate entity that forms part of the network entity 800. It may contain software instructions that can be executed by processor 820 to perform one or more functions. The network entity 800 may include the components mentioned above, as well as a transmitter-receiver pair that can receive and transmit communications signals (not illustrated).

“An exemplary embodiment of at most one of a system and method has been shown in the accompanying drawings and described in detail in the foregoing description. However, it is clear that the application is not limited by the disclosed embodiments. It is also capable of many rearrangements, modifications and substitutions as defined and claimed in the following claims. The system can perform the functions shown in the figures by any combination of one or more modules or components. It may also be implemented in a distributed architecture that includes a transmitter, receiver, or a pair of them. One or more modules may perform all or part the functionality of individual modules. The functionality described in this document can be performed at different times and with respect to various events, whether internal or external to the components or modules. Information can also be sent between modules using at least one of the following: the Internet, the Internet Protocol network, a voice network or an Internet Protocol network. A wireless device, wired device, and/or multiple protocols are all possible. The messages that are sent and received by any module may be sent directly or via one or more modules.

“A?system’ is something that anyone skilled in the art can appreciate. A?system’ could be described as a personal computer or server, a console or a console, a console or a personal digital assistant (PDA), cell phone, tablet computing device or smartphone, or any combination of these devices. The functions described above are referred to as being performed by a “system”. This is not meant to limit the scope or limitations of the present application, but it is intended to illustrate one of many possible embodiments. Methods, systems, and apparatuses described herein can be implemented in both localized and distributed forms compatible with computing technology.

“It is important to note that not all system features are described here in modules. This is in order to emphasize their independence in implementation. A module could be implemented in a hardware circuit that includes custom very large scale integration (VLSI), gate arrays, off the shelf semiconductors like logic chips, transistors, and other discrete components. You can also implement a module in programmable hardware devices like field programmable gate arrangements, programmable array logics, programmable logic units, and the like.

“A module can also be implemented in software to allow execution by different types of processors. A unit of executable code can, for example, contain one or more physical blocks or logical blocks that include computer instructions. These instructions may be organized in a number of ways, such as object, procedure, function. The executables of an identified unit of executable code do not have to be physically located together. They may contain different instructions that are stored in different locations and, when combined logically, form the module. Modules can also be stored on computer-readable media, such as a hard drive, flash device or random access memory (RAM), tape or any other medium that stores data.

A module of executable software could contain one or more instructions and can be distributed across multiple code segments, between different programs, or across multiple memory devices. Similar to operational data, it can be identified and illustrated in modules. It may also be organized into any type of data structure and in any form. Operational data can be collected in one data set or distributed across multiple locations, including different storage devices. They may also exist at least partially as electronic signals within a system or network.

It will be clear that components of the invention, as shown in the figures, can be placed and designed in many different ways. The detailed descriptions of the embodiments are not meant to limit the scope or claim of the application. They only represent a few embodiments of that application.

“One with ordinary skill in art will quickly understand that the steps described above can be performed in a different order and/or with hardware elements that are not disclosed. Although the preferred embodiments have been described, it is obvious to those skilled in the art that there are many modifications, variations and other constructions.

“Preferred embodiments of this application have been described. However, it is to understand that these embodiments are only illustrative and the scope is to be determined solely by the appended Claims when considered with all equivalents and modifications (e.g. protocols, hardware devices etc.). thereto.”

Click here to view the patent on Google Patents.

How to Search for Patents

A patent search is the first step to getting your patent. You can do a google patent search or do a USPTO search. Patent-pending is the term for the product that has been covered by the patent application. You can search the public pair to find the patent application. After the patent office approves your application, you will be able to do a patent number look to locate the patent issued. Your product is now patentable. You can also use the USPTO search engine. See below for details. You can get help from a patent lawyer. Patents in the United States are granted by the US trademark and patent office or the United States Patent and Trademark office. This office also reviews trademark applications.

Are you interested in similar patents? These are the steps to follow:

1. Brainstorm terms to describe your invention, based on its purpose, composition, or use.

Write down a brief, but precise description of the invention. Don’t use generic terms such as “device”, “process,” or “system”. Consider synonyms for the terms you chose initially. Next, take note of important technical terms as well as keywords.

Use the questions below to help you identify keywords or concepts.

  • What is the purpose of the invention Is it a utilitarian device or an ornamental design?
  • Is invention a way to create something or perform a function? Is it a product?
  • What is the composition and function of the invention? What is the physical composition of the invention?
  • What’s the purpose of the invention
  • What are the technical terms and keywords used to describe an invention’s nature? A technical dictionary can help you locate the right terms.

2. These terms will allow you to search for relevant Cooperative Patent Classifications at Classification Search Tool. If you are unable to find the right classification for your invention, scan through the classification’s class Schemas (class schedules) and try again. If you don’t get any results from the Classification Text Search, you might consider substituting your words to describe your invention with synonyms.

3. Check the CPC Classification Definition for confirmation of the CPC classification you found. If the selected classification title has a blue box with a “D” at its left, the hyperlink will take you to a CPC classification description. CPC classification definitions will help you determine the applicable classification’s scope so that you can choose the most relevant. These definitions may also include search tips or other suggestions that could be helpful for further research.

4. The Patents Full-Text Database and the Image Database allow you to retrieve patent documents that include the CPC classification. By focusing on the abstracts and representative drawings, you can narrow down your search for the most relevant patent publications.

5. This selection of patent publications is the best to look at for any similarities to your invention. Pay attention to the claims and specification. Refer to the applicant and patent examiner for additional patents.

6. You can retrieve published patent applications that match the CPC classification you chose in Step 3. You can also use the same search strategy that you used in Step 4 to narrow your search results to only the most relevant patent applications by reviewing the abstracts and representative drawings for each page. Next, examine all published patent applications carefully, paying special attention to the claims, and other drawings.

7. You can search for additional US patent publications by keyword searching in AppFT or PatFT databases, as well as classification searching of patents not from the United States per below. Also, you can use web search engines to search non-patent literature disclosures about inventions. Here are some examples:

  • Add keywords to your search. Keyword searches may turn up documents that are not well-categorized or have missed classifications during Step 2. For example, US patent examiners often supplement their classification searches with keyword searches. Think about the use of technical engineering terminology rather than everyday words.
  • Search for foreign patents using the CPC classification. Then, re-run the search using international patent office search engines such as Espacenet, the European Patent Office’s worldwide patent publication database of over 130 million patent publications. Other national databases include:
  • Search non-patent literature. Inventions can be made public in many non-patent publications. It is recommended that you search journals, books, websites, technical catalogs, conference proceedings, and other print and electronic publications.

To review your search, you can hire a registered patent attorney to assist. A preliminary search will help one better prepare to talk about their invention and other related inventions with a professional patent attorney. In addition, the attorney will not spend too much time or money on patenting basics.

Download patent guide file – Click here