An avatar may be a computer-generated image which represents a user who is typically a human. The avatar may depict an image of the user that is highly representative of what the user actually looks like or it may be a character (e.g. human, fanciful, animal, animated object) with varying degrees of resemblance to the user or none at all. Avatars may be three-dimensional (3D) or two-dimensional (2D).
Advertisers seek to deliver personalized, engaging branded content to a relevant target audience, and to build brand familiarity. One example of building brand familiarity is the brand spokesperson—a character often regularly appearing in advertising about a product or service. Advertisers also employ targeted online advertising to market products and services. Online advertisements may be presented within web pages, search engine search results, online video games through product placement, within email messages, or the like. Creating personalized advertising content allows the advertisers to build a one-to-one relationship with their target audience. As such, the target audience is more likely to recall and prefer the products and/or services featured in the advertising content.
Technology is described to provide an branded persona avatar (also known as “advertar”) which can be a persona for a product or service and directed to users based on information associated with the user. An advertisement may be generated and provided to the user that employs the advertising avatar as a digital spokesperson to promote a certain brand of product and/or service. Upon receiving the advertisement, the user can interact with the branded persona avatar by any number of means. A user may be presented with additional information about the brand in response to the user interaction.
In accordance with the technology, branded avatars may be selected for use in advertising along with other types of advertisements, or may be the sole focus of an advertising campaign. The technology includes a method and system allow for acquiring a branded persona avatar definition including targeting information for the branded persona from advertisers. Information associated with user activity on a device capable of displaying the branded persona avatar is acquired and, based on the definition of the avatar and the targeting information, an advertisement including the branded persona avatar is rendered to the user. If the user interacts with the branded persona avatar, the user may be provided with additional information concerning the product or service.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Technology is described for providing an engaging and interactive advertising experience to a user. In one embodiment, a branded persona avatar (also known as “advertar”) is created by an advertiser. An advertisement may be generated and provided to the user that employs the branded persona avatar as a digital spokesperson to promote a certain brand of product and/or service. Upon receiving the advertisement in the form of a branded persona avatar, the user can interact with the avatar through a number of means. A user may be presented with additional information about the brand in response to the user interaction.
For example, a user is watching an episode of a TV show “ABC” on a device (e.g., Xbox). During an advertising break, the user is presented with an advertisement with the branded persona avatar wearing a shirt with “XYZ” brand label on the shirt. The user can obtain further information about the “XYZ” brand. For example, the user can click on the avatar. Upon click, a user may be presented with additional information about the brand, e.g., a web site, video, etc. By employing the avatar as a digital spokesperson to promote a certain brand of clothing, the advertiser for that brand is able to deliver an engaging and interactive advertising experience to the user that is likely to result in conversions for the advertiser.
As shown in
Although one client device 110 is illustrated, it should be understood that a plurality of client devices 110 may be coupled via a network 140 to a content management service 120. Content management service 120 may provides a number of different services to each of the client devices. Content management service 120 may include a collection of one or more servers that are configured to dynamically serve targeted interactive advertisements to a user in accordance with embodiments of the present disclosure. Network 140 may be implemented as the Internet or other WAN, a LAN, intranet, extranet, private network or other network or networks.
It should be understood that this and other arrangements described in system 100 are set forth as examples. Other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used in addition to or instead of those shown, and some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. For instance, various functions may be carried out by a processor executing instructions stored in memory.
As shown in
Client device 110 may include an input/output module 114 that allows a user to input data, commands, etc., and outputs the user interface and content in the form of applications and audio/visual data. As non-limiting examples, input/output module 114 may include a keypad, a keyboard, a controller, a joystick, a mouse, a touch screen, or the like. Each client device may include or be coupled to a display such as a built in display, a television, a monitor, a high-definition television (HDTV), or the like. The input/output module may capture image and audio data relating to one or more users and/or objects. For example, voice and gesture information relating to partial or full body movements, gestures, and speech of a user of client device 110 may be used to provide input. In one embodiment, a user of client device 110 may interact with an advertisement provided to the user based on information captured in the form of voice and gesture inputs. For example, input/output module 114 may detect a voice command from the user, e.g., “more information.” In response to detecting the user's voice command, the user may be redirected to content associated with the product or service, e.g., the advertiser's web site. In another example, input/output module 114 may detect the user's hand gesture pointing at the advertisement. In response to detecting the user's hand gesture, a video related the product or service may be played to the user.
Client device 110 may include an ad module 116 which interfaces with the input/output module 114 to provide advertising content as described herein. The advertising is provided in the context of the content that a user is engaged with. For example, in a game context, the ad module may be configured to present advertising functions at appropriate and non-intrusive points in the game. During a broadcast program with pre-scheduled breaks, the ad module may be configured to present advertising during the break and if broadcast advertising is present in the break, may be configured to conincide with the broadcast advertising. In one embodiment, ad module 116 may be part of an operating system. In other embodiments, ad module 116 may reside outside of the operating system.
Local data 118 includes stored programming content, cached programming content, stored applications, and user information. Where the client includes applications for accessing the Internet, local data may include the user's activity history, including which items of content the user has engaged with or what the user may have searched for on commerce sites. History may include content consumption preferences such as viewing and listening habits, and the user's application usage history, such as which gams a user regularly plays. This information may be provided to ad module 116 (and or advertising service 122) for use in determining appropriate advertising for a user of the client device 110.
In one embodiment, ad module 116 may acquire information associated with a user of client device 110. For example, ad module 116 may retrieve user profile information associated with the user from local data 118. User profile information associated with the user may include a user ID, an email address, a name, a machine or device ID, or the like. Ad module 116 may provide advertisements that correspond with the user's usage traits to the user while advertisements that do not correspond with the user's personality will not.
In one embodiment, ad module 116 may access behavioral information accessible in the local data 118. As disclosed above, information associated with a user of client device 110 may be acquired from various sources by various means. The information associated with a user may include user profile information (e.g., user ID, email address, etc.), user's avatar attributes, user's behavioral information, etc. In one embodiment, the information associated with a user of client device 110 may be sent to content management service 120 for further processing. In one embodiment, content management service 120 may be configured to provide targeted and interactive advertisements to a user of client device 110 based on the information associated with the user, as will be described below.
Referring to
Content management service 120 may provide a user interface 104 to allow users of client devices to access various aspects of the content management service 120 such as the avatar module 205, content store 206 and account records 210. The user interface 204 may be provided as a separate interface through, for example, a web browser interface or a dedicated client interface provided on the client device 110. An example of a dedicated client interface is the user interface provided on the Xbox 360® console device.
User records 210 can include additional information about the user such as game records 214 and activity record 215. Game records 214 include information for a user identified by a user id and can include statistics for a particular game, achievements acquired for a particular game and/or other game specific information as desired. Activity records can include records of user activity including which applications a user has engaged, content a user has engaged, advertisements a user has engaged, and other activity performed by the user on the client. User profile data 216 may include, for example, information on the user such as location, interests, friends, purchases and the like. A friends list includes an indication of friends of a user that are also connected to or otherwise have user account records with console service 202. The term “friend” as used herein can broadly refer to a relationship between a user and another user, where the user has requested that the other gamer consent to be added to the user's friends list, and the other gamer has accepted. User profile 216 may also include additional information about the user including games that have been downloaded by the user and licensing packages that have been issued for those downloaded games, including the permissions associated with each licensing package. Portions of user records 210 can be stored on an individual console, in database 212 or on both. If an individual console retains game records 214 and/or activity record 215 in local data 118, this information can be provided to content management service 202 through network 140. Additionally, the console has the ability to display information associated with game records 214 and/or friends list 216 or advertisements where no connection to console service 202 is present.
Content management service may also include a content store 206 which may be used by client devices 110 to access content provided by content sources 250. Content sources 250 may include third parties that provide audio and visual content for use on client devices. Content sources may provide scheduling information to the advertising service 122 and/or advertisers 260 allowing advertisement targeting to coincide with content provided by the content sources. Content sources may include game developers, broadcast media providers and streaming or on-demand media providers. Using the content store 206, users on client devices 110 may purchase, rent, and otherwise acquire content for use on client devices, with the content provided by content sources provided to the clients through the content management service 120.
Content management service 102 may further include an avatar module 205 for generating an avatar based on information associated with the user. In one embodiment, avatar module 205 generates an avatar based on avatar attributes, such as gender, hair style, hair color, race, clothing, props and animations, etc. The avatar module may allow a user to define a custom avatar to represent the user. For example, the user's avatar attributes may include information such as male, bald, wearing a pair of glasses, and having mustaches, etc. Based on these avatar attributes, an avatar is generated by avatar module 205 which is male, bald with glasses and mustaches. As discussed below, the avatar module may be utilized by advertisers 260 to provide the branded persona advertisement in accordance with the technology herein.
In accordance with the technology, content management service 120 may include an advertising service 122 which allows advertisers 260 to direct advertising to users on client devices 110. In this context, advertisers 260 may create branded persona avatars which can be used as virtual product or service spokespeople in a variety of advertising contexts on client devices. Branded persona advertisements may comprise avatars constructed to represent a product or service. In one aspect, and in a manner similar to human product spokespeople, the branded persona avatar is a consistent representation of the product or service brand to users. Avatars may be created by advertisers 260 using a user interface 204 as well as avatar module 205. Specific elements and attributes for the branded persona avatar may be elements specific to the advertiser or source of the product or service. These may include custom artwork, clothing or product representations, trademarks and the like.
Branded persona avatars are stored at 128 for use by the advertising service 122 in fulfilling advertising campaigns specified by advertisers. Advertisers 260 may direct where, when and to whom branded persona avatars should be directed based on a number of targeting factors in an advertising campaign. The targeting module 124 can then determine when to render an avatar to a user on a client device 110. In one embodiment, branded persona avatars may be directed to users directly from the content management service 120. In other alternatives, the advertising service 122 may deliver branded persona avatars and targeting information for one or more campaigns to ad module 116 on client devices with instructions on when and how to display branded persona avatars.
The advertisement generated by advertising service 122 may be delivered to client device 110. Examples of how various branded persona advertisements may be provided are illustrated in
Advertising service 122 may further include a targeting module 124 which is configured to provide targeted advertisements to a user of client device 110 based on advertiser provided advertising campaign information and information associated with the user, including user profile information (e.g., user ID, email address, etc.), user avatar attributes, user demographic information, user behavioral information, and other information. In one embodiment, targeting module 124 may generate an advertisement for delivery to the user based campaign information stored in a campaign database 128 and stored branded persona avatars 130. The advertising service communicates with the ad module 116 to generated advertising in the form of branded personal avatars to the user in the input/output module 114 as appropriate based on the user's actions on the client, user information and the campaign desired by advertisers.
Advertising service 122 may include a reporting service 126 which tracks user interaction with branded persona advertisements and other advertisements, and provides feedback to advertisers 260.
At step 406, an advertisement presentation triggering event is determined. A presentation event may be any of a number of different types of events which cause an advertisement to be provided to a user. An advertisement triggering event is described with respect to
At step 407, an advertisement is rendered. This may include creating a banner advertisement, a landing page, an animation, a video advertisement and the like. At step 408, user interaction with the advertisement is monitored. If user interaction with the advertisement occurs at 408, redirection to additional advertising information may be provided at 409. Step 408 loops to continually monitor for user interaction until the display advertisement ends, and the method loops to step 406 to continually monitors for triggering events.
At step 412, an interface to receive branded persona data and campaign information from third parties such as advertisers 260 into the system 100. The interface may be the aforementioned user interface 204 provided by the content management service or may comprise an application programming interface (API) allowing advertisers to create branded personas and provide branded persona and advertising campaign information to the system 100. The branded persona avatar may have avatar attributes, such as gender, hair style, hair color, race, branded clothing, branded props and animations, all of which become associated with the branded persona avatar and are used repeatedly in the advertising campaign. At step 414, information for the branded persona avatar and the campaign is received. The information received may include an interface allowing an advertiser to select attributes for the branded persona to create the persona, as well as to define an advertising campaign for the person's use. Such information may include target user profile information, avatar attributes, target demographic information, target behavioral information, contextual information, and other information for the persona and the campaign.
A branded avatar campaign comprises one or more advertisements designed to create an affiliation of the branded avatar with the product or service, and to provide incentives to user/consumers to use the product or service. Use of the branded persona avatar in a number of different individual advertisements over time creates this affiliation.
A triggering event is then monitored at 406, which is generally equivalent to step 406 in
At step 418, user interaction with the branded persona is monitored. If user interaction with the persona occurs at 418, redirection to additional advertising information or interactive feedback from the avatar may be provided at 419. Step 418 loops to continually monitor for user interaction until the display of the avatar has ended, and the method loops to step 416 to continually monitors for triggering events.
In a further embodiment, it should be understood that to build association between a product or service and the branded persona, steps 416-419 may be repeated for a duration defined by the advertiser in the advertiser's campaign definition. This duration may comprise a total number of ads, a total number of ads per user, a time duration or other means.
Referring to
At step 604, relevant targeting information for one or more campaigns is acquired. The targeting information may include, e.g., demographic information, personality traits, likes, dislikes, activity, and the like.
At step 606, the user profile information associated with a user (the user of client device 110) is acquired. In one embodiment, the user profile information may be acquired by retrieving the user profile information from the data store.
At step 608, information associated with one or more users and the targeting information for the campaign are compared to determine relevant users for whom the campaign should be targeted. On a client device, this may comprise determining whether the campaign should be applied to a given user of the device. When step 608 is performed by service 120, this may comprise determining which of a plurality of client devices should institute a particular campaign.
At step 610, user activity on the client is monitored to determine whether, at step 612, the user is performing and activity or viewing content or which an ad should be displayed. As noted above, the activity can be consuming a particular type of content or playing a game. In another alternative, the activity can be simply viewing a menu (as illustrated in
If the actions of the user are appropriate to the display of an advertisement and the user fulfills a target for the campaign, then at step 614 an additional determination may be made as to whether non-campaign related factors merit display of an advertisement. For example, if an ad has been recently displayed, a different ad may be displayed or no ad may be appropriate. If a user has recently interacted with an ad, a different ad or a different campaign may be appropriate. If an ad should be rendered, at step 616 the appropriated branded persona is retrieved and appropriate rendering is determined. At 618 the branded persona avatar is rendered.
In order to build association with a particular brand, at 616, the branded persona avatar associated with specific advertisements should be regularly displayed in conjunction with a particular product or service. A campaign definition may include, for example, the number of times an avatar is to be displayed for a product or service, how often particular ads with branded persona avatars should be displayed, and other repetition factors designed to build an association of the branded persona with a particular product or service.
An exemplary branded persona avatar is illustrated in
At step 802, an interaction with the avatar is received at a client device, such as client device 110 of
At step 804, the process of
At step 808, the process of
At step 810, the process of
Additional information or branded content, as depicted in
A graphics processing unit (GPU) 508 and a video encoder/video codec (coder/decoder) 514 form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit 508 to the video encoder/video codec 514 via a bus. The video processing pipeline outputs data to an A/V (audio/video) port 540 for transmission to a television or other display. A memory controller 510 is connected to the GPU 508 to facilitate processor access to various types of memory 512, such as, but not limited to, a RAM (Random Access Memory).
The multimedia console 500 includes an I/O controller 520, a system management controller 522, an audio processing unit 523, a network interface 524, a first USB host controller 526, a second USB controller 528 and a front panel I/O subassembly 530 that are preferably implemented on a module 518. The USB controllers 526 and 528 serve as hosts for peripheral controllers 542(1)-542(2), a wireless adapter 548, and an external memory device 546 (e.g., flash memory, external CD/DVD ROM drive, removable media, etc.). The network interface 524 and/or wireless adapter 548 provide access to a network (e.g., the Internet, home network, etc.) and may be any of a wide variety of various wired or wireless adapter components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.
System memory 543 is provided to store application data that is loaded during the boot process. A media drive 544 is provided and may comprise a DVD/CD drive, Blu-Ray drive, hard disk drive, or other removable media drive, etc. The media drive 544 may be internal or external to the multimedia console 500. Application data may be accessed via the media drive 544 for execution, playback, etc. by the multimedia console 500. The media drive 544 is connected to the I/O controller 520 via a bus, such as a Serial ATA bus or other high speed connection (e.g., IEEE 1394).
The system management controller 522 provides a variety of service functions related to assuring availability of the multimedia console 500. The audio processing unit 523 and an audio codec 532 form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data is carried between the audio processing unit 523 and the audio codec 532 via a communication link. The audio processing pipeline outputs data to the NV port 540 for reproduction by an external audio user or device having audio capabilities.
The front panel I/O subassembly 530 supports the functionality of the power button 550 and the eject button 552, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the multimedia console 500. A system power supply module 536 provides power to the components of the multimedia console 500. A fan 538 cools the circuitry within the multimedia console 500.
The CPU 501, GPU 508, memory controller 510, and various other components within the multimedia console 500 are interconnected via one or more buses, including serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can include a Peripheral Component Interconnects (PCI) bus, PCI-Express bus, etc.
When the multimedia console 500 is powered on, application data may be loaded from the system memory 543 into memory 512 and/or caches 502, 504 and executed on the CPU 501. The application may present a graphical user interface that provides a consistent user experience when navigating to different media types available on the multimedia console 500. In operation, applications and/or other media contained within the media drive 544 may be launched or played from the media drive 544 to provide additional functionalities to the multimedia console 500.
The multimedia console 500 may be operated as a standalone system by simply connecting the system to a television or other display. In this standalone mode, the multimedia console 500 allows one or more users to interact with the system, watch movies, or listen to music. However, with the integration of broadband connectivity made available through the network interface 524 or the wireless adapter 548, the multimedia console 500 may further be operated as a participant in a larger network community.
When the multimedia console 500 is powered ON, a set amount of hardware resources are reserved for system use by the multimedia console operating system. These resources may include a reservation of memory, CPU and GPU cycle, networking bandwidth, etc. Because these resources are reserved at system boot time, the reserved resources do not exist from the application's view. In particular, the memory reservation preferably is large enough to contain the launch kernel, concurrent system applications and drivers. The CPU reservation is preferably constant such that if the reserved CPU usage is not used by the system applications, an idle thread will consume any unused cycles.
With regard to the GPU reservation, lightweight messages generated by the system applications (e.g., pop ups) are displayed by using a GPU interrupt to schedule code to render popup into an overlay. The amount of memory required for an overlay depends on the overlay area size and the overlay preferably scales with screen resolution. Where a full user interface is used by the concurrent system application, it is preferable to use a resolution independent of application resolution. A scaler may be used to set this resolution such that the one may not change frequency and cause a TV resync is eliminated.
After multimedia console 500 boots and system resources are reserved, concurrent system applications execute to provide system functionalities. The system functionalities are encapsulated in a set of system applications that execute within the reserved system resources described above. The operating system kernel identifies threads that are system application threads versus gaming application threads. The system applications are preferably scheduled to run on the CPU 501 at predetermined times and intervals in order to provide a consistent system resource view to the application. The scheduling is to minimize cache disruption for the gaming application running on the console.
When a concurrent system application requires audio, audio processing is scheduled asynchronously to the gaming application due to time sensitivity. A multimedia console application manager controls the gaming application audio level (e.g., mute, attenuate) when system applications are active.
Optional input devices (e.g., controllers 542(1) and 542(2)) are shared by gaming applications and system applications. The input devices are not reserved resources, but are to be switched between system applications and the gaming application such that each will have a focus of the device. The application manager preferably controls the switching of input stream, without knowing the gaming application's knowledge and a driver maintains state information regarding focus switches.
The present technology is operational in numerous other general purpose or special computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for implementing the present technology include, but are not limited to personal computers, server computers, laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or the like.
The present technology may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform a particular task or implement particular abstract data types. The present technology may be also practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 310 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 310 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 310. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
System memory 330 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 331 and random access memory (RAM) 332. A basic input/output system 333 (BIOS), containing the basic routines that help to transfer information between elements within computer 310, such as during start-up, is typically stored in ROM 331. RAM 332 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 320. By way of example, and not limitation,
Computer 310 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
Computer 310 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 380. Remote computer 380 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 310, although only a memory storage device 381 has been illustrated in
When used in a LAN networking environment, computer 310 is connected to LAN 371 through a network interface or adapter 370. When used in a WAN networking environment, computer 310 typically includes a modem 372 or other means for establishing communications over WAN 373, such as the Internet. Modem 372, which may be internal or external, may be connected to system bus 321 via user input interface 360, or other appropriate mechanism. In a networked environment, program modules depicted relative to computer 310, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Those skilled in the art will understand that program modules such as operating system 334, application programs 345, and data 337 are provided to computer 310 via one of its memory storage devices, which may include ROM 331, RAM 332, hard disk drive 341, magnetic disk drive 351, or optical disk drive 355. Hard disk drive 341 is used to store data 337 and the programs, including operating system 334 and application programs 345.
When computer 310 is turned on or reset, BIOS 333, which is stored in ROM 331 instructs processing unit 320 to load operating system 334 from hard disk drive 341 into RAM 332. Once operating system 334 is loaded into RAM 332, processing unit 320 executes the operating system code and causes the visual elements associated with the user interface of the operating system to be displayed on the monitor. When a user opens an application program 345, the program code and relevant data are read from hard disk drive 341 and stored in RAM 332.
Aspects of the present technology may be embodied in a World Wide Web (“WWW”) or (“Web”) site accessible via the Internet. As is well known to those skilled in the art, the term “Internet” refers to the collection of networks and routers that use the Transmission Control Protocol/Internet Protocol (“TCP/IP”) to communicate with one another. In accordance with an illustrative embodiment of the Internet, a plurality of local LANs and a WAN can be interconnected by routers. The routers are special purpose computers used to interface one LAN or WAN to another.
Communication links within the LANs may be wireless, twisted wire pair, coaxial cable, or optical fiber, while communication links between networks may utilize 56 Kbps analog telephone lines, 1 Mbps digital T-1 lines, 45 Mbps T-3 lines or other communications links known to those skilled in the art. Furthermore, computers and other related electronic devices can be remotely connected to either the LANs or the WAN via a digital communications device, modem and temporary telephone, or a wireless link. The Internet has recently seen explosive growth by virtue of its ability to link computers located throughout the world. As the Internet has grown, so has the WWW.
As is appreciated by those skilled in the art, the WWW is a vast collection of interconnected or “hypertext” documents written in HyperText Markup Language (“HTML”), or other markup languages, that are electronically stored at or dynamically generated by “WWW sites” or “Web sites” throughout the Internet. Additionally, software programs that are implemented in computer 310 and communicate over the Web using the TCP/IP protocol, are part of the WWW, such as JAVAS applets, instant messaging, e-mail, browser plug-ins, Macromedia Flash, chat and others. Other interactive hypertext environments may include proprietary environments such as those provided by an number of online service providers, as well as the “wireless Web” provided by various wireless networking providers, especially those in the cellular phone industry. It will be appreciated that the present technology may apply in any such interactive communication environments. For purposes of discussion, the Web is used as an exemplary interactive hypertext environment with regard to the present technology.
A Web site is a server/computer connected to the Internet that has massive storage capabilities for storing hypertext documents and that runs administrative software for handling requests for those stored hypertext documents as well as dynamically generating hypertext documents. Embedded within a hypertext document are a number of hyperlinks, i.e., highlighted portions of text which link the document to another hypertext document possibly stored at a Web site elsewhere on the Internet. Each hyperlink is assigned a Uniform Resource Locator (“URL”) that provides the name of the linked document on a server connected to the Internet. Thus, whenever a hypertext document is retrieved from any web server, the document is considered retrieved from the World Wide Web. Known to those skilled in the art, a web server may also include facilities for storing and transmitting application programs, such as application programs written in the JAVAS programming language from Sun Microsystems, for execution on a remote computer. Likewise, a web server may also include facilities for executing scripts and other application programs on the web server itself.
A remote access user may retrieve hypertext documents from the World Wide Web via a web browser program. A web browser, such as Microsoft's Internet Explorer, is a software application program for providing a user interface to the WWW. Using the web browser via a remote request, the web browser requests the desired hypertext document from the appropriate web server using the URL for the document and the Hypertext Transport Protocol (“HTTP”). HTTP is a higher-level protocol than TCP/IP and is designed specifically for the requirements of the WWW. HTTP runs on top of TCP/IP to transfer hypertext documents and user-supplied form data between server and client computers. The WWW browser may also retrieve programs from the web server, such as JAVA applets, for execution on the client computer. Finally, the WWW browser may include optional software components, called plug-ins, that run specialized functionality within the browser.
For purposes of this document, reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “another embodiment” are used to described different embodiments and do not necessarily refer to the same embodiment.
The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.