Server computer for the dynamic delivery of website content
The server computer optimizes website delivery by generating initial and second content variants, leveraging edge servers to manage dynamic content efficiently, reducing infrastructure costs and enhancing user experience.
Patent Information
- Application Number
- DE202025106466
- Authority / Receiving Office
- DE · DE
- Patent Type
- Utility models
- Current Assignee / Owner
- Filing Date
- 2025-10-23
- Publication Date
- 2025-12-11
- Estimated Expiration
- 2035-10-31
AI Technical Summary
Current website delivery systems are inefficient due to the need for multiple requests to backend servers for different output formats and the inability to cache dynamic content, leading to increased infrastructure costs and noticeable performance losses.
A server computer generates initial and second content variants, where the initial variant includes static and initial dynamic content, and the second variant includes additional dynamic content, delivered via edge servers, reducing the need for direct communication with client devices and optimizing network resources.
This approach conserves network resources and speeds up data transfer, improving user experience by allowing edge servers to handle workload efficiently and deliver content quickly.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The invention relates to a server computer for the dynamic provision of website content. BACKGROUND OF THE INVENTION
[0002] Website content data is typically provided to a client or end device by a web server, such as a computer, either as complete HTML pages or as structured raw data, for example in JSON format. This provisioning is handled by so-called edge servers, which are geographically distributed and thus improve performance by making cached website content available locally. This relieves the "back-end" web server of the load and speeds up the delivery of content to clients.
[0003] This cached data is usually stored in an isolated cache to ensure that other users using the same website do not have access to the data.
[0004] For different output formats of the same content, typically a copy of the content, tailored to each output format, is stored in the edge server. This requires multiple requests to the backend web servers, ensuring the edge server receives a copy for each output format. However, this is inefficient because identical or overlapping web page content must be served multiple times from the same web server and cached in the edge server, differing only in their output format. Furthermore, only complete web page content is stored, meaning that interacting with a web page requires a complete reload.
[0005] Particular problems arise when websites feature dynamic content that changes during the user's visit, for example, due to user interactions. This dynamic content typically needs to be retrieved from a database stored on the backend server. This takes time, resulting in a noticeable delay before the updated dynamic content is displayed to the user.
[0006] The consequences are increased infrastructure costs and noticeable performance losses when delivering websites to users on their client devices. These performance losses are present both when loading the website and when displaying the content on the client. Furthermore, personalized website content is not typically cached using current technology, as the existing infrastructure, especially the edge servers, is not designed for this.
[0007] Therefore, there is a need to ensure a more efficient delivery of website content to end users. PRESENTATION OF THE INVENTION
[0008] A server computer configured to provide a website to a user's client device is revealed. The server computer includes a processor, memory, and a communication interface. The processor executes instructions stored in memory. The steps involve generating a website content package for a specific page of the website. This page is defined by a unique URL and is accessible via this URL. The website content package contains an initial content variant, which includes both static and initial dynamic content. The static content defines the structure, header, and footer of the page. The initial dynamic content is organized into blocks and can contain general website content that can change. This content can include, for example, product information, content pages with text and / or media, and / or product category pages.The steps involve submitting the website content package to an edge server. The edge server then forwards the website content package to the client device. The next step involves the edge server receiving a forwarded request from the client device. This request requests additional dynamic content not available in the first content variant. Based on this request, a second content variant for the website page is generated. This second content variant contains further (additional) dynamic content. Finally, the steps involve submitting this request to the edge server for forwarding to the client device.
[0009] The advantage of the server computer is that, by delivering these content packages to the edge server, it doesn't need to communicate directly with the client devices. This means the server computer doesn't need to be as powerful, as multiple edge servers can handle the workload. At the same time, these edge servers can be geographically closer to the client devices, allowing them to retrieve website content more quickly.
[0010] The first content variant is a version of the website content package that contains a specific standard compilation of static and dynamic content for the website before a specific user request for further content is made.
[0011] The second content variant is a modified version of the website content package containing additional or updated dynamic content generated in response to a specific request from the client device. This second content variant does not include any static content already present in the first content package. This conserves network resources and speeds up data transfer, resulting in an improved user experience.
[0012] In one embodiment, the server computer's processor performs the following additional steps. These steps include receiving user interaction information from the edge server. This user interaction information was transmitted by the client device. The user interaction information contains details about the user's interaction with the page. Specifically, the information relates to content, such as products, that the user has viewed. The user's interaction includes elements of the page that the user has viewed. The steps also include generating another web page content package for the page. This additional web page content package contains personalized content. The personalized content includes or relates to dynamic content related to the content that the user has viewed.The steps include transmitting the website content package to the edge server and then forwarding it to the client device.
[0013] In one embodiment, the processor is configured to generate a device discovery script. This script is designed to run on the edge server. The processor transmits the device discovery script to the edge server. The script is configured to cause the edge server to perform the following steps. These steps include identifying the client device's properties using information provided by the client device during a communication session. The client device's properties include communication session properties, software configuration, and / or hardware configuration. The steps also include generating a website cookie for later identification of the client device. This website cookie contains information about the client device's properties.The steps involve identifying third-party dynamic content stored on the edge server that relates to content matching the client device's characteristics. The steps then involve delivering this third-party dynamic content and the website cookie to the client device. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Aspects of the invention are explained in more detail with reference to the exemplary embodiments shown in the following figures and the accompanying description. The figures show: Fig. 1 a diagram with a schematic system architecture comprising a server computer according to the invention; Fig. 2. A block diagram showing the components of the server computer; Fig. 3. A block diagram to illustrate the relationship between the website and a website content package; Fig. 4. A block diagram with one content variant; Fig. 5 a block diagram with another content variant; Fig. 6. A block diagram with one block, containing dynamic content; Fig. 7. A block diagram with a website content package comprising generic content and personalized content; and Fig. 8 A flowchart of a process that is executed by a server computer. DETAILED DESCRIPTION OF THE EXECUTION EXAMPLES
[0015] Fig. 1 and Fig. Figure 2 shows a server computer 1. The server computer 1 is a data processing system configured to provide services, data, or applications over a network, in particular the Internet 5. The server computer includes at least one processor 11 (CPU) for executing program instructions and memory 12, which may include volatile and / or non-volatile storage media, such as main memory (RAM), hard disk drives (HDD), solid-state drives (SSD), or other suitable storage media. The server computer 1, or rather the processor 11, is therefore designed to execute certain procedures, steps, and functions as described here.
[0016] The server computer 1 includes at least one communication interface 13, which is configured for data transmission between the server computer 1 and external systems, devices, or networks. The communication interface 13 can be a wired interface (e.g., Ethernet, fiber optic) and / or a wireless interface (e.g., WLAN, cellular, Bluetooth).
[0017] The communication interface 13 is functionally connected to the processor 11 of the server computer 1 and enables the exchange of data packets according to one or more network protocols, for example the Transmission Control Protocol (TCP), the Internet Protocol (IP), the Hypertext Transfer Protocol (HTTP / HTTPS), the File Transfer Protocol (FTP) or other suitable protocols.
[0018] The communication interface 13 enables, in particular, a communication connection V7 to a database 4. The database 4 serves for the structured storage, management, and querying of data required for the operation of the server computer 1. The connection to the database can be established via standardized interfaces such as SQL, REST, or other suitable protocols.
[0019] Furthermore, server computer 1 is connected to a communication network 5, preferably the internet, to exchange data with external clients, other servers, or other network components. The network connection can be wired (e.g., Ethernet) or wireless (e.g., WLAN, cellular) and supports common network protocols such as TCP / IP. Server computer 1 is specifically connected to several edge servers 2A and 2B via communication links V1 and V2, which are established over communication network 5.
[0020] The edge servers 2A, 2B, as in Fig. Figure 1 shows specialized servers within a distributed network architecture that serve to deliver website content to users of client devices 3A-3D without requiring a direct connection between the client device 3A-3D and the central back-end server, referred to here as server computer 1, for every user request. The operation of an edge server 2A, 2B is based on the local caching and delivery of website content, thereby increasing delivery efficiency and significantly reducing the load on server computer 1.
[0021] The Edge Server 2A, 2B, like the Server 1, is equipped with at least one processor (CPU) for executing program instructions and memory, which may include volatile and / or non-volatile storage media. The memory may include caches and is designed to provide web pages. The Edge Server 2A, 2B includes at least one communication interface designed for data transmission between the Edge Server 2A, 2B and the Server 1, as well as between the Edge Server 2A, 2B and the Client Device 3A-3D.
[0022] Edge servers 2A and 2B are geographically distributed and often connected to network nodes, such as internet service provider (ISP) data centers, metro or colocation data centers, and as part of the infrastructure of large cloud providers. This enables low latency to end users and high bandwidth.
[0023] The interaction between server 1, edge servers 2A and 2B, and client devices 3A and 3D is characterized by a clear division of tasks. Server 1 handles the central generation and updating of website content, especially content that cannot be cached locally or that is based on specific user requests. Edge servers 2A and 2B act as an intermediary, receiving, caching, and delivering content, as well as forwarding requests for unavailable content. Client devices 3A and 3D primarily communicate with edge servers 2A and 2B, thereby reducing latency and increasing the overall system's scalability.
[0024] Content is cached on Edge Server 2A, 2B in isolated caches to ensure user security and privacy. Static content is typically served uniformly for all users, while dynamic and personalized content is stored in separate, user-specific caches. Furthermore, Edge Server 2A, 2B can use device-specific information, collected via a device detection script provided by Server 1, to optimize content delivery. This involves identifying client device characteristics, such as software and hardware configuration, during the communication session and storing them in a website cookie. Based on this information, Edge Server 2A, 2B can selectively choose and deliver content that is optimally tailored to the respective client device 3A-3D.
[0025] The advantages of this architecture lie particularly in relieving the burden on server 1, reducing network load, and improving performance for the end user. Since the edge servers 2A and 2B can handle the majority of requests independently, direct connections to server 1 are only established when necessary, for example, when new or personalized content is requested. This results in more efficient use of server resources, faster delivery of website content, and better system scalability with a high number of users.
[0026] Client devices (3A-3D) are end-user electronic devices equipped with communication interfaces for communicating with edge servers. Communication links (V3-V6) are established via a data communication network, typically the internet. Client devices can be smartphones, tablets, laptops, or desktop computers. They feature a browser, a software application used to view and interact with content provided via the World Wide Web. The browser enables the retrieval, interpretation, and display of web pages, typically encoded in Hypertext Markup Language (HTML).
[0027] Figure 3 illustrates a website 7. The website 7 consists of multiple individual pages, referred to here as pages 71-73, each of which is addressable via a unique URL (Uniform Resource Locator) 8. The URL 8 consists of a base URL, which is usually linked to the website's homepage. Further pages are defined by characters appended to the base URL, also known as a path, which, as is known, defines the website's structure. In addition to specifying the page, a URL 8 can also contain a query string, which may include parameters used for filtering, sorting, or tracking (within a session, for example) the page. Such query strings are often separated from the part of the URL that defines the page path by a special character.Although such query strings can supplement the URL 8, their use does not change the actual page, but merely defines, for example, dynamic content that the page should contain.
[0028] Website 7 is provided by server 1. However, certain parts of website 7, in the form of so-called website content packages, are transmitted to the edge servers so that the edge servers can quickly deliver at least parts of the website to end users or their client devices. Website 7, or its individual pages 71-73, can therefore be accessed by a client device via a communication network, in particular the internet.
[0029] Each page 71-73 represents a self-contained logical or functional unit. Pages 71-73 include, for example, a start page (also called homepage), several product pages, a contact page, or a user profile page. The unique URL 8 serves to identify and allow direct access to the respective page 71 by a web browser or other client system.
[0030] Pages 71-73 of the website can be generated statically or dynamically. With dynamic generation, the page content is created based on user requests, session data, or database content. The mapping of URLs 8 to the respective pages is handled by server-side routing mechanisms, which run, for example, on the edge servers, or by client-side scripts in conjunction with a web framework.
[0031] Each page 71-73 of website 71 is assigned a website content package 6. The assignment or linking of a website content package 6 to a specific page 71 can be done via the URL 8. The website content package 6 comprises or refers to several content variants 62A, 62B. The content variants 62A, 62B comprise data, in particular in the form of code (e.g., HTML code) and / or media (e.g., images). The content variants 62A, 62B are designed so that the client device, in particular a web browser, can provide the corresponding page 71 of website 7. The content variants 62A, 62B are used in connection with Fig. 4 explained in more detail.
[0032] The in Fig. The first content variant shown, 62A, comprises static content 63 and (first) dynamic content 64A.
[0033] Static content (63) refers to elements of the page that are generally unchanging unless modified by a website administrator. This static content (63) typically consists of fixed files that are transmitted to the client device as part of the first content variant (62A) without user-specific personalization or further processing by the edge server or server computer. Because the static content (63) is the same for all website users and independent of the current session, it is particularly suitable for caching on the edge server.
[0034] The static content 63 comprises a structure 631 of the website, which is defined by specific HTML code. This includes, in particular, a header 632 and a footer 633 of the website. In addition to HTML code, the static content 63 is also defined by so-called CSS stylesheets, which determine the visual presentation (e.g., colors, fonts, and the arrangement of elements). The static content 63 can also contain images (e.g., for logos), fonts, and JavaScript files, with the JavaScript files typically being used for client-side effects such as animations. Furthermore, the static content can contain metadata for block addressing and block placement.
[0035] Dynamic content 64A refers to elements of the page that can change during a user session. These elements change based on user interactions, user settings, or server-side updates. This change typically involves database queries or API calls. However, according to the invention, as explained in more detail below, the edge server is queried first, and only if the edge server does not have the requested data is the (back-end) server computer called.
[0036] The dynamic content 64A is divided into blocks 91A and 92A. The first dynamic content 64A, delivered as part of the first content variant 62A, contains the first blocks 91A and 92A. The second content variant 62B contains, as described in Fig. 5 shown, exclusively (second) dynamic content 64B, comprising second blocks 91B, 92B.
[0037] The first content variant 62A, specifically the static content 63, is configured so that the first dynamic content 64A can be exchanged with the second dynamic content 64B. For this purpose, the static content 63 includes corresponding code, such as that written in frontend frameworks like React, Vue.js, or Angular, to display the dynamic content. Furthermore, the static content 63 includes code, for example, using AJAX / Fetch, allowing the client device to request additional dynamic content. This enables, in particular, the dynamic loading of further blocks.
[0038] As in Fig. As shown in Figure 6, blocks 91 and 92 can contain content from different categories. In particular, they can include content 910, filters 911, and / or pagination 912.
[0039] Content 910 includes product information, content pages with text and / or media, and / or product category pages. Product information may include, for example, text and / or media about specific products or services that are displayed on the page and can be ordered by the user. Content pages may include, for example, reports, articles, or other comments on specific products, topics, news, or other information.
[0040] The filters 911 refer to filters that can be used to filter the display of products so that only a subset of the products is shown.
[0041] The pagination 912 is used to distribute a large number of products that cannot be displayed on a single page across multiple pages.
[0042] Fig.Figure 8 shows a procedure 100 for delivering a web page to a user's client device, comprising steps S1-S16. Some steps of procedure 100 are executed by server 1. Other steps are executed by edge server 2 or client device 3. Certain steps are optional.
[0043] In step S1, server computer 1 generates a website content package for a specific page of the website. This generation can be done, for example, by retrieving data from a database. Typically, website content packages are generated for all pages of the website, although sometimes only a subset of these packages is generated, e.g., for the most important or frequently visited pages.
[0044] In one embodiment, the server computer 1 also generates a device identification script. This script can be generated, for example, by querying a database. The device identification script is designed to enable the edge server 2 to identify properties of the client device 3, for example, to determine whether it has previously communicated with the client device 3. Specifically, the device identification script can use HTTP header information (user agent, client hints), network parameters (IP, RTT), and / or device fingerprints.
[0045] In step S2, server computer 1 transmits the website content package to edge server 2. Server computer 1 can also transmit multiple website content packages to edge server 2, in particular one or more website content packages for each of a plurality of pages of the website. Optionally, the device detection script is also transmitted.
[0046] In step S3, the Edge server 2 receives the website content package and stores it.
[0047] In step S4, client device 3 submits a request using a web browser. The request contains a specific URL. The request is then transmitted to edge server 2.
[0048] In step S5, Edge Server 2 receives the request. Edge Server 2 checks whether it has the necessary data to fulfill the request. If the request is an initial request from Client Device 3 for a specific page of the website, Edge Server 2 can fully fulfill the request. Based on the request, Edge Server 2 can establish a communication session.
[0049] During the communication session, particularly during its establishment, properties of the client device are transmitted to or disclosed by Edge Server 2. These properties include communication session characteristics, such as an IP address, the time and duration of the communication session, etc. The properties can also include software configuration information for Client Device 2, such as details about the web browser and / or operating system. Furthermore, the properties can include hardware configuration information, such as the type or model of the device (whether it is a smartphone, tablet, or PC). The identified properties can be stored on Edge Server 2 or on Server 1 and linked to an identifier, allowing the properties of Client Device 3 to be identified again in the future using this identifier.
[0050] Furthermore, the device detection script can fill gaps in the dataset by making assumptions based on a large dataset of client devices and their associated properties. In other words, missing information in the properties of client device 3 can still be provided through assumptions. For example, if a Safari web browser is used, it can be assumed that client device 3 is running an operating system such as macOS, iOS, or iPadOS and is an Apple product.
[0051] Based on the specified properties, Edge Server 2 can generate a website cookie. This website cookie includes the aforementioned identifier, allowing Edge Server 2 itself or Server 1 to access the properties upon receiving the cookie, even without the device detection script. This is advantageous because the device detection script consumes resources.
[0052] In step S6, Edge Server 2 transmits the first content variant of the page in response to the request. Edge Server 2 can also transmit the website cookie.
[0053] In step S7, the first content variant is received by client device 3 and made available to the user via the web browser. The user then sees the website and can interact with it. Depending on the user's interaction, certain elements can be shown or hidden, in particular certain content can be displayed or removed. The content that can be displayed is primarily that which was included in the initial dynamic content.
[0054] If the user requests dynamic content or elements within the same page, for example via links or other interactive elements such as search fields or buttons that are not part of the initial content variant, then the web browser sends a corresponding request to Edge Server 2 in step S8. This request contains information that allows Edge Server 2 to determine whether the blocks for this dynamic content are already present on Edge Server 2 or not.
[0055] In addition to the request, in certain configurations, the client device 2 can also generate user interaction information and transmit it to the edge server 2, either as part of the request or separately. This user interaction information relates to details about the user's use of and interaction with the website, including pages visited, links clicked, products viewed, and so on. The edge server 2 can also generate third-party dynamic content based on the client device's characteristics, as determined by the device detection script. This third-party dynamic content relates to products that match the client device's characteristics.
[0056] Edge Server 2 receives the request in step S9. It then checks the request, specifically whether it has blocks that match or can fulfill the request. If Edge Server 2 has these blocks, it fulfills the request itself by transmitting the requested content to the client device. If Edge Server 2 does not have the dynamic content, it generates a request in step S10 or forwards the request from client device 3 to server 1.
[0057] In step S11, server computer 1 receives the (forwarded) request from edge server 2.
[0058] In step S12, server 1 generates a second content variant for the page based on the request. This second content variant contains a second set of dynamic content. Specifically, this second set of dynamic content corresponds to or fulfills the request. For example, the request might define specific products or product categories, and the second set of dynamic content would then reflect this request. Ideally, this second set of dynamic content does not contain any redundant static content. This results in faster delivery of the second set of dynamic content and requires fewer network resources. In particular, this improves the user experience on the end device.
[0059] In an embodiment where server 1 also receives user interaction information from edge server 2, for example, as part of the request, server 1 generates an additional website content package for the page of the website. This additional website content package includes personalized content. In particular, the website content package includes dynamic content relating to the products the user has viewed. For example, the dynamic content can include information about similar products, defined, for example, by a common product category. As another example, the dynamic content can include information about complementary products, such as accessories for a specific product the user has viewed.
[0060] In step S13, server 1 transmits the second set of dynamic content to edge server 2, which receives it in step S14. Edge server 2 can store the dynamic content itself, enabling it to fulfill future requests from the same or a different client device. Finally, in step S15, edge server 2 transmits the second set of dynamic content to the client device, which receives it in step S16 and displays it to the user. LIST OF REFERENCE MARKS
[0061] 1 Server computer; 11 Processor; 12 Memory; 13 Communication interface 2, 2A, 2B Edge server 3, 3A-3D Client Device 4 Database 5 Internet / Communication network V1, V2, V3, V4, V5, V6, V7 communication connections 6 Website Content Package 7 website; 71-73 pages 8 URL 62A, 62B Content variants 63 Static content; 631 Structure; 632 Header; 633 Footer 64A first dynamic content; 64B second dynamic content 91, 92 blocks; 91A / 92A blocks of the first variant; 91B / 92B blocks of the second variant 910 Content; 911 Filters; 912 Pagination 100 procedures; S1-S16 procedure steps
Claims
[1] Server computer (1) for providing a web page to a user's client device (3), wherein the server computer (1) has a processor (11), a memory (12) and a communication interface (13) and the processor (11) executes instructions stored in the memory (12) such that the processor (11) performs the following steps: Generating (S1) a website content package (6) for a specific page (71) of the website (7), which page (71) is defined by a unique URL (8), wherein the website content package (6) has an initial content variant (62A) comprising: static content (63) defining a structure (631), a header (632) and a footer (633) of the page and initial dynamic content (64A) organized into blocks (91), wherein the blocks (91) comprise content (910), filters (911) and / or pagination (912); Transmit (S2) to an edge server (2) via the communication interface (13) of the website content package (6) for forwarding to a client device (3); Received (S11) from the edge server (2), a forwarded request from the client device (3), where the request requests second dynamic content (64B) that is not available in the first content variant (62A); Generate (S12), based on the request, a second content variant (62B) for the page (71) of the website (7), which second content variant (62B) contains second dynamic content (64B); and Transmit (S13) to the Edge Server (2), the second content variant (62B) for forwarding to the client device (3). [2] Server computer (1) according to claim 1, wherein the processor (11) performs the following steps: Received from the Edge Server (2) user interaction information transmitted by the client device (3) and containing information about the user's interaction with the page (71), the information relating to content viewed by the user; Generating another website content package (6) for page (71) of the website (7), comprising personalized content, wherein the personalized content includes dynamic content relating to the content viewed by the user; Transmit to the Edge Server (2), and furthermore the website content package (6) for transmission to the client device (3). [3] Server computer (1) according to claim 1 or 2, wherein the processor (11) is configured to generate a device detection script, wherein the device detection script is designed to be executed on the edge server (2), is transmitted to the edge server (2) and, when executed on the edge server (2), causes the edge server (2) to perform the following steps: properties of the client device (3) to be identified by means of information provided by the client device (3) during a communication session, wherein the properties include: communication session properties, a software configuration and / or a hardware configuration; Generating a website cookie for later identification of the client device (3), wherein the cookie contains information about the properties of the client device (3); Identification of third-party dynamic content stored on the edge server (2) that relates to content matching the properties of the client device (3); and Transfer of the third dynamic content and the website cookie to the client device (3).