Asynchronous content embedding in text

The cognitive delay insertion method addresses the issue of ad disruption in mobile digital marketing by caching and loading ads outside the current text stream, thereby enhancing user experience and engagement.

JP7667626B2Active Publication Date: 2025-04-23INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023515323
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-09-23
Filing Date
2021-08-02
Publication Date
2025-04-23
Estimated Expiration
2041-08-02

AI Technical Summary

Technical Problem

In digital marketing, particularly on mobile devices, the insertion of asynchronous ads into text streams often disrupts the user's reading experience due to limited screen space and the sudden appearance of ads in the middle of text.

Method used

A system and method for cognitive delay insertion of ads, which monitors text displayed on a mobile device, caches image data until complete, and loads images outside the current display area, allowing users to scroll through content without interruptions.

Benefits of technology

This approach enhances user experience by preventing ad insertion from disrupting the flow of text, thereby improving engagement with digital advertising on mobile devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007667626000001
    Figure 0007667626000001
  • Figure 0007667626000002
    Figure 0007667626000002
  • Figure 0007667626000003
    Figure 0007667626000003
Patent Text Reader

Abstract

Methods, systems, and computer program products are provided for asynchronous content embedding. Embodiments may include receiving a plurality of texts and data associated with an element of media content. Embodiments may also include displaying the received plurality of texts on a display screen. Embodiments may further include caching the received data until all data for fully displaying the element has been received. Embodiments may also include identifying an insertion point for the element within the displayed plurality of texts. Embodiments may also include displaying the element at the insertion point.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to the field of computing, and more particularly, to digital marketing. [Background technology]

[0002] Digital marketing refers to the area of ​​marketing that focuses on digital technologies to promote products and services to consumers. Digital technologies closely associated with digital marketing include, but are not limited to, desktop computers, laptop computers, mobile phones, and other platforms that can connect to the Internet and / or display information through a graphical user interface. As digital platforms become more relevant in everyday life, the shift from traditional marketing campaigns such as direct mail marketing to digital marketing is essential for any successful marketing strategy.

[0003] Online marketing is a subcategory of digital marketing and advertising that focuses on using the Internet to deliver promotional materials to consumers. Digital marketing covers much of the same territory as online marketing. However, digital marketing differs from online marketing in that digital marketing utilizes channels other than the Internet, whereas online marketing does not. Summary of the Invention

[0004] According to one embodiment, a method, system, and computer program product are provided for asynchronous content embedding. The embodiment may include receiving a plurality of texts and data associated with an element of the media content. The embodiment may also include displaying the received plurality of texts on a display screen. The embodiment may further include caching the received data until all data for fully displaying the element has been received. The embodiment may also include identifying an insertion point for the element within the displayed plurality of texts. The embodiment may also include displaying the element at the insertion point. [Brief description of the drawings]

[0005] These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings, in which various features of the drawings are not to scale for clarity purposes to facilitate understanding of the invention by those skilled in the art in conjunction with the detailed description.

[0006] [Figure 1] 1 illustrates an exemplary networked computing environment in accordance with at least one embodiment. [Diagram 2] 1 illustrates an operational flowchart for an asynchronous content embedding process in accordance with at least one embodiment. [Figure 3A] 1 shows a block diagram of an example embodiment of asynchronous content embedding, according to at least one embodiment. [Figure 3B] 1 shows a block diagram of an example embodiment of asynchronous content embedding, according to at least one embodiment. [Figure 3C] 1 shows a block diagram of an example embodiment of asynchronous content embedding, according to at least one embodiment. [Figure 4] FIG. 2 is a block diagram of internal and external components of the computer and server shown in FIG. 1 according to at least one embodiment. [Diagram 5] 1 illustrates a cloud computing environment in accordance with an embodiment of the present invention. [Figure 6] 3 illustrates abstraction model layers according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] Although detailed embodiments of the claimed structures and methods are disclosed herein, it can be understood that the disclosed embodiments are merely exemplary of the claimed structures and methods, which may be embodied in various forms. However, the present invention may be embodied in many different forms and should not be construed as being limited to the exemplary embodiments described herein. In the description, details of well-known features and techniques may be omitted so as not to unnecessarily obscure the presented embodiments.

[0008] FIELD OF THE DISCLOSURE The embodiments of the present invention relate to the field of computing, and more particularly, to digital marketing. The exemplary embodiments described below provide, among other things, a system, method, and computer program product for seamlessly inserting content into a text stream being viewed on a user device, such that the text stream can be read smoothly without jitter or jump around as a result of inserting the content into the current viewing area. Thus, the embodiments have the ability to improve the technical field of digital marketing by improving the user experience when interacting with advertising content, and a higher likelihood of user engagement with digital advertising.

[0009] As mentioned earlier, digital marketing refers to the area of ​​marketing that focuses on digital technologies to promote products and services to consumers. Digital technologies closely related to digital marketing include, but are not limited to, desktop computers, laptop computers, mobile phones, and other platforms that can connect to the Internet and / or display information through a graphical user interface. As digital platforms become more relevant in everyday life, the shift from traditional marketing campaigns such as direct mail marketing to digital marketing is essential for any successful marketing strategy.

[0010] Online marketing is a subcategory of digital marketing and advertising that focuses on using the Internet to deliver promotional materials to consumers. Digital marketing covers much of the same territory as online marketing. However, digital marketing differs from online marketing in that digital marketing utilizes channels other than the Internet, whereas online marketing does not.

[0011] Ad insertion on mobile devices, i.e. the process of presenting promotional material to a user viewing content, is handled differently than on desktop devices. On a desktop computer, when viewing a well-designed website, ads are usually inserted at the side or top of the screen area to keep the text area intact. The timing of ad insertion varies and is determined by different ad fetching threads going to different servers that have essentially different latencies and throughputs. Desktop web interfaces allow for a smooth and continuous display of scrolling text, while asynchronous ads can be displayed as they appear in each separate screen area.

[0012] On mobile devices, the limited screen surface area typically does not allow for the insertion of ads to the side of text. Therefore, ads are typically inserted inline with the text being displayed. Thus, when an asynchronous ad appears, it is inserted immediately into the middle of the viewed text stream, which can be very disruptive to a user reading the text as the text is suddenly pushed aside and the ad intrudes into the visible area of ​​the screen. Therefore, it may be advantageous to utilize cognitive delayed insertion for ads, especially on mobile devices and mobile-like devices such as tablets, where ads appear as a user action to intentionally move text down on the display screen.

[0013] According to at least one embodiment, a system capable of cognitive delay insertion may monitor text displayed in a display area of ​​a display screen of a mobile device or mobile-type device. If data for an image to be displayed is received slower than the text, the data may be temporarily stored in a cache. The image may not be displayed on the display screen until all data has been received and the user begins to scroll down the screen to view the new text. Upon receiving all data necessary to display the entire image and determining that the user has scrolled to newly displayed content on the display screen of the user device, the cached image may be loaded into the new area where the user is scrolling the display screen of the user device.

[0014] The present invention may be embodied as a system, method, or computer program product, or combination thereof, at any possible level of technical detail. The computer program product may include a computer readable storage medium or media having computer readable program instructions for causing a processor to carry out aspects of the present invention.

[0015] A computer readable storage medium may be any tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves having instructions recorded thereon, and any suitable combination of the above. As used herein, a computer-readable storage medium is not to be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or an electrical signal sent through a wire.

[0016] The computer readable program instructions described herein can be downloaded from a computer readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network can include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions for storage in a computer readable storage medium in the respective computing / processing device.

[0017] The computer readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object oriented programming languages ​​such as Smalltalk, C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions to individualize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the invention.

[0018] Aspects of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0019] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, whereby the instructions executed by the processor of the computer or other programmable data processing apparatus create means for performing the functions / operations specified in one or more blocks of the flowcharts or block diagrams, or both. These computer program instructions, which may direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, may also be stored in a computer readable medium, whereby the instructions stored in the computer readable medium may include an article of manufacture including instructions implementing aspects of the functions / operations specified in one or more blocks of the flowcharts or block diagrams, or both.

[0020] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, such that the instructions executing on the computer or other programmable apparatus provide a process for performing the functions / operations specified in one or more blocks of the flowchart or block diagram or both.

[0021] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts may represent a module, segment, or portion of code, including one or more executable instructions for implementing the specified logical functions. In some alternative implementations, the functions shown in the blocks may occur in a different order than that shown in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or these blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware-based system that executes the specified functions or operations, or executes a combination of dedicated hardware and computer instructions.

[0022] Exemplary embodiments described below provide systems, methods, and program products for, when a user is browsing on a user's mobile device, withholding display of images that are only partially received from a third party site until the image data is fully received and cached, and then displaying the images outside of the current viewing area, allowing the user to view the images as they scroll without disrupting the user's reading experience.

[0023] 1, an exemplary networked computing environment 100 is shown according to at least one embodiment. The networked computing environment 100 may include a client computing device 102 and a server 112 interconnected via a communications network 114. According to at least one implementation, the networked computing environment 100 may include multiple client computing devices 102 and servers 112, only one of which is shown for purposes of brevity.

[0024] The communication network 114 may include various types of communication networks, such as a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a public switched network, or a satellite network, or combinations thereof. The communication network 114 may include connections, such as wire, wireless communication links, or fiber optic cables. It should be understood that FIG. 1 provides only an illustration of one implementation and does not imply any limitation with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0025] According to one embodiment of the present invention, the client computing device 102 may include a processor 104 and a data storage device 106 capable of hosting and executing a software program 108 and an asynchronous content embedding program 110A and communicating with a server 112 via a communication network 114. The client computing device 102 may be, for example, a mobile device, a phone, a handheld device, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing device capable of executing a program and accessing a network. As described with reference to FIG. 4, the client computing device 102 may include internal components 402a and external components 404a, respectively.

[0026] According to an embodiment of the present invention, the server computer 112 can be a laptop computer, a netbook computer, a personal computer (PC), a desktop computer, or any programmable electronic device or any network capable of hosting and executing the asynchronous content embedding program 110B and the database 116 and communicating with the client computing device 102 via the communication network 114. As described with reference to FIG. 4, the server computer 112 can include internal components 402b and external components 404b, respectively. The server 112 can also operate in a cloud computing environment, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). The server 112 can also be deployed in a cloud computing deployment model, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud.

[0027] According to this embodiment, the asynchronous content embedding program 110A, 110B may be a program capable of receiving text and images from a third party site, displaying both the text and the images on a display screen of a user mobile device or a user mobile-type device such as a tablet, displaying the received text on the display screen upon receipt, caching the received image data until all data for a particular image is received, and once all data for a particular image is received, cognitively presenting the image to the user on the display screen so that the received image is not suddenly inserted and does not disrupt the user's reading experience. The asynchronous content embedding method is described in further detail below with respect to FIG.

[0028] Referring now to FIG. 2, an operational flow diagram illustrating an asynchronous content embedding process 200 according to at least one embodiment is shown. At 202, the asynchronous content embedding program 110A, 110B receives and displays text from a third-party website. Upon receiving the text, the asynchronous content embedding program 110A, 110B can proceed to display the received text-based font on a graphical user interface of a display screen associated with a user device, such as the client computing device 102. The asynchronous content embedding program 110A, 110B can optimize the font size of the received text according to preconfigured settings. For example, when a user opens a news article on a smartphone, the asynchronous content embedding program 110A, 110B can receive the text including the body of the article. Upon receiving the text, the asynchronous content embedding program 110A, 110B can instantly display the text on the display screen even if the surrounding image has not yet been received.

[0029] Next, at 204, the asynchronous content embedding program 110A, 110B receives images for content consumption. During interaction with the Internet-based media, the text may be accompanied by advertisements or other images. However, the images may require more time before they can be displayed in their entirety on the display screen of the user device, as they require the receipt of more data to properly display the text. Thus, once the asynchronous content embedding program 110A, 110B receives and displays the text on a user device, such as the client computing device 102, the asynchronous content embedding program 110A, 110B may receive images, such as advertisement images. For example, continuing with the scenario described above, when the asynchronous content embedding program 110A, 110B receives and displays text associated with a news article selected by the user, the asynchronous content embedding program 110A, 110B may also receive images associated with the article, such as advertisements and photos, to help the user understand the article. In at least one embodiment, the receipt of the images may occur, at least initially, simultaneously with the receipt of the text described in step 202.

[0030] Next, at 206, the asynchronous content embedding program 110A, 110B caches the received advertisement image. When the asynchronous content embedding program 110A, 110B receives the image, the data for compiling and displaying the image may not be received quickly enough to insert the image into the text without disrupting the user's viewing experience. Thus, the asynchronous content embedding program 110A, 110B may delay the insertion of the image so that the insertion can be performed after the entire image is received. While receiving the image, the asynchronous content embedding program 110A, 110B may cache the image locally in memory storage of the client computing device 102 or remotely in a repository such as the database 116 of the server 112.

[0031] Next, at 208, the asynchronous content embedding program 110A, 110B determines whether the entire image is cached. The asynchronous content embedding program 110A, 110B may determine that the entire image is cached when all data packets or information for compiling the image have been received and / or when the image is otherwise ready for presentation to the user on a graphical user interface of a display screen of the user device. If the asynchronous content embedding program 110A, 110B determines that the entire advertisement image is not yet cached (step 208, “no” branch), the asynchronous content embedding process 200 may return to step 206 and continue caching the received image data as it is received. If the asynchronous content embedding program 110A, 110B determines that the entire advertisement image is cached (step 208, “yes” branch), the asynchronous content embedding process 200 may proceed to step 210 and identify an insertion point within the displayed text for the cached advertisement image.

[0032] Then, in response to determining that the entire image is cached at 210, the asynchronous content embedding program 110A, 110B identifies an insertion point in the displayed text for the cached advertisement image. Once the entire received image is cached and ready to be inserted into the displayed text, the asynchronous content embedding program 110A, 110B can identify a point in the text to insert the image. Typically, the image is inserted into the displayed text at a predefined point once the image data first begins to be received. Uniquely, the asynchronous content embedding program 110A, 110B can calculate a point to insert the cached image. Utilizing gaze detection techniques that track the user's movements and browsing on the display screen, the asynchronous content embedding program 110A, 110B can calculate the insertion point to be outside the viewing area of ​​the current display screen so as to minimize the impact of jitter on the user viewing the displayed text. For example, the asynchronous content embedding program 110A, 110B can complete caching of the image once the user has read the end of a paragraph of text. Before the user scrolls down on the touch screen of the user device to advance to the next paragraph of the article that is currently off-screen, the asynchronous content embedding program 110A, 110B inserts the cached image so that as the user scrolls down, the user can view the now-displayed image before viewing the next paragraph of the article.

[0033] In at least one embodiment, the insertion point calculated by the asynchronous content embedding program 110A, 110B may be spatially and temporally related. For example, the insertion point may relate to both a location within an article as well as when an image can be inserted while a user is viewing the article. By incorporating a temporal nature into the insertion point, the asynchronous content embedding program 110A, 110B may limit the number of images loaded into the text at one time, as well as conserve system resources doing so by considering that not all images need to be loaded if the user finishes the text before proceeding to an image. For example, loading multiple images at once into a news article can be taxing on the processing power of some devices. Thus, limiting the loading to a single image at a time can alleviate some of the burden. Similarly, by calculating the insertion point as a location within an article and a predicted time that the user can read to the calculated location, the asynchronous content embedding program 110A, 110B may conserve resources that would be expended in loading images into the article if the user finishes the article before reading to the location or before the predicted time has elapsed. In at least one embodiment, the predicted time can be calculated using a H / W 555 timer that runs off of the user device's OS oscillator clock, or a software time that is pre-programmed or programmed on-the-fly via gaze detection injection techniques. The prediction can utilize gaze detection techniques and a pointer that can monitor the user's active reading position on the display screen of the user device.

[0034] The asynchronous content embedding program 110A, 110B then inserts the cached advertisement image at the identified insertion point at 212. Once the asynchronous content embedding program 110A, 110B has determined the insertion point at which to place the cached image, the asynchronous content embedding program 110A, 110B can load the image from the cache memory at the identified insertion point.

[0035] In at least one embodiment, the asynchronous content embedding program 110A, 110B can capture user reactions to the displayed content in order to mine metrics for improvement of the asynchronous content embedding program 110A, 110B through machine learning. The user reactions can be captured via a sensor associated with or communicatively coupled to the client computing device 102, such as a microphone or a wearable smart device. For example, a microphone associated with a user smartphone can capture the insertion of an image and the user commenting on jitter in the text the user was reading to determine that the image insertion point needs to be improved and that the current calculated insertion point may not be appropriate. In at least one other embodiment, the effectiveness of the content placement can be measured in two similar groups to determine the effectiveness of the content arrival placement to improve the user experience. The two similar groups can be determined based on the statistical average between the two groups being within a pre-configured measure to consider the two groups "similar." For example, based on the content within the advertisement or the structure of the displayed advertisement, two advertisements can be considered similar and therefore can be used at the same insertion point.

[0036] In at least one embodiment, the asynchronous content embedding program 110A, 110B can immediately insert the image at the identified insertion point. However, in at least one other embodiment, the asynchronous content embedding program 110A, 110B can calculate the most appropriate time to insert the image to minimize the impact on the user's reading accessibility. For example, the asynchronous content embedding program 110A, 110B can predict the time with the least impact on the user's reading, observed as the moment the user finishes a paragraph or section of a new article.

[0037] 3A-3C, block diagrams of an exemplary embodiment of asynchronous content embedding are shown, according to at least one embodiment. FIG. 3A shows a user device 302, which may be substantially similar to the client computing device 102, displaying text being read by a user. In FIG. 3A, the asynchronous content embedding program 110A, 110B can receive and cache the image data and calculate an insertion point for the image once it has successfully received all data to display the image. For purposes of this example, the asynchronous content embedding program 110A, 110B can calculate an insertion point outside of the display screen of the user device 302. FIG. 3B shows the display screen of the user device 302 once the asynchronous content embedding program 110A, 110B has inserted an image off-screen after the text "Cu electram evertitur" and the user has scrolled below the text such that a partial image 304 is visible on the display screen. 3C shows the display screen of the user device 302 once the user has scrolled further and the partial image 304 is no longer completely displayed as the full image 306. Once the full image 306 is completely displayed, the asynchronous content embedding program 110A, 110B can continue the text that follows from the article where it left off. In this situation, after the full image 306 has been scrolled past by the user, the text where the article left off before the off-screen image insertion, "Cu electram evertitur," is followed by "mel. Deleniti deterruisset eu vel, vim meis option delectus eu."

[0038] It can be appreciated that Figures 2 and 3 are merely illustrative of one implementation and do not imply any limitations with respect to how different embodiments may be implemented. Many modifications to the depicted environments can be made based on design and implementation requirements. For purposes of explanation, images have been used to describe content that is received, cached, and inserted into a text-based screen. However, the asynchronous content embedding programs 110A, 110B can perform the described methods with any element that can be displayed on a graphical user interface that requires receiving data over the network 114. In an embodiment, the elements can be images, videos, graphics interchange format (GIF) files, tables, charts, banners, headers, footers, and text.

[0039] In at least one other embodiment, the entire display screen of the user device may be completely occupied by non-text based media content, such as video advertisements, while the user is simply scrolling through HTML formatted text. In such a scenario, a time buffer may be generated for the media content as the asynchronous content embedding program 110A, 110B identifies the user's context and the location of the content pixels. Upon completion of viewing of the media content, the asynchronous content embedding program 110A, 110B may return the previous text to the display screen with a highlighted word or a graphic pointer that directs the user's attention to where the asynchronous content embedding program 110A, 110B determined the user was last at before viewing the media content, to maintain a seamless reading experience for the user. For example, the asynchronous content embedding program 110A, 110B may highlight a particular task so that the user can identify where they left off, or the asynchronous content embedding program 110A, 110B may redirect the user to a particular location on the display screen with a blinking dot bar to indicate the user's current reading position based on the gaze detection data.

[0040] Figure 4 is a block diagram 400 of internal and external components of the client computing device 102 and server 112 shown in Figure 1 in accordance with an embodiment of the present invention. It should be understood that Figure 4 provides only an illustration of one implementation and is not intended to imply any limitation with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0041] The data processing systems 402, 404 represent any electronic device capable of executing machine-readable program instructions. The data processing systems 402, 404 may represent a smart phone, a computer system, a PDA, or other electronic device. Examples of computing systems, environments, or configurations, or combinations thereof, that may be represented by the data processing systems 402, 404 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above systems or devices.

[0042] The client computing device 102 and the server 112 may include respective sets of internal components 402a,b and external components 404a,b shown in Figure 4. Each of the sets of internal components 402a,b includes one or more processors 420, one or more computer-readable RAMs 422, and one or more computer-readable ROMs 424 on one or more buses 426, as well as one or more operating systems 428 and one or more computer-readable tangible storage devices 430. The one or more operating systems 428, software programs 108, and asynchronous content embedding programs 110A in the client computing device 102, and the asynchronous content embedding programs 110B in the server 112 may be stored on one or more respective computer-readable tangible storage devices 430 for execution by the one or more processors 420 via one or more respective RAMs 422 (typically including cache memories). 4, each of the computer-readable tangible storage devices 430 is an internal hard drive magnetic disk storage device, or alternatively, each of the computer-readable tangible storage devices 430 is a semiconductor storage device such as ROM 424, EPROM, flash memory, or any other computer-readable tangible storage device capable of storing computer programs and digital information.

[0043] Each set of internal components 402a,b also includes a R / W drive or interface 432 for reading from and writing to one or more portable computer-readable tangible storage devices 438, such as CD-ROMs, DVDs, memory sticks, magnetic tapes, magnetic disks, optical disks, or semiconductor storage devices. Software programs, such as asynchronous content embedding programs 110A, 110B, may be stored on one or more of the respective portable computer-readable tangible storage devices 438 and read via the respective R / W drive or interface 432 and loaded onto the respective hard drives 430.

[0044] Each set of internal components 402a,b also includes a network adapter or interface 436, such as a TCP / IP adapter card, a wireless Wi-Fi interface card, or a 3G or 4G wireless interface card, or other wired or wireless communication link. The software program 108 and the asynchronous content embedding program 110A in the client computing device 102 and the asynchronous content embedding program 110B in the server 112 can be downloaded from an external computer to the client computing device 102 and the server 112 via a network (e.g., the Internet, a local area network, or other wide area network) and the respective network adapter or interface 436. From the network adapter or interface 436, the software program 108 and the asynchronous content embedding program 110A in the client computing device 102 and the asynchronous content embedding program 110B in the server 112 are loaded onto the respective hard drives 430. The network can include copper wire, optical fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or combinations thereof.

[0045] Each of the set of external components 404a,b may include a computer display monitor 444, a keyboard 442, and a computer mouse 434. The external components 404a,b may also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each of the set of internal components 402a,b also includes a device driver 440 for interfacing to the computer display monitor 444, the keyboard 442, and the computer mouse 434. The device driver 440, the R / W drive or interface 432, and the network adapter or interface 436 include hardware and software (stored in the storage device 430 or ROM 424, or both).

[0046] Although this disclosure includes detailed descriptions of cloud computing, it is understood that implementation of the teachings detailed herein is not limited to a cloud computing environment. Rather, embodiments of the disclosed technology may be implemented in conjunction with any other type of computing environment now known or later developed.

[0047] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0048] Its features are as follows. On-Demand Self-Service: Cloud consumers can automatically and unilaterally provision computing capacity, such as server time and network storage, as they need it, without the need for human interaction with the provider of the service. Pervasive Network Access: Functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, cell phones, laptops, and PDAs). Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated on demand. Consumers are location independent in that they generally have no control or knowledge of the exact location of the resources provided to them, although they may be able to specify a location at a higher level of abstraction (e.g., country, state, or data center). Rapid Elasticity: Capabilities can be rapidly provisioned and rapidly scaled out, and rapidly released and rapidly scaled in, rapidly and elastically, sometimes automatically. To the consumer, the capabilities available for provisioning often appear unlimited, and can be purchased in any quantity at any time. Metered Services: Cloud systems automatically control and optimize resource usage by using metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being utilized.

[0049] The service model is as follows: Software as a Service (SaaS): The functionality provided to the consumer is the use of the provider's applications running on a cloud infrastructure. These applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or individual application capabilities, with the expected exception of limited user-specific application configuration settings. Platform as a Service (PaaS): The functionality offered to the consumer is the deployment onto a cloud infrastructure of applications the consumer creates or acquires, written using programming languages ​​and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the configuration of the environment that hosts the applications. Infrastructure as a Service (IaaS): The functionality provided to a consumer is to provision processing, storage, network, and other basic computing resources onto which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and possibly limited control over the selection of network components (e.g., host firewalls).

[0050] The deployment model is as follows: Private Cloud: The cloud infrastructure is operated exclusively for an organization. It can be managed by that organization or a third party and can exist on-premise or off-premise. Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by those organizations or by a third party and can reside on-premise or off-premise. Public Cloud: The cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services. Hybrid Cloud: A cloud infrastructure is a blend of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies (e.g., cloud bursting for load balancing between clouds) that enable data and application portability.

[0051] Cloud computing environments are service-oriented and focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0052] 5, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 100 with which a local computing device used by a cloud consumer, such as, for example, a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or a combination thereof, can communicate. The nodes 100 can communicate with each other. The nodes 100 can be physically or virtually grouped in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or a combination thereof, as described above (not shown). This enables the cloud computing environment 50 to provide Infrastructure as a Service, Platform as a Service, or Software as a Service, or a combination thereof, without the cloud consumer having to maintain resources on a local computing device. It will be understood that the types of computing devices 54A-N shown in FIG. 5 are intended to be merely exemplary, and that the computing node 100 and cloud computing environment 50 are capable of communicating with any type of computerized device (e.g., using a web browser) via any type of network or network-addressable connection or both.

[0053] 6, there is shown a set of functional abstraction layers 600 provided by the cloud computing environment 50. It should be understood in advance that the components, layers and functions shown in FIG. 6 are intended to be merely illustrative, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0054] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (Reduced Instruction Set Computer) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, the software components include network application server software 67 and database software 68.

[0055] The virtualization layer 70 provides an abstraction layer that can provide the following examples of virtual entities: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.

[0056] In one example, the management layer 80 may provide the functionality described below: Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and charging or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides allocation and management of cloud computing resources such that required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-allocation and procurement of cloud computing resources for predicted future needs according to SLAs.

[0057] Workload tier 90 provides examples of functionality that can utilize a cloud computing environment. Examples of workloads and functionality that can be provided from this tier include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and asynchronous content embedding 96. Asynchronous content embedding 96 involves receiving text and media content over a network 114, displaying the text as it is received but caching the media content until all data associated with a single element of the media content has been received, and inserting an element of the fully received media content into the displayed text at a point where the insertion does not disrupt the user experience with the displayed text.

[0058] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but they are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used in this specification have been selected to best explain the principles of the embodiments, practical applications, or technical improvements over the art found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A processor-implemented method comprising: Receiving data associated with a plurality of text and media content elements; displaying the received plurality of texts on a display screen; caching the received data until all data for completely displaying the element is received; and identifying an insertion point for the element within the displayed plurality of texts; Displaying the element at the insertion point; Including, the insertion point is outside the current view of the display screen; method.

2. The method of claim 1 , further comprising identifying a time to insert the element at the insertion point.

3. capturing a user response to the display of the element at the insertion point; refining the identification of the insertion point of another element based on the captured user response; The method of claim 1 further comprising:

4. The method of claim 1 , wherein the element is an advertisement.

5. 2. The method of claim 1, wherein the type of element is selected from the group consisting of an image, a video, a Graphic Interchange Format (GIF) file, a table, a chart, a banner, a header, a footer, and text.

6. 1. A computer system comprising: A computer system comprising one or more processors and one or more computer readable memories, configured to execute, by at least one of said one or more processors, a method according to any one of claims 1 to 5.

7. A computer program product causing a processor to carry out the method according to any one of claims 1 to 5.

8. A computer readable storage medium having stored thereon the computer program of claim 7.

Citation Information

Patent Citations

  • Image processing method

    JP2004145760A

  • Personal digital assistant, character information transmitting and receiving method, and character information transmitting and receiving program

    JP2004157846A