Systems, methods and computer program products for facilitating display of content within application programs executing on electronic devices
Claim Score by NHIP
Abstract
An application program interface (API) is operably associated with application programs executing on an electronic device and enables the application programs to retrieve, store, and display content. The API enables application programs to communicate with other application programs and to send/retrieve content to/from other application programs. In addition, the API is configured to perform various event accounting functions. A gateway communicates with an electronic device application program via the API and is configured to retrieve content from a content server in response to receiving requests from the application programs. The gateway is configured to serve content retrieved from the content server to the electronic device, as well as to other servers and/or devices. Methods, apparatus, and computer program products are provided for dynamically selecting advertisements for use within user-requested content wherein the advertisements are stored locally within a user client device.

Term
Term ended
Projected expiry passed 16 December 2025, 0.8 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
87 claims: 12 independent, 75 dependent
- 1A system that facilitates the display of content within electronic devices, comprising:a communications network;a content server connected to the communications network that is configured to serve content;and an electronic device configured to communicate via the communications network, comprising: an application program configured to display content from the content server;and an application program interface (API) operably available to the application program that enables the application program to retrieve content from the content server via the communications network.
- 18A system that facilitates the display of content within electronic devices, comprising:a communications network;a content server connected to the communications network that is configured to serve content;and an electronic device configured to communicate via the communications network, comprising: an application program configured to display content from the content server;and an application program interface (API) operably available to the application program that enables the application program to retrieve content from the content server via the communications network, wherein the API comprises notification logic for notifying a server about content displayed by the application program, and notification logic for notifying a server about user interaction with content displayed by the application program.
- 33Broadest claimClaim Score 86, broad(NHIP)A method of displaying content within an application program executing within an electronic device, the method comprising the following:selecting content stored within the electronic device for display by an application program executing on the electronic device;displaying the selected content within the application program;and notifying a remotely located content server that the selected content has been displayed.
- 41A computer program product that facilitates the display of content within electronic devices, the computer program product comprising a computer usable storage medium having computer readable program code embodied in the medium, the computer readable program code comprising:computer readable program code that selects content stored within an electronic device for display by an application program executing on the electronic device;computer readable program code that displays the selected content within the application program;and computer readable program code that notifies a remotely located content server that the selected content has been displayed.
- 48An electronic device, comprising:an application program executing thereon;a display;a plurality of stored content units that are configured to be displayed by the application program within the display;and an agent in communication with the application program, comprising: means for requesting a remote content server to select a content unit for insertion within the application program within the display;means for receiving an identification of a content unit selected by the remote content server;means for retrieving the selected content unit from the plurality of stored content units;and means for displaying the retrieved content unit within the application program.
- 54An electronic device, comprising:an application program executing thereon;a display;a plurality of stored content unit s that are configured to be displayed by the application program within the display;and an agent in communication with the application program, comprising: means for selecting a content unit for insertion within the application program within the display;means for retrieving the selected content unit from the plurality of stored content units;and means for inserting the retrieved content unit within the application program.
- 60A method of providing dynamically selected advertising within content requested by a client device, the method comprising the following performed by the client device:requesting content from a server;receiving the requested content and a link to an ad server, wherein the requested content includes a portion designated to receive a dynamically selected advertisement therewithin, and wherein the link is configured to cause the client device to request an advertisement from the ad server;requesting the ad server to select an advertisement for insertion within the requested content designated portion;receiving an identification of an advertisement selected by the ad server;retrieving the selected advertisement from within the client device;and displaying the requested content and selected advertisement via a display of the client device.
- 65A method of providing dynamically selected advertising within content requested by a client device, the method comprising the following steps performed by the client device:requesting content from a server;receiving the requested content and a link to an ad server, wherein the requested content includes a portion designated to receive a dynamically selected advertisement therewithin, and wherein the link is configured to cause the client device to request an advertisement from the ad server;redirecting a request to the ad server to an ad agent executing on the client device, wherein the ad agent is configured to dynamically select an advertisement for display within the requested content;selecting an advertisement for display within the requested content from within the client device;and displaying the requested content and selected advertisement via a display of the client device.
- 70A client device, comprising:a Web browser;a display;a plurality of stored advertisements that are configured to be displayed by the Web browser within the display;and an ad agent in communication with the Web browser, comprising: means for requesting a remote ad server to select an advertisement for insertion within content displayed by the Web browser within the display;means for receiving an identification of an advertisement selected by the remote ad server;means for retrieving the selected advertisement from the plurality of stored advertisements;and means for inserting the retrieved advertisement within content displayed by the Web browser via the display.
- 74A client device, comprising:a Web browser;a display;a plurality of stored advertisements that are configured to be displayed by the Web browser within the display;and an ad agent in communication with the Web browser, comprising: means for selecting an advertisement for insertion within content displayed by the Web browser within the display;means for retrieving the selected advertisement from the plurality of stored advertisements;and means for inserting the retrieved advertisement within content displayed by the Web browser via the display.
- 78A computer program product that provides dynamically selected advertising within content requested by a client device, the computer program product comprising a computer usable storage medium having computer readable program code embodied in the medium, the computer readable program code comprising:computer readable program code that requests content from a server;computer readable program code that receives the requested content and a link to an ad server, wherein the requested content includes a portion designated to receive a dynamically selected advertisement therewithin, and wherein the link is configured to cause the client device to request an advertisement from the ad server;computer readable program code that requests the ad server to select an advertisement for insertion within the requested content designated portion;computer readable program code that receives an identification of an advertisement selected by the ad server;computer readable program code that retrieves the selected advertisement from within the client device;and computer readable program code that displays the requested content and selected advertisement via a display of the client device.
- 83A computer program product that provides dynamically selected advertising within content requested by a client device, the computer program product comprising a computer usable storage medium having computer readable program code embodied in the medium, the computer readable program code comprising:computer readable program code that requests content from a server;computer readable program code that receives the requested content and a link to an ad server, wherein the requested content includes a portion designated to receive a dynamically selected advertisement therewithin, and wherein the link is configured to cause the client device to request an advertisement from the ad server;computer readable program code that redirects a request to the ad server to an ad agent executing on the client device, wherein the ad agent is configured to dynamically select an advertisement for display within the requested content;computer readable program code that selects an advertisement for display within the requested content from within the client device;and computer readable program code that displays the requested content and selected advertisement via a display of the client device.
Independent claims12
73 paragraphs in 9 sections, as filed
RELATED APPLICATIONS
P-0001[0001] This application claims the benefit of U.S. Provisional Application No. 60/208,943, filed May 31, 2000, the disclosure of which is incorporated herein by reference in its entirety as if set forth fully herein.
FIELD OF THE INVENTION
P-0002[0002] The present invention relates generally to content display within client devices and, more particularly, to client-side program interfaces for displaying and tracking promotional content.
BACKGROUND OF THE INVENTION
P-0003[0003] The Internet has gained broad recognition and acceptance as a viable medium for communicating and for conducting business. The World-Wide Web (Web) is comprised of server-hosting computers (Web servers) connected to the Internet that serve hypertext documents (referred to as Web pages). Web pages are accessible by client programs (e.g., Web browsers) utilizing the Hypertext Transfer Protocol (HTTP) via a Transmission Control Protocol/Internet Protocol (TCP/IP) connection between a client-hosting device and a server-hosting device. While HTTP and Web pages are the prevalent forms for the Web, the Web itself refers to a wide range of protocols and Web content formats.
P-0004[0004] A Web site is conventionally a related collection of Web files that includes a beginning file called a “home” page. From the home page, a visitor can access other files and applications at a Web site. A large Web site may utilize a number of servers, which may or may not be different and may or may not be geographically-dispersed. For example, the Web site of the International Business Machines Corporation (www.ibm.com) consists of thousands of Web pages and files spread out over multiple Web servers in locations world-wide.
P-0005[0005] A Web server (also referred to as an HTTP server) is a computer program that utilizes HTTP to serve files that form Web pages to Web clients. Exemplary Web servers are International Business Machines Corporation's family of Lotus Domino® servers and the Apache server (available from www.apache.org). A Web client is a requesting program that also utilizes HTTP. A browser is an exemplary Web client for use in requesting Web pages and files from Web servers. A Web server waits for a Web client, such as a browser, to open a connection and to request a specific web page or application. The Web server then sends a copy of the requested item to the Web client, closes the connection with the Web client, and waits for the next connection.
P-0006[0006] HTTP allows a browser to request a specific item (i.e., “content”), which a Web server then returns and the browser renders. To ensure that browsers and Web servers can interoperate unambiguously, HTTP defines the exact format of requests (HTTP requests) sent from a browser to a Web server as well as the format of responses (HTTP responses) that the Web server returns to the browser. Exemplary browsers include Netscape Navigator® (America Online, Inc., Dulles, Va.) and Internet Explorer® (Microsoft Corporation, Redmond, Wash.). Browsers typically provide a graphical user interface for retrieving and viewing Web pages, applications, and other resources served by Web servers.
P-0007[0007] Unfortunately, latency problems associated with data flow over the Internet have fostered the perception that many Internet communications and transactions are slow and unreliable. Latency is the time elapsed between requesting content via a client and receiving the content from a server. Latency associated with client-server communications via the Internet may be affected by many factors such as bandwidth, Internet infrastructure, packet routing techniques, and transfer protocols. Lower latency and higher bandwidth technologies, such as optical switches and Digital Subscriber Line (DSL) technologies have been deployed to decrease perceived latency and to improve reliability associated with client-server communications. However, the dramatic increase in Internet usage worldwide may continue to offset many of the improvements in latency provided by these and other new technologies.
P-0008[0008] With the increasing mobility of today's society, the demand for mobile computing capabilities has also increased. Many workers and professionals are downsizing their laptop computers to smaller palm-top or hand-held devices, such as personal digital assistants (PDAs). In addition, many people now utilize wireless devices, such as cellular telephones, to access the Internet and to perform various other computing functions. Wireless devices may include, but are not limited to, personal digital assistants (PDAs), cellular s telephones, pagers, and communicators. Many wireless devices also utilize the Microsoft® Windows® CE and 3Com Palm® Computing platforms. With the advent and development of wireless telecommunications systems and technologies, wireless Internet access is increasing worldwide. Wireless Internet access is conventionally obtained by users of wireless devices via Wireless Service Providers (WSPs).
P-0009[0009] Unfortunately, access to the Internet via wireless devices can be plagued by high latency. In general, HTTP and TCP are not optimized for the intermittent coverage, long latencies and limited bandwidth associated with wireless networks. HTTP sends its headers and commands in an inefficient text format instead of compressed binary. Wireless services using these protocols can be slow, costly, and difficult to use. Wireless security standards may require many messages to be exchanged between client and server, which, with wireless transmission latencies, may result in slow responses for users.
P-0010[0010] As the Web has evolved into a viable commercial medium, advertising has become an important source of revenue. Conventional advertising via the Internet is a client-server process, as illustrated in FIG. 1. Conventionally, a client (e.g., a Web browser or microbrowser executing on a client device <b>10</b>) sends a request for content (e.g., a Web page) to a server executing on a server-hosting device (e.g., a Web server <b>20</b>). The server returns the requested Web page to the client and directs the client to a separate ad server <b>22</b> in order to obtain an advertisement to be inserted within the Web page. Conventionally, a client receives the Web page and then waits for an advertisement to be served from a designated ad server for placement within the Web page.
P-0011[0011] Conventionally, Web servers impose restrictions on advertisements that prevent advertisements from being stored locally (i.e., “cached”) by client devices. By preventing caching, advertisements are allowed to change and rotate independently of the content within which they are placed. For example, a client may make multiple requests for the same content; however, different advertisements may be placed within the content at each separate request.
P-0012[0012] Conventionally, Web servers invoke some logic by which advertisements are selected for inclusion within user-requested content. For example, a Web server may use information about a user making a client request and/or about a user request being made to determine what advertisement to place within user-requested content. For example, as illustrated in FIG. 2, a user makes a request <b>13</b> to a Web server <b>20</b> via a client device <b>10</b> (e.g., a personal computer, PDA, or other type of wireless device). The Web server <b>20</b> includes logic for selecting an advertisement to be included within the requested content. A selected advertisement can be retrieved from a database and returned to the client with the content (i.e., in the response <b>15</b>). Alternatively, the client can be directed to make a request <b>17</b> for an advertisement from an ad server <b>22</b>. The ad server <b>22</b> serves the advertisement <b>19</b> to the client for insertion within the content provided by the Web server <b>20</b>.
P-0013[0013] Unfortunately, client-server communications via the Internet wherein advertisements are requested from ad servers can be plagued by high latency.
P-0014[0014] Wireless content publishers also may provide advertisements within user-requested content, often as interstitial displays within a sequence of content displays (cards). Unfortunately, advertising may increase latency as a wireless client retrieves an advertisement for insertion within user-requested content. Moreover, the use of interstitial advertising also can delay the display of subsequent content. Advertisements that induce latency are not likely to be welcomed by wireless device users or wireless device content providers.
P-0015[0015] As the use of handheld computing/communications devices increases (e.g., PDAs, pagers, cellular telephones, web-enabled radiotelephones, and/or other mobile/wireless devices), commercial entities are continuously looking for new ways to enhance revenue via the delivery of advertising and other information to users of these handheld devices.
SUMMARY OF THE INVENTION
P-0016[0016] In view of the above, embodiments of the present invention may allow content to be selected, retrieved, stored, and displayed within various electronic devices (e.g., personal computers, portable computers, handheld computers, PDAs, pagers, cellular telephones, web-enabled radiotelephones, and/or other mobile/wireless devices). An application program interface (API) is operably associated with an application program executing on an electronic device and enables the application program to retrieve, store, and display various types of content. Content may include promotional content (e.g., advertisements, electronic coupons, etc.), informational content (e.g., alerts, notifications, etc.), and any type of deliverable content (e.g., games, video content, audio content, text-based content, etc.). The term display is used to describe the presentation of the content to the user. This presentation is often visual, but may be auditory or use some other method of presentation.
P-0017[0017] The API may enable application programs to communicate with other application programs and to send/retrieve content to/from other application programs. In addition, the API may be configured to perform various event accounting functions, such as notifying another device when particular content has been displayed and/or when a user has interacted with displayed content.
P-0018[0018] According to other embodiments of the present invention, methods, apparatus, and computer program products are provided that allow application programs to incorporate advertisements and promotions within their user interface. The API provides functions for selecting and accounting for advertisements that have been used by the application, as well as communicating information with a server on the back-end. Communications functions include synchronizing a set of advertisements that can be stored locally on the device, including any constraints that may be placed on the use of the advertisements, as well as accounting for the use of the advertisements.
P-0019[0019] According to other embodiments of the present invention, advertisements and other content may be “pre- fetched” from remote servers and stored within client devices prior to requests for content in which the advertisements are to be displayed.
P-0020[0020] According to other embodiments of the present invention, an agent within a client device may be configured to dynamically select advertisements for insertion within user-requested content without requiring intervention from a remote ad server.
P-0021[0021] According to other embodiments of the present invention, the functions of content selection and display may be distributed between remote servers and the client device. In particular, the API may make request to a remote server to perform content selection. The remote server then uses a selection algorithm to choose from the set of content which it has already distributed to the client. The client can then retrieve the content from local storage instead of transferring a potentially large media file. This embodiment has the advantage of utilizing the greater potential intelligence of the remote server while still capitalizing on its local storage to eliminate the latency of media transfer.
P-0022[0022] Embodiments of the present invention can also provide the ability for content (e.g., advertisements) and/or application programs to interact with other application programs executing on a device.
P-0023[0023] Embodiments of the present invention are advantageous over conventional methodologies for delivering content (e.g., promotional content such as advertising) via the Internet to users of electronic devices. The use of local storage and retrieval can reduce actual, as well as perceived, latency associated with serving dynamically selected advertisements with user-requested content. Moreover, advertisement providers may be able to utilize advertisements having more robust graphics and larger file sizes than may otherwise be feasible, thereby enhancing advertising value. By performing advertisement selection locally and/or storing advertisements locally, the scalability of existing ad servers may be increased, thereby allowing them to efficiently respond to more client requests than otherwise possible.
P-0024[0024] Moreover, by allowing application programs to display promotional content, additional opportunities for generating and enhancing revenue are provided to content providers, as well as to device and application program manufacturers. Having local storage and intelligence on the client device also enables content display and interaction even when a device is not connected to a network (many devices do not have a permanent network connection). This is an important consideration for devices (wireless PDA, cell phones, dial-up PCs, etc.) that are not always Internet enabled.
BRIEF DESCRIPTION OF THE DRAWINGS
P-0025[0025]FIGS. 1 and 2 schematically illustrate conventional client-server communications associated with providing advertising within user-requested content.
P-0026[0026] FIGS. <b>3</b>A-<b>3</b>B illustrate a handheld electronic device having an API according to embodiments of the present invention that facilitates the selection, retrieval, storage, and display of content within application programs executing therewithin.
P-0027[0027]FIG. 4 illustrates a system that facilitates the selection, retrieval, storage, and display of promotional content within various electronic devices, according to embodiments of the present invention.
P-0028[0028]FIG. 5 illustrates a specific implementation of the system of FIG. 4 that facilitates the selection, retrieval, storage, and display of promotional content within various electronic devices, according to embodiments of the present invention.
P-0029[0029] FIGS. <b>6</b>A-<b>6</b>B are flowcharts that illustrate operations for local content displaying and accounting (FIG. 6A) and for communicating with a remote content (or other) server (FIG. 6B), according to embodiments of the present invention.
P-0030[0030]FIG. 7 illustrates a specific implementation of the system of FIG. 4 that facilitates the sharing of content among two or more application programs executing (or executable) on an electronic device, according to embodiments of the present invention.
P-0031[0031]FIG. 8 is a flowchart that illustrates operations for displaying promotional content, such as advertisements and/or electronic coupons, within an application program executing within an electronic device, according to embodiments of the present invention FIG. 9 is a block diagram representation of a client device having a local ad agent according to embodiments of the present invention, wherein the ad agent is used to select an advertisement, and wherein the local ad agent is configured to retrieve the selected advertisement from local storage within the client device.
DETAILED DESCRIPTION OF THE INVENTION
P-0032[0032] The present invention now is described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
P-0033[0033] As also will be appreciated by one of skill in the art, the present invention may be embodied as methods, data processing systems, and/or computer program products. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment running on general purpose hardware or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.
P-0034[0034] Computer program code for carrying out operations of the present invention may be written in an object oriented programming language (e.g., JAVA®, Smalltalk or C++) and/or may also be written in a conventional procedural programming language (e.g., “C”) or in various other programming languages. Software embodiments of the present invention do not depend on implementation with a particular programming language. The present invention is described below with reference to block diagram and flowchart illustrations of methods, apparatus (systems) and computer program products according to embodiments of the invention.
P-0035[0035] It will be understood that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other data processing apparatus (e.g., personal computer, portable computer, handheld computer, PDA, pager, cellular telephone, Web-enabled radiotelephone, other mobile/wireless device) to produce a machine, such that the instructions, which execute via the processor of the computer or other data processing apparatus, create structures for implementing the functions specified in the block diagram and/or flowchart block or blocks. Each block, and combinations of blocks, can be implemented by a device which performs the specified functions or steps, or combinations of hardware and computer instructions.
P-0036[0036] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the block diagram and/or flowchart block or blocks.
P-0037[0037] The computer program instructions may also be loaded onto a computer or other data processing apparatus to cause a series of operational steps to be performed on the computer or other apparatus to produce a computer implemented process or method such that the instructions which execute on the computer or other apparatus provide steps for implementing the functions specified in the block diagram and/or flowchart block or blocks.
P-0038[0038] It should be noted that, in some alternative embodiments of the present invention, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. Furthermore, in certain embodiments of the present invention, such as object oriented programming embodiments, the sequential nature of the flowcharts may be replaced with an object model such that operations and/or functions may be performed in parallel or sequentially.
P-0039[0039] Referring to FIGS. <b>3</b>A-<b>3</b>B, a handheld computer <b>40</b> is illustrated with an e-mail application program executing therewithin. An application program interface (API) is operably available to the e-mail application program and enables the e-mail application program to select, retrieve, store, and display content <b>41</b><i>a</i>, <b>41</b><i>b</i>, as will be described below.
P-0040[0040] As known to those skilled in the art, an API is a method prescribed by a computer system by which a programmer writing an application program can make requests of the system or another application program. The API according to embodiments of the present invention enables the e-mail application program <b>42</b> (as well as other application programs, such as browsers, etc.) to select and retrieve content from a local database that contains information retrieved from remotely located content servers, display the retrieved content, and perform various event (e.g., impressions and/or user interactions) accounting functions (e.g., ad servers, etc.).
P-0041[0041] Referring now to FIG. 4, a system <b>50</b> that facilitates the selection, retrieval, storage, and display of various types of content (e.g., promotional content, etc.) within various devices (e.g., handheld devices, etc.), according to embodiments of the present invention, is schematically illustrated. The term “content” includes, but is not limited to, promotional content, informational content, text-based content, audio content, video content, etc. The illustrated system <b>50</b> includes a client device <b>40</b> that can communicate with a content server <b>80</b> that is configured to serve packages of content, such as advertising and/or electronic coupons (e.g., an ad server). These communications may be direct or through an intermediate gateway <b>60</b>. The communications occur via a communications network <b>70</b>, where the connectivity of the client device may be transient in nature (i.e., it is not required to have permanent network connections).
P-0042[0042] The client device <b>40</b> may be virtually any type of electronic device that can communicate (at least occasionally) with other devices via a communications network including, but not limited to, personal computers, portable computers, handheld computers/devices, PDAs, pagers, cellular telephones, Web-enabled radiotelephones, and/or other mobile/wireless devices. The client device <b>40</b> includes an application program <b>42</b>, and an API <b>44</b> operably available to the application program <b>42</b> and with a content agent <b>45</b> that enables the application program <b>42</b> to retrieve content from the content server <b>80</b> and store it locally. Communications between the content agent <b>45</b> and content server <b>80</b> are illustrated as going through the gateway <b>60</b>; however, it is understood that this is not required. Content agent <b>45</b> may communicate directly with a content server <b>80</b>. An agent is a program that gathers information and/or performs some service. Agents are well understood by those of skill in the art and need not be described further herein.
P-0043[0043] The API <b>44</b> preferably includes logic for communicating with the gateway <b>60</b> (and/or directly with the content server <b>80</b>), logic for selecting and retrieving content from the content server <b>80</b>, potentially via the gateway <b>60</b>, and for storing (caching) the content within the client device <b>40</b>. The API <b>44</b> may include logic for selecting content stored within the client device <b>40</b> for display by the executing application program <b>42</b>. The API <b>44</b> may include logic for processing user responses to content displayed by the application program <b>42</b>. The API <b>44</b> may include accounting logic for notifying the content server <b>80</b> about content displayed by the application program and about user interactions with displayed content.
P-0044[0044] When the device <b>40</b> is offline (i.e., without a connection to the network <b>70</b>), the API <b>44</b> accesses information stored locally at the content agent <b>45</b>. The content agent is capable of returning content pre-fetched from a content server <b>80</b>. The caching agent <b>45</b> is also capable of storing and accumulating accounting data thru the API <b>44</b>.
P-0045[0045] When the device is online (i.e., with a connection to the network <b>70</b>), the content agent <b>45</b> may pre-fetch content from the content server <b>80</b> (potentially through a gateway <b>60</b>) to be stored locally. The caching agent <b>45</b> may also transfer previously accumulated accounting information to the content server <b>80</b>.
P-0046[0046] The gateway <b>60</b>, if present, is configured to communicate with the client content agent <b>45</b>. The gateway <b>60</b> is configured to retrieve content from the content server <b>80</b> in response to receiving requests from the content agent <b>45</b>, usually at the request of application program <b>42</b> through the API <b>44</b>. The gateway <b>60</b> is configured to serve content retrieved from the content server <b>80</b> to the client device <b>40</b>.
P-0047[0047] Referring now to FIG. 5, a specific implementation of the system <b>50</b> of FIG. 4 is illustrated. In FIG. 5, a system <b>50</b>′ that facilitates the selection, retrieval, storage, and display of promotional content within various client devices, according to embodiments of the present invention, is schematically illustrated. It is understood that the term “promotional content” includes, but is not limited to, advertisements, electronic coupons, and the like. The illustrated system <b>50</b>′ includes a client device <b>40</b>′ that can communicate with a gateway <b>60</b>′ via a communications network <b>70</b>, and one or more promotional content servers <b>80</b>′ (e.g., ad servers) that are configured to serve packages of promotional content, such as advertising and/or electronic coupons.
P-0048[0048] The client device <b>40</b>′ may be virtually any type of electronic device that has the ability to intermittently communicate with other devices via a communications network including, but not limited to, personal computers, wireless communications devices, radiotelephones, PDAs, hand-held computers/devices, Web-enabled phones, and the like. The client device <b>40</b>′ includes an application program <b>42</b>′ configured to display promotional content during execution thereof, and an API <b>44</b>′ operably available to the application program <b>42</b>′ that enables the application program <b>42</b>′ to select and retrieve promotional content from the content agent <b>40</b>′.
P-0049[0049] The illustrated API <b>44</b>′ includes logic <b>44</b><i>a </i>for communicating with the gateway <b>60</b>′, logic <b>44</b><i>b </i>for retrieving promotional content from one or more of the promotional content servers <b>80</b>′ via the gateway <b>60</b>′ and for storing (caching) the promotional content within the client device <b>40</b>′. The retrieval and caching logic <b>44</b><i>b </i>may be configured to specify restrictions on promotional content, such as size and number of promotional content units in packages of promotional content served by the promotional content server <b>80</b>′. The retrieval and caching logic <b>44</b><i>b </i>may also be configured to select and retrieve content based on various user preferences and/or device preferences.
P-0050[0050] The illustrated API <b>44</b>′ includes logic <b>44</b><i>e </i>for selecting promotional content stored within the client device <b>40</b>′ for display by the executing application program <b>42</b>′. The illustrated API <b>44</b>′ includes logic <b>44</b><i>d </i>for processing user responses to promotional content displayed by the application program <b>42</b>′. For example, the user response logic <b>44</b><i>d </i>can be configured to display content (e.g., previously cached content) in response to user activation of promotional content displayed within the executing application program <b>42</b>′.
P-0051[0051] The illustrated API <b>44</b>′ also includes accounting logic <b>44</b><i>c </i>for notifying the promotional content servers <b>80</b>′ (or other devices) about promotional content displayed by the application program. The accounting logic <b>44</b><i>c </i>is preferably configured to track impressions (i.e., each time particular promotional content is displayed) and interactions (i.e., each time a user “clicks” on particular displayed promotional content).
P-0052[0052] The illustrated gateway <b>60</b>′ is configured to communicate with the application program <b>42</b>′ via the client device API <b>44</b>′. The gateway <b>60</b>′ is configured to select and retrieve promotional content from one or more of the promotional content servers <b>80</b>′ in response to receiving requests from the application program <b>42</b>′. The gateway <b>60</b>′ is configured to serve promotional content retrieved from one of the promotional content servers <b>80</b>′ to the client device <b>40</b>′.
P-0053[0053] The illustrated gateway <b>60</b>′ includes a plurality of server-side components <b>62</b> that are configured to communicate with client devices operating on specific platforms. For example, client devices operating on the Palm OS platform will communicate with the gateway <b>60</b>′ via server-side component <b>62</b><i>a</i>. Similarly, client devices operating on the BREW platform will communicate with the gateway <b>60</b>′ via server-side component <b>62</b><i>b</i>; client devices operating on the J2ME platform will communicate with the gateway <b>60</b>′ via server-side component <b>62</b><i>c</i>; and client devices operating on the PocketPC platform will communicate with the gateway <b>60</b>′ via server-side component <b>62</b><i>d</i>. In addition, the server-side components <b>62</b> are configured to convert the format of promotional content retrieved from the promotional content servers <b>80</b>′ into formats compatible with a respective client device <b>40</b>′.
P-0054[0054] The illustrated gateway <b>60</b>′ also provides an open API for carriers that enables them to interact with subscriber databases, location information services, and e-wallet and payment services.
P-0055[0055] Referring now to FIGS. <b>6</b>A-<b>6</b>B, various operations performed by an agent on a client device in accordance with embodiments of the present invention will be described. Referring to FIG. 6A, operations for displaying content within an application program executing within a device, according to embodiments of the present invention, are illustrated. An API within a device selects content stored within the device for display by an application program executing on the device (Block <b>100</b>). The selected content is displayed within the application program (Block <b>110</b>). User responses to the displayed content are processed (Block <b>120</b>). For example, cached content may be displayed to a user in response to user activation of content displayed within an executing application program. Information regarding content that was displayed and/or interacted with by a user is stored for later transmittal to a content server (Block <b>130</b>).
P-0056[0056] Referring now to FIG. 6B, when a device has an active network connection, it communicates its locally collected accounting data (e.g., information about what has been displayed and what has been interacted with by a user) to a remote server (Block <b>150</b>). The device also sends a request to a remote server for additional content, including in the request any local preferences or profile information that are relevant (Block <b>160</b>). The device then receives a response from a remote server consisting of one or more packages of content as well as any restrictions on the use of that content (i.e., time of day, frequency control, etc.) (Block <b>170</b>).
P-0057[0057] Table <b>1</b> below illustrates an exemplary subset of API calls that a developer using JAVA® could use to fetch promotional content, display the promotional content and then handle user responses to the displayed promotional content, according to embodiments of the present invention. <tables id="TABLE-US-00001" num="1"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="OFFSET" colwidth="21PT" align="left" /><colspec colname="1" colwidth="105PT" align="left" /><colspec colname="2" colwidth="91PT" align="left" /><thead><row><entry /><entry namest="OFFSET" nameend="2" align="center">TABLE 1</entry></row><row><entry /><entry /></row><row><entry /><entry namest="OFFSET" nameend="2" align="center" rowsep="1" /></row><row><entry /><entry>API Call</entry><entry>Purpose</entry></row><row><entry /><entry namest="OFFSET" nameend="2" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /><entry>public boolean sync(String</entry><entry>Get a package of ads.</entry></row><row><entry /><entry>spotId);</entry></row><row><entry /><entry>public byte [] getAd (String</entry><entry>Select one of the ads</entry></row><row><entry /><entry>spotId);</entry><entry>in the package.</entry></row><row><entry /><entry>public byte []</entry><entry>Get the click-through</entry></row><row><entry /><entry>getClickThroughResponse();</entry><entry>for that ad.</entry></row><row><entry /><entry namest="OFFSET" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
EXAMPLE 1
P-0058[0058] A handheld device application program contacts a gateway to request a package of ads for a specific inventory item. The application program may start with a splash screen that shows an ad. That splash screen would be represented in an ad serving solution as a spot or site—just like a banner ad content element on a web site.
P-0059[0059] A gateway fulfills the request by contacting the specified ad server and forwarding the delivery request to the ad server. The ad server responds to the gateway by serving a document that describes everything the handheld device needs to cache, render and account for. In the example document below, media refers to a specific creative item. A media element can be a binary file or text. It can also specify a URL to use for the user's responses to the ad. An example ad package could look like this: <tables id="TABLE-US-00002" num="2"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="left" /><thead><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry><!DOCTYPE maml PUBLIC ‘-//WAPFORUM//DTD WML 1.1//EN’</entry></row><row><entry>‘http:///maml.dtd’></entry></row><row><entry><microcaster></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="14PT" align="left" /><colspec colname="1" colwidth="203PT" align="left" /><tbody valign="top"><row><entry /><entry><media-set></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="28PT" align="left" /><colspec colname="1" colwidth="189PT" align="left" /><tbody valign="top"><row><entry /><entry><media id=‘98’</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="left" /><tbody valign="top"><row><entry>mediaURL=‘http://ad.server.net/media/1/0/98_markup.txt’</entry></row><row><entry>redirectURL=‘http://www.host.com/exec/order?product=<id>’</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="77PT" align="left" /><colspec colname="1" colwidth="140PT" align="left" /><tbody valign="top"><row><entry /><entry>altResponse=‘’/></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="14PT" align="left" /><colspec colname="1" colwidth="203PT" align="left" /><tbody valign="top"><row><entry /><entry></media-set></entry></row><row><entry /><entry><placement-set></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="28PT" align="left" /><colspec colname="1" colwidth="189PT" align="left" /><tbody valign="top"><row><entry /><entry><ad-placement id=‘75’</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="112PT" align="left" /><colspec colname="1" colwidth="105PT" align="left" /><tbody valign="top"><row><entry /><entry>server=‘windcaster’</entry></row><row><entry /><entry>media=‘98’</entry></row><row><entry /><entry>maxImpressions=‘0’/></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="14PT" align="left" /><colspec colname="1" colwidth="203PT" align="left" /><tbody valign="top"><row><entry /><entry></placement-set></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="left" /><tbody valign="top"><row><entry></microcaster></entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
P-0060[0060] At some point after the application program has delivered impressions for a set of ads it will contact the gateway to upload accounting information to the underlying ad server. Accounting information includes the id of an ad placement, a number of impressions delivered, the number of responses from users and, optionally, the device id of the user.
P-0061[0061] The format of an exemplary accounting message that is sent to the ad server is as follows: <tables id="TABLE-US-00003" num="3"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="left" /><thead><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry><!DOCTYPE maml PUBLIC ‘-//WAPFORUM//DTD WML 1.1//EN’</entry></row><row><entry>‘http://ad.windcaster.com/DTDs/maml.dtd’></entry></row><row><entry><microcaster></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="14PT" align="left" /><colspec colname="1" colwidth="203PT" align="left" /><tbody valign="top"><row><entry /><entry><accounting></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="OFFSET" colwidth="28PT" align="left" /><colspec colname="1" colwidth="49PT" align="left" /><colspec colname="2" colwidth="140PT" align="left" /><tbody valign="top"><row><entry /><entry><ad-placement</entry><entry>id=‘<Id>’</entry></row><row><entry /><entry /><entry>deviceId=‘<dId>’</entry></row><row><entry /><entry /><entry>spot=‘<spotId>’</entry></row><row><entry /><entry /><entry>impressions=‘<n>’</entry></row><row><entry /><entry /><entry>responses=‘<m>’/></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="OFFSET" colwidth="14PT" align="left" /><colspec colname="1" colwidth="203PT" align="left" /><tbody valign="top"><row><entry /><entry></accounting></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="left" /><tbody valign="top"><row><entry></microcaster></entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
EXAMPLE 2
P-0062[0062]FIG. 7 illustrates another specific implementation of the system <b>50</b> of FIG. 4. In FIG. 7, a system <b>50</b>″ is provided that facilitates the sharing of content among two or more application programs <b>42</b><i>a</i>, <b>42</b><i>b </i>executing (or executable) on a client device <b>40</b>″. The illustrated system <b>50</b>″, includes a client device <b>40</b>″ that can communicate with a gateway <b>60</b>″ via a communications network <b>70</b>, and an ad server <b>80</b>″ that is configured to serve promotional content, such as advertising and/or electronic coupons.
P-0063[0063] The client device <b>40</b>″ includes an e-mail application program <b>42</b><i>a </i>and a datebook application program <b>42</b><i>b</i>. When the e-mail application program <b>42</b><i>a </i>receives promotional content containing information about an upcoming event, the e-mail application program <b>42</b><i>a </i>can interface with the datebook application program <b>42</b><i>b</i>, via an ad agent <b>45</b>″, and store information about the upcoming event therein. For example, if promotional content displayed by the e-mail application program <b>42</b><i>a </i>contained a date for an upcoming event, this date could be sent to the datebook application <b>42</b><i>b</i>, automatically.
EXAMPLE 3
P-0064[0064] Referring now to FIG. 9, a block diagram is provided that illustrates a client device <b>10</b> having an ad agent <b>16</b> executing therewithin according to embodiments of the present invention. The client device <b>10</b> may be, but is not limited to, a personal computer, portable computer, handheld computer/device, PDA, pager, cellular telephone, web-enabled radiotelephone, and/or other mobile/wireless device. The client device <b>10</b> includes a Web browser <b>12</b> and cache <b>14</b> associated therewith. The client device <b>10</b> also includes local ad storage (e.g., cache and/or other nonvolatile memory) <b>18</b> for storing ads downloaded from remote sources (e.g., ad servers).
P-0065[0065] In the illustrated embodiment of FIG. 9, a user, via the client device Web browser <b>12</b>, has made a request <b>13</b> to a Web server <b>20</b> for content. The Web server <b>20</b> serves a response <b>15</b> to the user request that includes the requested content and a hyperlink that indidcates the browser should retrieve the information from the local ad agent <b>16</b>.
P-0066[0066] According to the illustrated embodiment of FIG. 9, the Web browser <b>12</b>, upon receiving the response <b>15</b> from the Web server <b>20</b>, invokes the ad agent <b>16</b> within the client device <b>10</b> to contact the ad server <b>22</b> identified in a link returned in the server response <b>15</b>. The ad agent <b>16</b> sends a request <b>23</b> to the ad selection/usage logic <b>24</b> of the ad server <b>22</b> and receives an identification <b>25</b> of an advertisement that should be inserted within the content in the Web server response <b>15</b>. Using the received advertisement identification <b>25</b>, the ad agent <b>16</b> retrieves the identified advertisement from local ad storage <b>18</b> within the client device <b>10</b>. As such, the transaction with the ad server results in selection of an advertisement, but not a download of the advertisement. Because an advertisement file size is typically much larger than the file size of an identifier, significant savings in time and bandwidth can be realized via the present invention.
P-0067[0067] Invocation of the ad agent <b>16</b> by the Web browser <b>12</b> can occur by various mechanisms. For example, an ad agent protocol identifier (e.g., adagent://ad.adserver.com/XXX) may be utilized as a “link” to local ad storage instead of a conventional URL to an actual ad server (e.g., a URL preceded by “http”). Alternatively, a locally stored advertisement may be identified using a URL such as “localhost/adagent?ad.adserver.com/XXX”. However, it is understood that various methodologies of routing an advertisement request to an ad agent may be utilized in accordance with embodiments of the present invention.
P-0068[0068] Referring now to FIG. 8, a flow chart is provided describing the operations of FIG. 9. Initially, a user, via a client device having a browser (e.g., a Web browser or microbrowser executing therewithin), requests content (e.g., a Web page) from a server (e.g., a Web server) in communication with the client device via a network (e.g., the Internet or an intranet) (Block <b>200</b>). Exemplary client devices may include, but are not limited to, personal computers, portable computers, handheld computers/devices, PDAs, pagers, cellular telephones, web-enabled radiotelephones, and/or other mobile/wireless devices.
P-0069[0069] The client device receives from the server the requested content and a link to a remote ad server that directs the client to request a dynamically selected advertisement from the local ad agent (Block <b>210</b>). Dynamic advertisement selection via ad servers is well known to those of skill in the art and need not be described further herein. Also understood by those skilled in the art, user requested content may include one or more portions designated to receive dynamically selected advertisements therewithin. Upon receiving an identifier of the advertisement from the local ad agent, a client inserts the advertisement within a designated portion of the requested content and displays the content and advertisement via a display.
P-0070[0070] According to embodiments of the present invention, upon receiving a link to a local ad agent with the requested content (Block <b>210</b>), the client requests the information from the local ad agent (Block <b>215</b>). In the illustrated embodiment, the ad agent on the client device is configured to pass that request to a remote ad server, where the ad server selects an advertisement for insertion within the designated content portion (Block <b>220</b>). Upon receiving an identification of an advertisement selected by the ad server (Block <b>230</b>), the ad agent retrieves the selected advertisement from data storage within the client device (Block <b>250</b>), and returns it to the browser where the requested content and selected advertisement are displayed within the client device (Block <b>260</b>).
P-0071[0071] An ad agent according to embodiments of the present invention may also be configured to notify a remote ad server of display and/or user interaction with a selected advertisement (Block <b>270</b>). In addition, advertisements stored within a client device preferably are prefetched from a source, such as a remote ad server, prior to a user requesting content from a server via the client device. For example, advertisements may be downloaded and stored on a wireless device, such as a PDA, when the wireless device is connected to a networked computer (i.e., a computer that is connected to the Internet and/or other network) for synchronization. Likewise, notification of user interaction or display of an advertisement can also happen when the wireless device is connected to the network.
P-0072[0072] According to other embodiments of the present invention, an ad agent within a client device may be configured to perform ad selection locally for insertion within user-requested content. For example, upon receiving a link to an ad server with user-requested content, a client device may request an ad agent to select an advertisement from local storage, in lieu of sending a request to the identified ad server to select an advertisement (Block <b>240</b>). Upon selecting an advertisement, the ad agent retrieves the selected advertisement from local storage within the client device (Block <b>250</b>), and displays the requested content and selected advertisement within a display of the client device (Block <b>260</b>), as described above.
P-0073[0073] The foregoing is illustrative of the present invention and is not to be construed as limiting thereof. Although a few exemplary embodiments of this invention have been described, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined in the claims. Therefore, it is to be understood that the foregoing is illustrative of the present invention and is not to be construed as limited to the specific embodiments disclosed, and that modifications to the disclosed embodiments, as well as other embodiments, are intended to be included within the scope of the appended claims. The invention is defined by the following claims, with equivalents of the claims to be included therein.
Contents9
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2013212620A1 | Cited by | United States of America | Search report |
| US2014304073A1 | Cited by | United States of America | Search report |
| US2013232008A1 | Cited by | United States of America | Pre-grant |
| US2010088156A1 | Cited by | United States of America | Pre-grant |
| US11080762B1 | Cited by | United States of America | Search report |
| US11842366B1 | Cited by | United States of America | Search report |
| US9936080B2 | Cited by | United States of America | Search report |
| US7784065B2 | Cited by | United States of America | Search report |
| US11599865B2 | Cited by | United States of America | Search report |
| WO03103218A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2009125321A1 | Cited by | United States of America | Pre-grant |
| US2005091662A1 | Cited by | United States of America | Pre-grant |
| AU2003241572B2 | Cited by | Australia | Search report |
| WO2013181671A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2021035079A1 | Cited by | United States of America | Search report |
| US10343060B2 | Cited by | United States of America | Applicant |
| US2009124241A1 | Cited by | United States of America | Pre-grant |
| WO2009026336A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9836771B1 | Cited by | United States of America | Search report |
| US2009157834A1 | Cited by | United States of America | Pre-grant |
| WO2016018619A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9118722B1 | Cited by | United States of America | Applicant |
| US2019303973A1 | Cited by | United States of America | Search report |
| US2008275764A1 | Cited by | United States of America | Pre-grant |
| US2009319329A1 | Cited by | United States of America | Pre-grant |
| US2007150719A1 | Cited by | United States of America | Pre-grant |
| US2013212620A1 | Cited by | United States of America | Search report |
| US2007156594A1 | Cited by | United States of America | Pre-grant |
| US2009054117A1 | Cited by | United States of America | Pre-grant |
| US10565575B2 | Cited by | United States of America | Search report |
| US9203912B2 | Cited by | United States of America | Applicant |
| US2006242267A1 | Cited by | United States of America | Pre-grant |
| US2005068423A1 | Cited by | United States of America | Pre-grant |
| US9712639B2 | Cited by | United States of America | Applicant |
| US2015154659A1 | Cited by | United States of America | Pre-grant |
| US2005132361A1 | Cited by | United States of America | Pre-grant |
| US2009228361A1 | Cited by | United States of America | Pre-grant |
| US2008263673A1 | Cited by | United States of America | Pre-grant |
| US2011055023A1 | Cited by | United States of America | Search report |
| US2018075426A1 | Cited by | United States of America | Search report |
| US2013325617A1 | Cited by | United States of America | Pre-grant |
| US10405173B1 | Cited by | United States of America | Applicant |
| US9984395B1 | Cited by | United States of America | Applicant |
| WO03103218A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2009048977A1 | Cited by | United States of America | Pre-grant |
| US7522910B2 | Cited by | United States of America | Applicant |
| US7577429B2 | Cited by | United States of America | Applicant |
| US9795875B2 | Cited by | United States of America | Applicant |
| US9661374B1 | Cited by | United States of America | Search report |
| US2008182569A1 | Cited by | United States of America | Pre-grant |
| US9398113B2 | Cited by | United States of America | Applicant |
| US2009011740A1 | Cited by | United States of America | Pre-grant |
| US2011161172A1 | Cited by | United States of America | Pre-grant |
| US2009125585A1 | Cited by | United States of America | Pre-grant |
| US2009214014A1 | Cited by | United States of America | Pre-grant |
| US7634780B2 | Cited by | United States of America | Applicant |
| US2014297518A1 | Cited by | United States of America | Search report |
| US2009164310A1 | Cited by | United States of America | Pre-grant |
| US2010008488A1 | Cited by | United States of America | Pre-grant |
| US11660529B2 | Cited by | United States of America | Applicant |
| US10523992B2 | Cited by | United States of America | Search report |
| WO2008154424A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9705998B2 | Cited by | United States of America | Applicant |
| US7581034B2 | Cited by | United States of America | Applicant |
| WO2005096255A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US7551199B2 | Cited by | United States of America | Applicant |
| US2009013024A1 | Cited by | United States of America | Pre-grant |
| US10015254B1 | Cited by | United States of America | Search report |
| EP1376978A3 | Cited by | European Patent Office (EPO) | Search report |
| US2010049608A1 | Cited by | United States of America | Pre-grant |
| US2009011744A1 | Cited by | United States of America | Pre-grant |
| US7558837B1 | Cited by | United States of America | Search report |
| US7548255B2 | Cited by | United States of America | Applicant |
| US10218812B2 | Cited by | United States of America | Applicant |
| US9818133B1 | Cited by | United States of America | Applicant |
| US2019068437A1 | Cited by | United States of America | Search report |
| US2008313307A1 | Cited by | United States of America | Pre-grant |
| US2007276728A1 | Cited by | United States of America | Pre-grant |
| US12112347B1 | Cited by | United States of America | Applicant |
| US2009216847A1 | Cited by | United States of America | Pre-grant |
| US2008307412A1 | Cited by | United States of America | Pre-grant |
| US2008155017A1 | Cited by | United States of America | Pre-grant |
| US10692063B2 | Cited by | United States of America | Search report |
| US8660613B2 | Cited by | United States of America | Applicant |
| US8296417B1 | Cited by | United States of America | Search report |
| WO2005096255A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2014304073A1 | Cited by | United States of America | Search report |
| US2019068437A1 | Cited by | United States of America | Search report |
| US11966897B2 | Cited by | United States of America | Search report |
| US11367061B2 | Cited by | United States of America | Search report |
| US11212166B2 | Cited by | United States of America | Search report |
| US2022327508A1 | Cited by | United States of America | Search report |
| US2009012861A1 | Cited by | United States of America | Pre-grant |
| US2008307103A1 | Cited by | United States of America | Pre-grant |
| US2009207991A1 | Cited by | United States of America | Pre-grant |
| US10580042B2 | Cited by | United States of America | Search report |
| US2014297518A1 | Cited by | United States of America | Pre-grant |
| US2004162756A1 | Cited by | United States of America | Pre-grant |
| US10055757B1 | Cited by | United States of America | Applicant |
| US2010088157A1 | Cited by | United States of America | Pre-grant |
8 members in 3 offices
Members8
| Document | Office | Kind | |
|---|---|---|---|
| WO0193524A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU6333601A | Australia | A | |
| US2002004855A1 | United States of America | A1 | |
| WO0193524A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US8843590B2 | United States of America | B2 | |
| US2014372206A1 | United States of America | A1 | |
| US2017154358A1 | United States of America | A1 | |
| US2019050894A1 | United States of America | A1 |
129 transactions on the USPTO file
Allowed after 7 non-final rejections, 5 final rejections and 5 RCEs.
- Non-final rejections
- 7
- Final rejections
- 5
- RCEs
- 5
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Surcharge for late Payment, Small EntityM2554 | M2554 | |
| Payment of Maintenance Fee, 4th Yr, Small EntityM2551 | M2551 | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Correspondence Address ChangeC.AD | C.AD | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Applicant Has Filed a Verified Statement of Small Entity Status in Compliance with 37 CFR 1.27SMAL | SMAL | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment Communication | – | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Correspondence Address ChangeC.AD | C.AD | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to Examiner | – | |
| Date Forwarded to Examiner | – | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Response after Non-Final ActionA... | A... | |
| Mail Miscellaneous Communication to ApplicantMCTMS | MCTMS | |
| Miscellaneous Action with SSPCTMS | CTMS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to Examiner | – | |
| Date Forwarded to Examiner | – | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to Examiner | – | |
| Date Forwarded to Examiner | – | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Notice of Informal or Non-Responsive AmendmentNINA | NINA | |
| Case Docketed to Examiner in GAUDOCK | DOCK |
30 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Fee payment procedureENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| Fee payment procedureSURCHARGE FOR LATE PAYMENT, SMALL ENTITY (ORIGINAL EVENT CODE: M2554); ENTITY STATUS OF PATENT OWNER: SMALL ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)FEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Application
- 86040101
Titles
- English
- Systems, methods and computer program products for facilitating display of content within application programs executing on electronic devices
Patent term adjustment
- A delay
- +1,583 daysthe office missed an examination deadline
- B delay
- +1,021 dayspendency past three years
- Overlap
- −366 daysdelays counted once
- Applicant delay
- −565 days
- Net adjustment
- 1,673 days
Classification
- CPC, 18
- G06Q30/0246
- G06Q30/02
- H04L67/36
- H04L67/2823
- H04L67/303
- H04L67/306
- H04L67/2814
- H04L67/04
- H04L67/2842
- H04L67/10
- H04L67/289
- H04L69/329
- G06Q30/0267
- G06Q30/0277
- H04L67/20
- H04L29/06
- H04L67/02
- H04L67/42
- IPC, 3
- G06Q30 00
- H04L29 06
- H04L29 08
- USPC, 1
- 719328000