INFORMATION DISPLAY SYSTEM AND METHOD
CROSS-REFERENCES TO RELATED APPLICATIONS
[01] This application claims the benefit of U.S. Provisional Application No. 60/492,946 filed on August 5, 2003, and entitled METHOD AND APPARATUS FOR A STANDARDIZED DIGITAL ORGANIZATION SYSTEM DESIGNED TO FACILITATE BUYER/VIEWER DRIVEN OBTAINING OF INFORMATION AND/OR PURCHASING OF PRODUCTS AND/OR SERVICES, the entirety of which is hereby incorporated by reference.
FIELD OF THE INVENTION
[02] The present invention relates to the field of electronic data/information presentation. More specifically, the present invention relates to methods and apparatuses for displaying information in a uniform fashion.
BACKGROUND
[03] Advances in microprocessor related technology have lead to the widespread development and the adoption of computing devices. Computing powers that used to be available only in expensive mainframe computers requiring special operating environments are now available in many personal-computing devices. The form factors vary from desktop, laptop, palm-sized and so forth. A number of these computing devices are packaged as "special purpose" devices, such as set top boxes, entertainment personal digital assistants ("PDA"), pagers, text messengers, smart appliances and wireless mobile phones.
[04] Concurrently, advances in networking, telecommunications and related technologies, in particular, in the area of wireless networking/communications, have lead to increased connectivity between computing devices, over local, private, wide area, and/or public networks. Of particular notoriety is the Internet.
[05] Together, these and other related factors contributed to the availability of rich content and functionality available from a variety of sources. Recently, this availability of rich content has made significant advances in allowing online access to information. [06] To facilitate information display, presentation protocols and services have been implemented to allow the display of information. However, these protocols and services have been mainly limited to conventional static web pages that fail to provide an efficient user friendly information display experience.
BRIEF DECRIPTION OF THE DRAWINGS
[07] The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references to note similar elements, and in which:
[08] Figure 1 illustrates a system view of an example operating environment suitable for use to practice the present invention, in accordance with one embodiment.
[09] Figure 2 illustrates an architectural view of a device suitable for use as a user device, in accordance with one embodiment.
[10] Figure 3 illustrates an architectural view of a device suitable for use as a registry server, in accordance with one embodiment.
[11] Figure 4 illustrates an overview of the protocol and methods for the various devices to interact with the user device for displaying information, in accordance with one embodiment.
[12] Figure 5 illustrates the operational flow of relevant aspects of a process at the registry server for determining information to display, in accordance with one embodiment.
[13] Figures 6-8 illustrate exemplary web pages corresponding to displayed information, in accordance with various embodiments.
DETAILED DESCRIPTION
[14] In the following description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in
which are shown, by way of illustration, specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
[15] Embodiments of the present invention include a user-friendly technique for displaying information in a contextually relevant manner. However, embodiments of the present invention are not so limited, and may be practiced for engaging in many forms of information display utilizing a registry server to interface between devices to display information.
[16] In the following description, various aspects of selected embodiments of the present invention will be described. However, it will be apparent to those of ordinary skill in the art and others that alternate embodiments may be practiced with only some or all of the aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those of ordinary skill in the art and others that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrated embodiments.
[17] The various operations will be described as multiple discreet steps in turn, in a manner that is most helpful to understanding of the present invention. However, the order of description should not be construed to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation.
[18] The phrase "in one embodiment" is used repeatedly. The phrase generally does not refer to the same embodiment, however, it may. The terms "comprising," "having" and "including" are synonymous, unless the context dictates otherwise.
[19] Referring now to Figure 1 , wherein an overview of an example operating environment incorporated with the teachings of the present invention, in accordance
with one embodiment, is shown. The operating environment may also be considered and/or referred to as a system or a cluster of systems. As illustrated, example operating environment 100 includes a user device 200, a web server 120, a host server 130, a registry server 300 and a repository server 140, all interconnected via a network 110, such as the Internet. In alternate embodiments, operating environment 100 may include more or less components. The devices of operating environment 100 may comprise a number of components. Figure 2 illustrates one exemplary embodiment of a user device 200, which is described below. Similarly, Figure 3 illustrates one exemplary embodiment of a registry server 300, also described below.
[20] In various embodiments, the user device 200, web server 120, host server 130, registry server 300 and repository server 140 are coupled to each other wirelessly, i.e., they are members of a wireless network. In other embodiments, the user device 200, web server 120, host server 130, registry server 300 and repository server 140 are coupled to each other as members of a wire-based or mixed wireless and wire-based network (e.g., as in the Internet). Regardless of the manner the devices are coupled to each other, for various embodiments, user device 200, web server 120, host server 130, registry server 300 and repository server 140 are equipped to operate in accordance with the at least one information display transaction protocol. In various embodiments, one or more of the user device 200, web server 120, host server 130, registry server 300 and repository server 140 may be wholly or partially integrated. Thus, the devices and servers, as described herein, shall be interpreted with the meaning of an appropriately equipped device, operating in accordance with one or more of the user device 200, web server 120, host server 130, registry server 300 and repository server 140 roles.
[21] Figure 2 illustrates an exemplary user device 200 suitable for use in an embodiment of the present invention. In alternate embodiments, the user device 200 may include many more components (or fewer) than those shown in Figure 2. However, it is not necessary that all of these generally conventional computing components be shown in order to disclose an enabling embodiment for. practicing the present invention. Furthermore, while user device 200 is referred to as a user device, in various
embodiments it may be any form of device suitable for graphically capturing portions of rendered documents. As shown in Figure 2, the user device 200 includes a communications interface 230, which, in some embodiments of the present invention, may be a Network Interface Controller ("NIC"). The inter-device communications of the communications interface 230 may be designed to support a local area network, wide area network, personal area network, telephone network, power line network, serial bus or wireless (e.g., Bluetooth, IEEE 802.11 or 802.16 and the like) connection. Such a communications interface 230 would also include the necessary circuitry, driver(s) and/or transceiver for such a connection and would be constructed for use with the appropriate transmission protocols for such connections.
[22] The user device 200 also includes a processing unit 210, a display 240, and a memory 250, all interconnected along with the communications interface 230 via a bus 220. The memory 250 generally comprises a random access memory ("RAM"), a read only memory ("ROM") and a permanent mass storage device, such as a disk drive, flash RAM or the like. The memory 250 stores an operating system 255 and browser 260. In alternate embodiments, bus 220 may be a hierarchy of bridged buses. For ease of understanding, operating system 255 and browser 260 are illustrated as separate software components, in alternate embodiments, they may be comprised of multiple software components, implemented in hardware, or may be subparts of one or more integrated software components.
[23] It will be appreciated that the software components of user device 200 may be loaded from a computer readable medium into memory 250 of the user device 200 using a mechanism (not shown) associated with the computer readable medium such as a floppy, tape, DVD (Digital Versatile Disk) /CD (Compact Disk)-ROM drive, flash RAM or communications interface 230. In various embodiments, the loading may be performed during the manufacturing of device 200, or in the field. In other embodiments, the software components may be downloaded from one or more networked servers.
[24] In various embodiments, the communications interface 230 may facilitate the connection of remote devices to the user device 200. For example, devices for reading
and/or writing in machine readable media, digital cameras, printers and the like. Various input mechanisms may also be coupled to the user device 200, such as, for example, keyboards, keypads, touch-pads, mice and the like (not shown). [25] Figure 3 illustrates an exemplary registry server 300 suitable for use in an embodiment of the present invention. In alternate embodiments, the registry server 300 may include many more components (or fewer) than those shown in Figure 3. However, it is not necessary that all of these generally conventional computing components be shown in order to disclose an enabling embodiment for practicing the present invention. As shown in Figure 3, the registry server 300 includes a communications interface 330, which, in some embodiments of the present invention, may be a NIC. The inter-device communications of the communications interface 330 may be designed to support a local area network, wide area network, personal area network, telephone network, power line network, serial bus or wireless (e.g., Bluetooth, IEEE 802.11 or 802.16 and the like) connection. Such a communications interface 330 would also include the necessary circuitry, driver(s) and/or transceiver for such a connection and would be constructed for use with the appropriate transmission protocols for such connections. [26] The registry server 300 also includes a processing unit 310, an optional display 340 and a memory 350, all interconnected along with the communications interface 330 via a bus 320. The memory 350 generally comprises RAM, ROM and a permanent mass storage device, such as a disk drive, flash RAM or the like. The memory 350 stores an operating system 355, web service 360, page processing routine 365 and a page registry 370. In alternate embodiments, bus 320 may be a hierarchy of bridged buses. For ease of understanding, operating system 355, web service 360, page processing routine 365 and page registry 370 are illustrated as separate software components, in alternate embodiments, they may be comprised of multiple software components, implemented in hardware, or may be subparts of one or more integrated software components.
[27] In one embodiment, the page registry 370 contains correlations between pages and host servers 130 (or entities associated with host servers 130). The registry server
300 uses the page registry 370 to correlate the association of displayed Uniform Pages and links for a particular user device 200 viewing a particular Uniform Page. [28] It will be appreciated that the software components may be loaded from a computer readable medium into memory 350 of the registry server 300 using a mechanism (not shown) associated with the computer readable medium such as a floppy, tape, DVD (Digital Versatile Disk), CD (Compact Disk)-ROM drive, flash RAM or communications interface 330. In various embodiments, the loading may be performed during the manufacturing of device 300, or in the field. In other embodiments, the software components may be downloaded from one or more networked servers. [29] In various embodiments, the communications interface 330 may facilitate the connection of remote devices to the registry server 300. For example, devices for reading and/or writing in machine readable media, digital cameras, printers and the like. Various input mechanisms may also be coupled to the registry server 300, such as, for example, keyboards, keypads, touch-pads, mice and the like (not shown). [30] In some embodiments, the user device 200 initiates an page display involving the registry server 300 by requesting a Web page from a Web server 120. Figure 4 illustrates one exemplary series of communications between a user device 200, Web server 120, host server 130, registry server 300 and a repository server 140 in accordance with various.embodiments.
[31] Figure 4 shows the flow of information display, including the parameters, for some devices of operating environment 100. In this embodiment, a request for information is sent from the user device 200 to begin an information display transaction. The specific communications between the devices are described in more detail below and shown in Figure 4.
[32] In Figure 4, the information display transaction begins with a web page request 405 to a web server 120. The web server 120 retrieves (or generates) 410 a web page with one or more links. The links include at least one link to a "Uniform Page", examples of which are shown in Figures 6-8 and described below. Briefly, Uniform Pages are web pages with predetermined formats that include one ore more related links to a Uniform Page display portion. Links within a Uniform Page may be specific
Uniform Links that appear in banner form within a Uniform Page, or links may include coupons and/or text links within a Uniform Page. The web server 120 returns 415 the web page to a requesting user device 200.
[33] The user device 200 then allows a user of the user device 200 to select 420 a link (e.g., by displaying the web page). Upon selecting a link associated with a Uniform Page, a Uniform Page request of the selected link is sent 425 to a host server 130 of the Uniform Page. Note that while the host server 130 is referred to as a "host," it may not necessarily have Uniform Page data resident at the host server 130. However, the host server 130 does have identifying information (host identifier) that allows other devices in the operating environment 100 to look up information about the host server 130. [34] Accordingly, the host server 130 forwards 430 a Uniform Page and links (and possibly coupons and/or text links) request to registry server 300. The registry server 300 parses 435 the request to determine what has been requested. Next, the registry server 300 determines 440 which Uniform Page to provide, and which links (and possibly coupons and/or text links) to include within the Uniform Page. One or more Uniform Page and links (possibly including coupon and/or text link) requests are sent 445 to one or more repository servers 140.
[35] Each repository server 140 processes 450 its request(s) and returns 455 Uniform Page and/or link data (possibly including coupon data and/or text link data as well), optionally via the registry server 300, to the host server 130.
[36] The host server 130 processes 460 the received Uniform Page, link, coupon and text link data to form a processed Uniform Page comprising the received data. Next, the host server 130 sends 465 the processed Uniform Page to the user device 200 for display 470.
[37] In various embodiments, the communications described above and shown in Figure 4 are merely one exemplary set of communications between the user device 200, web server 120, host server 130, registry server 300 and repository server 140. Other communications, both more and fewer, may be employed in other embodiments. For example, in one alternate embodiment, the information display transaction may be operate within a "kiosk" device, such that the roles of the user device 200, web server
120, host server 130, registry server 300 and repository server 140 are all performed by a single device. In still alternate embodiment, more devices may be utilized. For example, the repository servers 140 may comprise a separate network of server devices operating to provide data for Uniform Pages (Uniform Links, coupons and text links). [38] In some embodiments, the information display transaction communications are performed over connections using a HyperText Transfer Protocol ("HTTP") connection in communication with one or more Common Gateway Interface ("CGI") or other HTTP- accessible applications. In other embodiments, different transmission protocols and/or connections for order transactions may be employed. Various types of information display transaction protocols are anticipated being employed by various embodiments. [39] In general, an information display transaction contains the information necessary to retrieve and display a Uniform Page for a user device 200. This may be accomplished by a variety of different transaction models in accordance with various embodiments. In some embodiments, various types of identifiers (such a host identifier associated with host server 130) may be used to distinguish transactions, devices and/or users. The type of transaction and related communications used during the transaction may determine the choice of the type of identifier used. The generation of the identifiers may follow industry standard practices, as long as they are unique for the vendor, registry server and user device participating in a transaction. One method for generating identifiers is to take a name and append a random number (e.g., "jim5435873934"). Another method is to generate a Globally Unique Identifier ("GUID"), using well-known algorithms. The location of identifier generation may be at any of a variety of devices in the operating environment 100, such as registry server 300, user device 200, web server 120, host server 130, repository server 140 and the like. The appropriate identifier may be generated on demand or may be predetermined and associated with a particular device.
[40] In accordance with the above-described communications between a user device 200, web server 120, host server 130, registry server 300 and repository server 140, Figure 5 illustrates a process within the repository server 300 for determining Uniform Page and link data for display at a user device 200. The determination process 500
begins at block 505 where a host identifier and a Uniform Page and link request are obtained. Next in block 510, the host identifier, and the Uniform Page and link request are parsed to determine what has been requested by the user. In block 515 the parse request is matched to elements within a page registry 370 to determine which elements will be displayed in the requested Uniform Page. The page registry 370 includes the locations of each element. Accordingly, in block 520, page and link data is retrieved for each Uniform Page element from a repository.
[41] In one embodiment, a repository (not shown) is resident on the registry server 300.
[42] In alternate embodiments, the repository comprises one or more repository servers containing separate page elements. In an embodiment with multiple repository servers 140, each repository server 140 may itself be a host server 130, such that host servers 130 act as an efficient distributed repository for access by the registry server 300.
[43] Once the registry server 300 obtains page and link data from the repository (or repository servers 140), processing continues to decision block 525 where a determination is made whether more than on Uniform Page display element has been retrieved. In some embodiments, multiple page elements may be returned depending on the page display size, localization preferences and the like. Therefore, if in decision block 525 it is determined that more than one page was obtained, processing continues to block 530 where an appropriate page is selected using the host identifier, page request and link request information. After which, Uniform Page and link data is returned in block 599. Likewise, if in decision block 525 it is determined that one page was obtained, processing continues to block 599 where Uniform Page and link data is returned.
[44] Figure 6-8 illustrate exemplary Uniform Pages 600, 700, 800. Uniform Page 600 includes a Uniform Page display element 610 and a plurality of Uniform Links 620A-D. [45] In alternate Uniform Page 700, in addition to Uniform Page display 710 and Uniform Links 720A-D, coupon links 730A-C are also included.
[46] Web page 800 illustrates a still further embodiment of a Uniform Page 800 having a Uniform Page display element 810, Uniform Links 820A-D, coupons 830A-B and text links 825A-L.
[47] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art and others, that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiment shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the embodiment discussed herein. Therefore, it is manifested and intended that the invention be limited only by the claims and the equivalence thereof.