Searching method, system and equipment
By employing asynchronous pre-search requests and persistent connections between the browser and the search service server, the data transmission path is optimized, solving the problem of excessively long initial search result times on search websites, and achieving faster search result display and energy savings.
Patent Information
- Application Number
- CN202480013577.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-27
- Filing Date
- 2024-02-07
- Publication Date
- 2025-11-14
AI Technical Summary
In existing technologies, the time to first search result (TTFR) of search websites is relatively long, resulting in a poor user experience, and internet search activities consume a lot of energy.
By employing asynchronous pre-search requests between the browser running on the client device and the search homepage website, the front-end dedicated back-end (BFF) server, and the search service server, polling requests between servers are reduced, and data transmission paths are optimized using persistent connections and region identifiers, thereby improving the response speed of search results.
It significantly reduced the time to first search result (TTFR), decreased energy consumption, improved user experience, and optimized search performance.
Smart Images

Figure CN120958448A_ABST
Abstract
Description
Background Technology
[0001] 1. Field of Invention The present invention relates to a computer-implemented method for searching search results using a browser executed on a client device, to a related system including a server and a client device including a browser program, to a related client device including a browser program, and to a related server constituting part of the system. 2. Background Technology First Search Time (TTFR) is a very important metric for measuring the search performance of a search engine. It is the time it takes for a user requesting a search to see the first search result in their user interface. If the first search result does not appear quickly, the user can switch to another search engine.
[0003] As more and more search activities are performed by internet users, more and more energy is being used to perform these search activities on the internet. There is a desire to reduce or limit the energy consumption of performing search activities on the internet.
[0004] This patent document contains copyrighted material in parts of its disclosure. The copyright holder does not object to any fax reproduction of the patent document or patent disclosure, as shown in the Patent and Trademark Office patent documents or records, but retains all copyrights.
[0005] 3. Discussion of relevant prior art EP3557437A1 and EP3557437B1 disclose a case management system configured to generate search templates based on a search type and the selection of one or more data sources. As configured, the case management system is capable of performing searches on synchronous and asynchronous data sources using the generated search templates, and provides periodic polling of asynchronous data sources to generate merged search results. Summary of the Invention
[0006] According to a first aspect of the present invention, a computer-implemented method for finding search results is provided, the method using a browser running on a client device, a search homepage website, a front-end dedicated back-end (BFF) server, and a search service server, the method comprising the following steps: (i) A browser running on a client device sends a search request to the search homepage website, the search request including search parameters; (ii) The search homepage website sends an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search server responds to the asynchronous pre-search request by initiating a search cycle using the search parameters; (iii) The browser receives HTML data, including Cascading Style Sheets (CSS) and script tags, from the search homepage website; (iv) The browser executes CSS and script tags to download CSS and script files from the front-end server; (v) The browser parses the CSS file to render web page components that include the page's styles; (vi) The browser executes the script file, causing client devices, including the browser, to establish a persistent connection to a front-end dedicated back-end (BFF) server and send search parameters to the BFF server, which polls the search service server using the search parameters. (vii) The search service server recognizes that the search parameters it receives in step (vi) correspond to the search parameters it receives in step (ii), and in response to the polling from the BFF server, provides the BFF server with the first search result from the search cycle initiated in step (ii). (viii) The BFF server sends the first search result to the browser running on the client computer, and (ix) The browser provides the first search result to be displayed on the client device's screen.
[0007] One advantage is that because the search homepage website sends asynchronous pre-search requests to the search service server, the browser receives the first search results faster. These asynchronous pre-search requests include search parameters, and the search service server responds by initiating a search cycle using those parameters. Another advantage is reduced energy consumption. Because the search homepage website sends asynchronous pre-search requests to the search service server, which include search parameters, and the search service server responds by initiating a search cycle using those parameters, fewer polling requests are needed from the BFF server to the search service, thus reducing energy usage.
[0008] This method could be a process where the search request is for hotel bookings.
[0009] This method can be a search request for flights, rental vehicles (e.g., cars, sedans, vans, trucks, boats, ships, airplanes, motorcycles), housing loans, insurance (e.g., car insurance, home insurance, travel insurance, life insurance, pet insurance), money loans, mortgages, mobile phone purchases, broadband transactions, real estate, rental accommodations, or dating.
[0010] This method can be a process in which the client device is a desktop computer, laptop, internet TV, smartphone, or tablet.
[0011] This method could be one in which the client device is wirelessly connected to the internet (e.g., cellular or WiFi).
[0012] This method can be one in which the client device is connected to the Internet via a wired connection.
[0013] This method can be a framework where the front-end server is a cloud server.
[0014] This method can be a framework where the front-end server is a content delivery network (CDN), such as a static file server.
[0015] This method could be a process in which a BFF server provides language translation to translate results in a first language received from a search service server into a second language, and then sends the results in the second language to a browser executed on a client device.
[0016] This method could be one in which the BFF server polls the search service server periodically to request data related to the asynchronous pre-search requests sent to the search service server. One advantage is reduced energy consumption, because since the search homepage website sends asynchronous pre-search requests to the search service server, which include search parameters, and the search service server responds to these requests by initiating a search cycle using the search parameters, fewer polling requests are needed from the BFF server to the search service, thus reducing energy usage.
[0017] This method could be one where the BFF server polls the search service server periodically to request data related to the asynchronous pre-search requests sent to it, until all search results are received and sent to the client device (including the browser) and rendered in the browser, after which the client device closes the persistent connection. One advantage is reduced energy consumption because fewer polling requests are needed from the BFF server to the search service server since the search homepage website sends asynchronous pre-search requests containing search parameters, and the search service server initiates a search cycle using these parameters in response to the asynchronous pre-search requests.
[0018] This method could be a process in which the search cycle includes the search service server using an external service to retrieve search data related to the search results.
[0019] This method could be one where the search homepage checks if the search request originates from a bot, and if it determines that the search request does not appear to be from a bot, the search process continues. One advantage is that searches originating from bots are blocked, which reduces energy consumption.
[0020] This method could be one in which a gateway associated with a search homepage website server selects a geographic region from multiple geographic regions, then routes search requests received from the browser to a group of servers within that geographic region. This group includes a BFF server and a search service server. The search service website returns an identifier associated with the selected geographic region to the browser, and the browser uses this identifier to enable the gateway to route search requests received from the browser to the server group within that geographic region. One advantage is that it avoids calls between server groups in different geographic regions, thus reducing energy consumption. Another advantage is that avoiding calls between server groups in different geographic regions speeds up the delivery of the first search result to the browser.
[0021] This method could be a way in which the browser uses cookies (e.g., session cookies) to set the selected geographic region.
[0022] This method could be a way in which, when a persistent connection is established to poll the search service, the request header includes a region obtained from a cookie (e.g., a session cookie).
[0023] This method could be one where first search data (e.g., static hotel information) is provided by a BFF server to a browser running on a client device, and if the browser on the client device requests second search data (e.g., relevant price information), the second search data (e.g., relevant price information) is only provided subsequently. One advantage is that it reduces energy consumption because the second search data is not requested at least sometimes.
[0024] This method could be one in which a region identifier is sent from the BFF server to the browser and stored, for example, as a cookie.
[0025] This method could be a process in which a request for second search data (e.g., relevant price information) from a browser executed on a client device includes a region identifier sent from a BFF server to the browser and stored as, for example, a cookie.
[0026] This method could be a way in which, after the BFF server sends second data (e.g., hotel price information) to the client device including the browser, the BFF server sends another region identifier from the BFF server to the browser, which is stored on the client device, for example, in another cookie.
[0027] This method could be one in which, after the browser requests the checkout process from the BFF server, the request includes another region identifier, such as an identifier from another cookie, to ensure that the checkout process used to provide second data (e.g., hotel price information) uses the same region.
[0028] This method could be a way of including a field in a pre-search request sent to a search service (e.g., for hotel bookings) to indicate that the request is an asynchronous search request, including the start of the search cycle.
[0029] This method can be a framework in which a search homepage website (e.g., for hotels) uses javascript, typescript, nodejavascript, and react languages and frameworks; a BFF server (e.g., for hotels) uses nodejavascript language and frameworks; and a search service (e.g., for hotel bookings) uses python and aiohttp language and frameworks.
[0030] This method could be a process in which, when a browser retrieves CSS and script files from a front-end server, the browser identifies the client device category (e.g., desktop computer, laptop, internet TV, smartphone, tablet) to the front-end server, and the browser receives a corresponding set of selected CSS and script files as a response from the front-end server, these files corresponding to the client device category identified by the browser.
[0031] This method can be a way of doing things, where the script file is a javascript file.
[0032] According to a second aspect of the invention, a system is provided that includes a client device comprising a browser program, a search homepage website, a front-end dedicated back-end (BFF) server, and a search service server, the system being configured to perform methods according to any aspect of the first aspect of the invention.
[0033] One advantage is that because the search homepage website sends asynchronous pre-search requests, which include search parameters, to the search service server, the browser receives the first search result faster. The search service server responds to these asynchronous pre-search requests by initiating a search cycle using the search parameters. Another advantage is reduced energy consumption. Because the search homepage website sends asynchronous pre-search requests to the search service server, which include search parameters, and the search service server responds by initiating a search cycle using these parameters, fewer polling requests are needed from the BFF server to the search service, thus reducing energy consumption.
[0034] According to a third aspect of the invention, a client device is provided, which includes a browser program of a system according to any aspect of the second aspect of the invention.
[0035] According to a fourth aspect of the invention, a system for searching homepage websites according to any aspect of the second aspect of the invention is provided.
[0036] According to a fifth aspect of the invention, a front-end dedicated back-end (BFF) server for a system according to any aspect of the second aspect of the invention is provided.
[0037] According to a sixth aspect of the present invention, a search service server for a system according to any aspect of the second aspect of the present invention is provided.
[0038] According to a seventh aspect of the present invention, a system is provided, comprising: a client device including a browser program and a screen, a search homepage website, a front-end dedicated back-end (BFF) server, and a search service server, wherein: (i) The browser is configured to execute on the client device to send a search request to the search homepage website, the search request including search parameters; (ii) The search homepage website is configured to send an asynchronous pre-search request to the search service server. The asynchronous pre-search request includes search parameters. The search server is configured to respond to the asynchronous pre-search request by initiating a search cycle using the search parameters. (iii) The browser is configured to receive HTML data, including Cascading Style Sheets (CSS) and script tags, from the search homepage website; (iv) The browser is configured to execute CSS and script tags to download CSS and script files from the front-end server; (v) The browser is configured to parse CSS files to render web page components that include web page styles; (vi) The browser is configured to execute a script file, wherein, in response to the browser executing the script file, the browser's client device is configured to establish a persistent connection to a front-end dedicated back-end (BFF) server and send search parameters to the BFF server, wherein the BFF server is configured to poll the search service server using the search parameters; (vii) The search service server is configured to recognize that the search parameters it receives in (vi) correspond to the search parameters it receives in (ii), and in response to polling from the BFF server, to provide the BFF server with the first search result from the search cycle initiated in (ii). (viii) The BFF server is configured to send the first search result to the browser executed on the client device, and (ix) The browser is configured to provide the first search result to be displayed on the client device's screen.
[0039] One advantage is that because the search homepage website sends asynchronous pre-search requests, which include search parameters, to the search service server, the browser receives the first search result faster. The search service server responds to these asynchronous pre-search requests by initiating a search cycle using the search parameters. Another advantage is reduced energy consumption. Because the search homepage website sends asynchronous pre-search requests, which include search parameters, and the search service server responds by initiating a search cycle using these parameters, fewer polling requests are needed from the BFF server to the search service, thus reducing energy consumption.
[0040] The system can be configured to perform any aspect of the method of the first aspect of the invention.
[0041] According to an eighth aspect of the present invention, a client device is provided that includes a browser program of any aspect of the system of the seventh aspect of the present invention.
[0042] According to a ninth aspect of the present invention, a search homepage website for a system of any aspect of the seventh aspect of the present invention is provided.
[0043] According to a tenth aspect of the present invention, a front-end dedicated back-end (BFF) server is provided, which is any aspect of the seventh aspect of the present invention.
[0044] According to the eleventh aspect of the present invention, a search service server for any aspect of the seventh aspect of the present invention is provided.
[0045] According to a twelfth aspect of the present invention, a system is provided, comprising: a search homepage website, a front-end dedicated back-end (BFF) server, a front-end server, and a search service server, wherein: (i) The search homepage website is configured to receive search requests from a browser running on the client device, the search request including search parameters; (ii) The search homepage website is configured to send an asynchronous pre-search request to the search service server, the asynchronous pre-search request including search parameters, and the search server is configured to initiate a search cycle using the search parameters in response to the asynchronous pre-search request; (iii) The search homepage website is configured to send HTML data, including Cascading Style Sheets (CSS) and script tags, to the browser, wherein the CSS and script tags are executable in the browser to download CSS and script files from the front-end server; (iv) The front-end server is configured to send CSS and script files to the browser, wherein the CSS file is parsable at the browser to render web page components including web page styles, and wherein the script file is executable at the browser to establish a persistent connection to the front-end dedicated back-end (BFF) server and send search parameters to the BFF server, wherein the BFF server is configured to poll the search service server using the search parameters. (v) The search service server is configured to recognize that the search parameters it receives in (vi) correspond to the search parameters it receives in (ii) and, in response to polling from the BFF server, to provide the BFF server with the first search result from the search cycle initiated in (ii). (vi) The BFF server is configured to send the first search result to the browser running on the client device to provide the first search result for display on the client device's screen.
[0046] One advantage is that because the search homepage website sends asynchronous pre-search requests, which include search parameters, to the search service server, the browser receives the first search result faster. The search service server responds to these asynchronous pre-search requests by initiating a search cycle using the search parameters. Another advantage is reduced energy consumption. Because the search homepage website sends asynchronous pre-search requests, which include search parameters, and the search service server responds by initiating a search cycle using these parameters, fewer polling requests are needed from the BFF server to the search service, thus reducing energy consumption.
[0047] The system can be configured to perform any aspect of the method of the first aspect of the invention.
[0048] According to the thirteenth aspect of the present invention, a front-end server for a system according to any aspect of the twelfth aspect of the present invention is provided.
[0049] According to the fourteenth aspect of the present invention, a search homepage website for a system of any aspect of the twelfth aspect of the present invention is provided.
[0050] According to the fifteenth aspect of the present invention, a front-end dedicated back-end (BFF) server is provided for use in any aspect of the twelfth aspect of the present invention.
[0051] According to the sixteenth aspect of the present invention, a search service server for a system according to any aspect of the twelfth aspect of the present invention is provided.
[0052] According to a seventeenth aspect of the present invention, a computer-implemented method for finding search results is provided, the method using a search homepage website, a front-end dedicated back-end (BFF) server, a front-end server, and a search service server, the method comprising the following steps: (i) The search homepage website receives a search request from a browser running on the client device, the search request including search parameters; (ii) The search homepage website sends an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search server responds to the asynchronous pre-search request by initiating a search cycle using the search parameters; (iii) The search homepage website sends HTML data, including Cascading Style Sheets (CSS) and script tags, to the browser, where the CSS and script tags are executable in the browser to download CSS and script files from the front-end server; (iv) The front-end server sends CSS and script files to the browser, wherein the CSS file is parsable at the browser to render web page components including web page styles, and wherein the script file is executable at the browser to establish a persistent connection with the front-end dedicated back-end (BFF) server and send search parameters to the BFF server, wherein the BFF server polls the search service server using the search parameters. (v) The search service server recognizes that the search parameters it received in step (vi) correspond to the search parameters it received in step (ii), and in response to the polling from the BFF server, provides the BFF server with the first search result from the search cycle initiated in step (ii); (vi) The BFF server sends the first search result to the browser running on the client device to provide the first search result for display on the client device's screen.
[0053] One advantage is that because the search homepage website sends asynchronous pre-search requests, which include search parameters, to the search service server, the browser receives the first search result faster. The search service server responds to these asynchronous pre-search requests by initiating a search cycle using the search parameters. Another advantage is reduced energy consumption. Because the search homepage website sends asynchronous pre-search requests, which include search parameters, and the search service server responds by initiating a search cycle using these parameters, fewer polling requests are needed from the BFF server to the search service, thus reducing energy consumption.
[0054] This method may include any aspect of the method of the first aspect of the present invention.
[0055] The various aspects of this invention can be combined. Attached Figure Description
[0056] Aspects of the invention will now be described by way of example with reference to the following figures, wherein: Figure 1 An example system is shown, which includes a client computer device comprising a browser, a search homepage website, a front-end in the cloud, a search front-end dedicated back-end (BFF) server, and a search service server, all connected to the Internet.
[0057] Figure 2 An example system is shown, which includes a client computer device comprising a browser, a hotel search homepage website, a front-end in the cloud, a dedicated back-end (BFF) server for the hotel search front-end, and a hotel booking search service server, all connected to the Internet.
[0058] Figure 3 Example methods or systems for reducing first-search-FR are shown.
[0059] Figure 4 Example methods or systems for reducing first-search-FR (TTFR) are shown, including example times.
[0060] Figure 5 Example methods or systems for reducing first-search-flight (TTFR) in multi-region environments are shown.
[0061] Figure 6 This demonstrates an example method or system for reducing Time to First Search (TTFR) in a multi-regional environment where hotel search results are provided, but hotel price information is not provided unless specifically requested.
[0062] Figure 7 This shows an example of hotel search results displayed in a browser user interface on a desktop computer, where the hotel search results include prices.
[0063] Figure 8 This shows an example of hotel search results displayed in a browser user interface on a smartphone, where hotel search results include prices. Detailed Implementation
[0064] One goal is to improve the search performance of search websites, such as those used for searching hotel bookings.
[0065] In one example, on a mobile web device, the hotel search website's user interface (UI) displays static hotel information (e.g., star rating, photos, number of reviews, sorting, etc.) but lacks hotel price information. In another example, during a search conducted on a desktop computer, the hotel search website's UI includes both static hotel information and hotel price information, such as... Figure 7 As shown. In one example, in a search performed on the mobile web using a mobile device (e.g., a smartphone), the hotel search website's UI displays static hotel information and hotel price information, such as... Figure 8 As shown.
[0066] In one example, the TTFR target value could be 2 seconds or less. In another example, the TTFR target value could be 3 seconds or less. In yet another example, the TTFR target value could be 4 seconds or less. In one example, the TTFR target value could be 5 seconds or less. In yet another example, the TTFR target value could be 10 seconds or less.
[0067] In one example, a client computer device, including a browser, is connected to the internet. A search homepage website (e.g., an HTML server) is connected to the internet. A front-end in the cloud (e.g., a content delivery network (CDN), or a static file server) is connected to the internet. A front-end dedicated back-end (BFF) application programming interface (API) service is connected to the internet. A search service server is connected to the internet. A client computer device (e.g., a smartphone), including a browser, can connect to the internet wirelessly (e.g., cellular or WiFi). A client computer device (e.g., a desktop computer), including a browser, can connect to the internet wiredly. Figure 1 An example is shown. In one example, the search homepage website and the BFF server can be on the same server.
[0068] One issue that causes delays in providing search results is latency. This is because servers need time to respond to requests from browsers on client devices. In a system that includes client devices (including browsers), the search homepage website, the front-end in the cloud (including content delivery networks), the search BFF, and the search service server, the interaction between the browser and the content delivery network can cause delays in the search service server receiving search requests, resulting in delays in the first search results received by the browser on the client device.
[0069] In one example, a client computer device, including a browser, is connected to the internet. A hotel search homepage website (e.g., an HTML server) is connected to the internet. A front-end in the cloud (e.g., a content delivery network (CDN), or a static file server) is connected to the internet. A hotel front-end dedicated back-end (BFF) application programming interface (API) server is connected to the internet. A hotel booking search service server (e.g., providing hotel data, booking availability, and pricing information) is connected to the internet. Client computer devices (e.g., smartphones), including browsers, can connect to the internet wirelessly (e.g., cellular or WiFi). Client computer devices (e.g., desktop computers), including browsers, can connect to the internet wiredly. Figure 2 An example is shown. In one example, the search homepage website and the BFF server can be on the same server.
[0070] Figure 7 This shows an example of hotel search results displayed in a browser user interface on a desktop computer, where the hotel search results include prices. Figure 8 This shows an example of hotel search results displayed in a browser user interface on a smartphone, where hotel search results include prices.
[0071] One issue causing delays in providing search results is latency. This is because servers need time to respond to requests from browsers on client devices. In a system that includes client devices (including browsers), the hotel search homepage website, the front-end in the cloud (including content delivery networks), the hotel search BFF, and the hotel booking search service servers, the interaction between the browser and the content delivery network can cause delays in the search requests received by the hotel booking search server, resulting in delays in the first search results received by the browser on the client device.
[0072] An API can be called a BFF when it provides responses to simplify front-end processing. The front-end includes the presentation layer. The back-end includes the data access layer. In one example, a BFF can be used to perform language translation from a primary language to a selected language, where the primary language could be English.
[0073] An example involving a browser process includes the following steps: 1) The user sends a search request to the hotel search homepage website using a client device with a browser. The hotel search homepage website receives communications related to this search request from the client device with the browser and sends an asynchronous pre-search request to the hotel booking search service server to initiate a search cycle on the hotel booking search service server. The browser receives the relevant HTML from the hotel search homepage website server.
[0074] 2) After the HTML is downloaded to the client device containing the browser, the browser will parse the HTML.
[0075] 3) When a browser encounters Cascading Style Sheets (CSS) and script tags while parsing HTML, it downloads external CSS and script (e.g., JavaScript) files from the front end of a cloud-based static server.
[0076] 4) After downloading CSS and script (e.g., JavaScript) files from the front end of the cloud static server, the browser parses the CSS to render web page components containing web page styles and executes the scripts (e.g., JavaScript).
[0077] 5) When the web page component is rendered in the browser, the client device containing the browser establishes a persistent connection with the hotel BFF server to poll the hotel booking search service server. The hotel BFF requests the hotel booking search service to send hotel data related to the asynchronous pre-search request every certain period of time (e.g., every 500 milliseconds), until all hotel data (including all hotel price information) has been received and sent to the client device containing the browser and rendered in the browser, and then the client device containing the browser closes the persistent connection.
[0078] The hotel booking search service server can use external services to retrieve offers from each hotel and its partners. Retrieving offers from external services takes time, and the entire process can be described as a search cycle. The hotel booking search service server can initiate a search cycle using certain search parameters. The server can receive static hotel information and data related to hotel partners from a travel API. Static hotel information consists of fixed details about the hotel, such as address, photos, website, phone number, and email address. The server can also receive hotel booking price information from hotel partners.
[0079] In one example, the same search parameters can be sent in both steps 1) and 5). This allows the hotel booking search service to use the same search cycle for both requests, ensuring that the request in step 5) benefits from the earlier request in step 1), since the search process in step 1) begins before step 5). Because the request in step 1) is sent from the hotel search homepage to the hotel booking search service server, while the request in step 5) might be sent to the hotel BFF server to poll the hotel booking search service server, the requests in steps 1) and 5) might be sent to two different locations on the internet. Sending the request to two different locations on the internet can speed up the search process, because in step 5), sending the request to the hotel BFF server to poll the hotel booking search service server, rather than sending the request to the hotel search homepage and then to the hotel BFF server to poll the hotel booking search service server, would likely be much faster.
[0080] Figure 3 An example is shown in the image.
[0081] One advantage is that the browser process and the hotel booking search service server's search cycle run in parallel. This helps minimize TTFR (Time To Failure Rate). It also helps minimize the number of polling requests sent from the hotel's BFF (Backend Forwarder) server to the hotel booking search service server, because the search cycle starts earlier than the time it takes for the browser to establish a persistent connection with the hotel's BFF server to poll the hotel booking search service server, at which point the search cycle is started. This reduces energy consumption, as sending more polling requests consumes more energy.
[0082] In one example, in step 1), the hotel search homepage website checks whether the search request originates from an unwanted bot before sending an asynchronous pre-search request to the hotel booking search service server. Checking whether a search request originates from an unwanted bot might involve checking Internet Protocol (IP) addresses against a list of IP addresses associated with unwanted bots. If the search request originates from an IP address on the list of IP addresses associated with unwanted bots, the search request can be rejected. Alternatively, the source of the search request can be tested to prove it is not a bot. If it passes the test, the search request can proceed; if it fails the test, the unwanted bot may be blocked on the browser. Checking whether a search request originates from an unwanted bot might also involve checking Internet Protocol (IP) addresses against a list of IP addresses associated with welcome bots. If the search request originates from an IP address on the list of IP addresses associated with welcome bots, the search request is not made, but the unwanted bot is not blocked on the browser. Checking whether a search request originates from an unwanted bot might involve using a bot identification service to examine the request. If the service identifies the request as potentially originating from an unwanted bot, it can reject the request. Alternatively, it can test the source of the request to prove it's not a bot. If the request passes the test, it can proceed; otherwise, it might be blocked on the browser. An example of a popular bot is one that works with a hotel search homepage for search engine optimization. For requests received from bots (e.g., unwanted bots), it's advantageous not to send pre-search requests to the hotel booking search service, as such requests increase traffic to the hotel booking search server, wasting computational and energy resources.
[0083] Figure 4 An example containing example times is shown. Figure 4 In this case, TTFR is 0.7 + 3.5 + 0.45 = 4.65 seconds, as shown on the left side of the figure. If an asynchronous search is not sent initially, but instead a search request is sent when a persistent connection is established with the polling hotels, then according to... Figure 4 The time shown on the right indicates that TTFR will be extended by at least 1.15 seconds, meaning the hotel booking search service server obtains the first hotel price and static hotel information 1.15 seconds after receiving the search request. Figure 4 In the example, the network connection was slow, which is why it took 3.5 seconds to parse the HTML, retrieve the CSS and script files, receive the CSS and script files, render the styles, and execute the script. Figure 4 In the example, polling / search requests are sent from the hotel BFF to the hotel booking search server every 500 milliseconds.
[0084] In this example, polling involves calling the backend to retrieve more results. Polling also includes the client program actively sampling the state of external devices as a synchronization activity. Polling may continue until the backend returns no more results, at which point polling stops, and the search cycle ends.
[0085] Cross-regional solutions with pre-search and polling Typically, a gateway is associated with the hotel search homepage website server, the hotel BFF server, and the hotel booking search service server. The gateway routes each request received from the browser to a selected group of servers associated with a geographic region (e.g., Western Europe, Eastern Europe, Asia, North America, etc.). Generally, the selected group of servers associated with a geographic region may change within a session, for example, from Western Europe to North America; an example scenario might be that the relative volume of network traffic makes using one group of servers preferable to another. This situation can cause problems for pre-search (i.e., asynchronous search requests) because if pre-search (i.e., asynchronous search requests) uses the group of servers associated with the first geographic region and establishes persistent connections to poll hotels to a group of servers associated with a second geographic region different from the first, the process may not work, or the process may require calls between the group of servers associated with the first geographic region and the group of servers associated with the second geographic region, which slows down the process, contrary to the goal of reducing TTFR, and the calls between the group of servers associated with the first geographic region and the group of servers associated with the second geographic region can increase costs and often energy usage.
[0086] Therefore, when the hotel search homepage website returns a search page HTML, this HTML contains a region identifier (e.g., a region value), which can be defined as an environment variable. In response to the data returned by the hotel search homepage website, the browser can set the region using a cookie (e.g., a session cookie). Then, when a persistent connection is established to poll hotels towards the hotel booking search service, the request header includes the region obtained from the cookie (e.g., a session cookie). The gateway associated with the hotel search homepage website server, the hotel BFF server, and the hotel booking search service server then routes the request received from the browser to a group of servers associated with the geographic region defined by the cookie (e.g., a session cookie). This can be described as defining session affinity.
[0087] In this case, the example process, including the browser process, includes the following steps: 1) The user sends a search request to the hotel search homepage website using a client device including a browser. The hotel search homepage website receives the communication associated with the search request from the client device including the browser and sends an asynchronous pre-search request to the hotel booking search service server to initiate a search cycle on the hotel booking search service server. The browser receives the relevant HTML and the regions defined in environment variables from the hotel search homepage website server. The browser stores the regions defined in environment variables in cookies, such as session cookies.
[0088] 2) After the HTML is downloaded to the client device, including the browser, the browser parses the HTML.
[0089] 3) When a browser encounters Cascading Style Sheets (CSS) and script tags while parsing HTML, it downloads external CSS and script (such as JavaScript) files from the front end of a cloud-based static server.
[0090] 4) After downloading CSS and script (e.g., JavaScript) files from the front end of the cloud static server, the browser parses the CSS to render web page components containing web page styles and executes the scripts (e.g., JavaScript).
[0091] 5) When the web page component is rendered on the browser, the client device containing the browser establishes a persistent connection with the hotel BFF server to poll the hotel booking search service server. Session affinity is set by the request header. The gateway associated with the hotel search homepage website server, the hotel BFF server, and the hotel booking search service server then routes this traffic to a region defined in a cookie, such as a session cookie. The hotel BFF requests the hotel booking search service to send hotel data related to an asynchronous pre-search request every certain period (e.g., every 500 milliseconds) until all hotel data (including all hotel pricing information) has been received and sent to the client device containing the browser and rendered on the browser. The client device containing the browser then closes the persistent connection.
[0092] Figure 5 An example is shown in the image.
[0093] In one example, if a browser executing on a client device requests price information, it might be appropriate to first provide the browser with static hotel information, and then only provide the relevant price information. One reason is that static hotel information is typically available much faster than price information, as price information changes much more rapidly, and the hotel booking search service might need to request the latest price information before providing it. Another reason is that if the client device has a small screen (e.g., on a smartphone), it's best to initially provide only static hotel information and only provide price information when requested, to keep the amount of data displayed on the screen and the amount of data transferred to the mobile device commensurate with the small screen size and mobile communication, respectively. In this case, the example process, including the browser process, includes the following steps: 1) The user sends a search request to the hotel search homepage website using a client device including a browser. The hotel search homepage website receives the communication associated with the search request from the client device including the browser and sends an asynchronous pre-search request to the hotel booking search service server to initiate a search cycle on the hotel booking search service server. The browser receives the relevant HTML and the regions defined in environment variables from the hotel search homepage website server. The browser stores the regions defined in environment variables in cookies, such as session cookies.
[0094] 2) After the HTML is downloaded to the client device, including the browser, the browser parses the HTML.
[0095] 3) When a browser encounters Cascading Style Sheets (CSS) and script tags while parsing HTML, it downloads external CSS and script (such as JavaScript) files from the front end of a cloud-based static server.
[0096] 4) After downloading CSS and script (e.g., JavaScript) files from the front end of the cloud static server, the browser parses the CSS to render web page components containing web page styles and executes the scripts (e.g., JavaScript).
[0097] 5) When the webpage component is rendered in a browser, the client device containing the browser establishes a persistent connection with the hotel BFF server to poll the hotel booking search service server. Session affinity is set by the request header. The gateway associated with the hotel search homepage website server, the hotel BFF server, and the hotel booking search service server then routes this traffic to a region defined in a cookie, such as a session cookie. The hotel BFF requests the hotel booking search service to send hotel data related to an asynchronous pre-search request sent to the hotel booking search service server at regular intervals (e.g., every 500 milliseconds) until all hotel data (including hotel price information) has been received by the hotel BFF server. However, in the first phase, the hotel BFF server sends static hotel data, but not hotel price information, to the client device containing the browser, and renders the static hotel data, but not the hotel price information, at the browser. A region identifier from the hotel BFF server is sent to the browser and stored as a cookie. When the hotel BFF server receives all static hotel information and all hotel price information, the hotel BFF service closes the persistent connection. If a client device including a browser requests hotel price information, the hotel BFF server will only send the hotel price information to the client device including the browser; such a request may include a region header from a cookie that records the region identifier sent from the hotel BFF server to ensure that the hotel price information used to provide static hotel information uses the same region.
[0098] Figure 6 An example is shown in the figure.
[0099] In one example, the client device is a mobile device, such as a smartphone.
[0100] In an optional further step, if the hotel BFF server sends hotel pricing information to a client device including a browser, the hotel BFF server sends another region identifier from the hotel BFF service to the browser, which is stored in another cookie on the client device. Then, if the browser requests a checkout process from the hotel BFF server, the request includes a region header from the other cookie to ensure that the checkout process used to provide hotel pricing information uses the same region.
[0101] Example Implementation In the example implementation, a new field is included in the pre-search request sent to the search service (e.g., for hotel bookings) to indicate that the request is an asynchronous search request, including initiating a search cycle. In one example, the new field is a boolean field, where TRUE indicates that the request is used to initialize the search cycle.
[0102] In one example implementation, the search homepage website (e.g., for hotels) uses javascript, typescript, nodejavascript, and react languages and frameworks; the BFF server (e.g., for hotels) uses nodejavascript language and frameworks; and the search service (e.g., for hotel bookings) uses python and aiohttp language and frameworks.
[0103] Hotel booking search service pre-search requests can include one or more of the following parameters: "market", "region", "room", "adult", "currency", "check-in date". "Check-out_Date", "Sort_Version", "Child_Age", "Source", "cug_Section", "Quick_Search" "t_version", "tracking_information".
[0104] Additional or alternative methods to reduce TTFR In the example implementation, for desktop, mobile, and even tablet client devices that execute the corresponding browser program, the same content provided by the front end in the cloud is provided to all devices. The content includes components such as CSS and scripts (e.g., javascript), and then the browser performs CSS media queries to provide responsive rendering, for example, based on the browser screen width, which varies according to the device (e.g., desktop computer, laptop, internet TV, smartphone, tablet).
[0105] However, most components used in search homepage websites (e.g., hotel search homepage websites), including CSS and scripts (e.g., JavaScript), are designed completely differently for different devices such as desktop computers and mobile devices (e.g., smartphones). This makes it impossible or infeasible to reuse these components. For example, it is impossible or infeasible to use CSS and scripts (e.g., JavaScript) on a desktop computer running on a smartphone, and vice versa. For example, for content served by a front-end in the cloud, the content includes corresponding components such as CSS and scripts (e.g., JavaScript) for multiple corresponding devices (e.g., desktop computers, laptops, internet TVs, smartphones, tablets), and this content is bundled together. When a user accesses a search homepage website (e.g., a hotel search homepage website) using a mobile device (e.g., a smartphone), the CSS and scripts (e.g., JavaScript) implemented for desktop devices will be received but not used: the CSS and scripts implemented for desktop devices will be downloaded to the mobile device browser without being executed. This downloaded but unused content significantly increases TTFR because more data must be downloaded from the front-end in the cloud before search results can be received from the search service server (e.g., a hotel booking search service). TTFR increases significantly when users are using low network speeds (e.g., 3G) because users need to wait for all CSS and script (e.g., javascript) content to download, execute, and / or be processed before they can receive search results.
[0106] Therefore, to reduce TTFR (Time To Free) errors, when a browser retrieves CSS and script files from a front-end server in the cloud, it identifies the client device category (e.g., desktop computer, laptop, internet TV, smartphone, tablet). In response, the front-end server returns a set of corresponding selected CSS and script files to the device, chosen based on the client device category identified by the browser. For example, if the browser identifies the client device category as a smartphone, the front-end server will return a set of corresponding CSS and script files. Similarly, if the browser identifies the client device category as a desktop computer, the front-end server will return a set of corresponding CSS and script files.
[0107] In another example, TTFR can be reduced by decreasing the polling interval.
[0108] Other search services While we have highlighted applications related to hotel booking search services above, other applications are also possible, such as flight search services, rental vehicle search services (e.g., cars, sedans, vans, trucks, boats, ships, airplanes, motorcycles), home loan search services, insurance search services (e.g., car insurance, home insurance, travel insurance, life insurance, pet insurance), money loan search services, mortgage search services, mobile phone purchase search services, broadband transaction search services, real estate search services, rental accommodation search services, and dating search services.
[0109] Cascading Style Sheets (CSS) Cascading Style Sheets (CSS) is a stylesheet language used to describe the rendering of documents written in markup languages such as Hypertext Markup Language (HTML) or Extensible Markup Language (XML) (including XML dialects such as Scalable Vector Graphics (SVG), Mathematical Markup Language (MathML), or Extensible Hypertext Markup Language (XHTML)). CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.
[0110] CSS aims to separate content from presentation, including layout, color, and fonts. This separation improves content accessibility; provides greater flexibility and control in the specification of presentation features; reduces the complexity and redundancy of structural content by allowing multiple web pages to share formatting by specifying related CSS in separate .CSS files; and allows caching of .CSS files to improve page load speed between pages that share the file and its formatting.
[0111] The separation of format and content also makes it possible to render the same markup page with different styles for different rendering methods, such as on screen, in print, via voice (e.g., through voice-based browsers or screen readers), and on Braille-based tactile devices. CSS also has rules for alternative formatting if the content is accessed on a mobile device.
[0112] JAVASCRIPT JavaScript, often abbreviated as JS, is a programming language and one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites used JavaScript on the client-side for webpage behavior, typically including third-party libraries. All major web browsers have a dedicated JavaScript engine to execute code on the user's device.
[0113] JavaScript is a high-level, often just-in-time (JIT) compiled language that conforms to the ECMAScript standard (ECMAScript is a JavaScript standard designed to ensure interoperability of web pages across different browsers). JavaScript features dynamic typing, prototype-based object-oriented programming, and first-level functions. It is multi-paradigm, supporting event-driven, functional, and imperative programming styles. It has application programming interfaces (APIs) for manipulating text, dates, regular expressions, standard data structures, and the Document Object Model (DOM).
[0114] The ECMAScript standard does not include any input / output (I / O) such as network, storage, or graphics facilities. In practice, web browsers or other runtime systems provide JavaScript APIs for I / O.
[0115] JavaScript engines were initially used only in web browsers, but are now core components of some servers and various applications. The most popular runtime system is Node.js.
[0116] HTML elements An HTML element is a type of component in an HTML (Hypertext Markup Language) document, and is one of several types of HTML nodes (others include text nodes, comment nodes, etc.). An HTML document consists of a simple tree of HTML nodes, such as text nodes and HTML elements, which add semantics and formatting to various parts of the document (e.g., bolding text, organizing it into paragraphs, lists, and tables, or embedding hyperlinks and images). Each element can have specified HTML attributes. Elements can also have content, including other elements and text.
[0117] Elements and Tags As is generally understood, the position of an element is indicated by a start tag and an end tag. This is true for many elements in an HTML document, but not all. Some tags can be omitted. Omitting the start tag of an element does not mean that the element does not exist; it is implicit, but it still exists. Informally, HTML elements are sometimes referred to as "tags," although many people prefer the term "tag," which strictly refers to the markup that separates the beginning and end of an element.
[0118] server When the term "server" is used, it can refer to a single server, a group of servers, or a server in the cloud, as will be apparent to those skilled in the art.
[0119] Notice It should be understood that the above-cited arrangements are merely illustrative of the application of the principles of the invention. Many modifications and alternative arrangements can be devised without departing from the spirit and scope of the invention. Although the invention has been shown in the accompanying drawings and described in detail above with reference to examples now considered to be the most practical and preferred embodiments of the invention, those skilled in the art will understand that many modifications can be made without departing from the principles and concepts of the invention as described herein.
Claims
1. A computer-implemented method for finding search results, the method using a browser running on a client device, a search homepage website, a front-end dedicated back-end (BFF) server, and a search service server, the method comprising the following steps: (i) A browser running on the client device sends a search request to the search homepage website, the search request including search parameters; (ii) The search homepage website sends an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search server responds to the asynchronous pre-search request by using the search parameters to start a search cycle; (iii) The browser receives HTML data, including Cascading Style Sheets (CSS) and script tags, from the search homepage website; (iv) The browser executes CSS and script tags to download CSS and script files from the front-end server; (v) The browser parses the CSS file to render web page components that include web page styles; (vi) The browser executes the script file, causing the client device including the browser to establish a persistent connection to the front-end dedicated back-end (BFF) server and send the search parameters to the BFF server, which uses the search parameters to poll the search service server. (vii) The search service server recognizes that the search parameters it receives in step (vi) correspond to the search parameters it receives in step (ii), and in response to polling from the BFF server, provides the BFF server with the first search result from the search cycle initiated in step (ii); (viii) The BFF server sends the first search result to a browser executed on the client computer, and (ix) The browser provides a first search result to be displayed on the screen of the client device.
2. The method according to claim 1, wherein, The search request is for hotel bookings.
3. The method according to claim 1, wherein, The search requests are for flights, rental vehicles (e.g., cars, sedans, vans, trucks, boats, ships, airplanes, motorcycles), home loans, insurance (e.g., car insurance, home insurance, travel insurance, life insurance, pet insurance), money loans, mortgages, mobile phone purchases, broadband transactions, real estate, rental accommodations, or dating.
4. The method according to any one of the preceding claims, wherein, The client device is a desktop computer, laptop computer, internet TV, smartphone, or tablet computer.
5. The method according to any one of the preceding claims, wherein, The client device is wirelessly connected to the Internet (e.g., cellular or WiFi).
6. The method according to any one of claims 1 to 4, wherein, The client device is connected to the Internet via a wired connection.
7. The method according to any one of the preceding claims, wherein, The front-end server is a cloud server.
8. The method according to any one of the preceding claims, wherein, The front-end server is a content delivery network (CDN), such as a static file server.
9. The method according to any one of the preceding claims, wherein, The BFF server is used to provide language translation to translate results in a first language received from the search service server into a second language, and to send the results in the second language to a browser executed on the client device.
10. The method according to any one of the preceding claims, wherein, The BFF server polls the search service server periodically to request the search server to send data related to the asynchronous pre-search request sent to the search service server.
11. The method according to any one of the preceding claims, wherein, The BFF server polls the search service server periodically to request the search service server to send data related to the asynchronous pre-search request sent to the search service server, until all search results are received and sent to the client device including the browser and rendered on the browser, and then the client device including the browser closes the persistent connection.
12. The method according to any one of the preceding claims, wherein, The search cycle includes the search service server using external services to retrieve search data related to the search results.
13. The method according to any one of the preceding claims, wherein, The search homepage website checks whether the search request comes from a bot. If it determines that the search request does not appear to come from a bot, it continues the search process.
14. The method according to any one of the preceding claims, wherein, A gateway associated with the search homepage website server selects a geographic region from multiple geographic regions and then routes the search request received from the browser to a server group within that geographic region. The server group includes a BFF server and a search service server. The search service website returns an identifier associated with the selected geographic region to the browser, and the browser uses the identifier associated with the selected geographic region to enable the gateway to route the search request received from the browser to the server group within that geographic region.
15. The method according to claim 14, wherein, The browser uses cookies (e.g., session cookies) to set the selected geographic region.
16. The method according to claim 14 or 15, wherein, When the persistent connection is established to poll the search service, the request header includes a region obtained from the cookie (e.g., a session cookie).
17. The method according to any one of the preceding claims, wherein, The first search data (e.g., hotel static information) is provided by the BFF server to the browser running on the client device. If the browser on the client device requests the second search data (e.g., relevant price information), the second search data (e.g., relevant price information) is only provided afterward.
18. The method according to claim 17, wherein, The region identifier is sent from the BFF server to the browser and, for example, stored as a cookie.
19. The method according to claim 18, wherein, The request for the second search data (e.g., relevant price information) from a browser executed on the client device includes a region identifier sent from the BFF server to the browser and stored as, for example, a cookie.
20. The method according to claim 19, wherein, After the BFF server sends the second data (e.g., hotel price information) to the client device including the browser, the BFF server sends another region identifier from the BFF server to the browser, the identifier being stored on the client device, for example, in another cookie.
21. The method according to claim 20, wherein, After the browser requests the checkout process from the BFF server, the request includes another region identifier, such as an identifier from another cookie, to ensure that the checkout process used to provide the second data (e.g., hotel price information) uses the same region.
22. The method according to any one of the preceding claims, wherein, Include a field in the pre-search request sent to a search service (e.g., for hotel bookings) to indicate that the request is an asynchronous search request, including the start of the search cycle.
23. The method according to any one of the preceding claims, wherein, The search homepage website (e.g., for hotels) uses javascript, typescript, nodejavascript and react languages and frameworks; the BFF server (e.g., for hotels) uses nodejavascript language and frameworks; and the search service (e.g., for hotel bookings) uses python and aiohttp language and frameworks.
24. The method according to any one of the preceding claims, wherein, When the browser retrieves CSS and script files from the front-end server, the browser identifies the client device category (e.g., desktop computer, laptop computer, internet TV, smartphone, tablet computer) to the front-end server, and the browser receives a corresponding set of selected CSS and script files as a response from the front-end server, these files corresponding to the client device category identified by the browser.
25. The method according to any one of the preceding claims, wherein, The script file is a javascript file.
26. A system comprising a client device, the client device including a browser program, a search homepage website, a front-end dedicated back-end (BFF) server, and a search service server, the system being configured to perform the method according to any one of claims 1 to 25.
27. A client device comprising a browser program of the system according to claim 26.
28. A search homepage website for the system according to claim 26.
29. A front-end dedicated back-end (BFF) server for the system according to claim 26.
30. A search service server for the system according to claim 26.
31. A system comprising: This includes client devices such as browser programs and screens, search homepage websites, front-end dedicated back-end (BFF) servers, and search service servers, among which: (i) The browser is configured to execute on the client device to send a search request to the search homepage website, the search request including search parameters; (ii) The search homepage website is configured to send an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search server is configured to initiate a search cycle using the search parameters in response to the asynchronous pre-search request; (iii) The browser is configured to receive HTML data, including Cascading Style Sheets (CSS) and script tags, from the search homepage website; (iv) The browser is configured to execute CSS and script tags to download CSS and script files from the front-end server; (v) The browser is configured to parse the CSS file to render web page components that include web page styles; (vi) The browser is configured to execute the script file, wherein, in response to the browser executing the script file, the browser's client device is configured to establish a persistent connection to the front-end dedicated back-end (BFF) server and send the search parameters to the BFF server, wherein the BFF server is configured to poll the search service server using the search parameters; (vii) The search service server is configured to recognize that the search parameters it receives in (vi) correspond to the search parameters it receives in (ii), and in response to polling from the BFF server, to provide the BFF server with a first search result from the search cycle initiated in (ii); (viii) The BFF server is configured to send the first search result to a browser executed on the client device, and (ix) The browser is configured to provide the first search result for display on the screen of the client device.
32. The system according to claim 31, wherein, The system is configured to perform the method according to any one of claims 1 to 25.
33. A client device comprising a browser program of the system according to claim 31 or 32.
34. A search homepage website for the system according to claim 31 or 32.
35. A front-end dedicated back-end (BFF) server for the system according to claim 31 or 32.
36. A search service server for the system according to claim 31 or 32.
37. A system comprising: The search homepage website, the dedicated front-end back-end (BFF) server, the front-end server, and the search service server, among which: (i) The search homepage website is configured to receive search requests from a browser executed on a client device, the search requests including search parameters; (ii) The search homepage website is configured to send an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search server is configured to initiate a search cycle using the search parameters in response to the asynchronous pre-search request; (iii) The search homepage website is configured to send HTML data including Cascading Style Sheets (CSS) and script tags to the browser, wherein the CSS and script tags are executable in the browser to download CSS and script files from a front-end server; (iv) The front-end server is configured to send the CSS and script files to the browser, wherein the CSS file is parsable at the browser to render web page components including web page styles, and wherein the script file is executable at the browser to establish a persistent connection to the front-end dedicated back-end (BFF) server and send the search parameters to the BFF server, wherein the BFF server is configured to poll the search service server using the search parameters; (v) The search service server is configured to recognize that the search parameters it receives in (vi) correspond to the search parameters it receives in (ii), and in response to polling from the BFF server, to provide the BFF server with a first search result from the search cycle initiated in (ii); (vi) The BFF server is configured to send the first search result to a browser running on the client device to provide the first search result for display on the screen of the client device.
38. The system according to claim 37, wherein, The system is configured to perform the method according to any one of claims 1 to 25.
39. A front-end server for the system according to claim 37 or 38.
40. A search homepage website for the system according to claim 37 or 38.
41. A front-end dedicated back-end (BFF) server for the system according to claim 37 or 38.
42. A search service server for the system according to claim 37 or 38.
43. A computer-implemented method for finding search results, the method using a search homepage website, a front-end dedicated back-end (BFF) server, a front-end server, and a search service server, the method comprising the following steps: (i) The search homepage website receives a search request from a browser executed on the client device, the search request including search parameters; (ii) The search homepage website sends an asynchronous pre-search request to the search service server, the asynchronous pre-search request including the search parameters, and the search server responds to the asynchronous pre-search request by using the search parameters to start a search cycle; (iii) The search homepage website sends HTML data including Cascading Style Sheets (CSS) and script tags to the browser, wherein the CSS and script tags are executable in the browser to download CSS and script files from the front-end server; (iv) The front-end server sends the CSS and script files to the browser, wherein the CSS file is parsable at the browser to render web page components including web page styles, and wherein the script file is executable at the browser to establish a persistent connection with the front-end dedicated back-end (BFF) server and send the search parameters to the BFF server, wherein the BFF server uses the search parameters to poll the search service server. (v) The search service server recognizes that the search parameters it receives in step (vi) correspond to the search parameters it receives in step (ii), and in response to a polling from the BFF server, provides the BFF server with a first search result from the search cycle initiated in step (ii); (vi) The BFF server sends the first search result to a browser running on the client device to provide the first search result for display on the screen of the client device.
44. The method according to claim 43, wherein, The method includes the method according to any one of claims 1 to 25.
Citation Information
Patent Citations
Somatostatin analogs, process for their preparation and pharmaceutical compositions containing them
EP0000053A1
Systems and methods for search template generation
EP3557437A1
Systems and methods for search template generation
EP3557437B1