VARYING ELECTRONIC CONTENT BASED ON LOCAL CONTEXT
Technical Field
This application relates to varying electronic content based on a local context, for example, adjusting the look, feel and content of a webpage based on a local time of day.
Background
The computer system 100 illustrated in Fig. 1 represents a typical hardware setup for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content -- that is, any combination of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system includes various input/output (I/O) devices (mouse 103, keyboard 105, display 107) and a general purpose computer 100 having a central processor unit (CPU) 121, an I/O unit 117 and a memory 109 that stores data and various programs such as an operating system 111, and one or more application programs 113. The computer system 100 also typically includes some sort of communications card or device 123 (e.g., a modem or other network adapter) for exchanging data with a network 127 via a communications link 125 (e.g., a telephone line) .
As shown in Fig. 2, a user of a computer system can access electronic content or other resources either stored locally at the user's own client system 202 (for example, a personal or laptop computer) or remotely at one or more server systems 200. An example of a server system is a host computer that provides subscribers with online computer services such as
e-mail, e-commerce, chat rooms, Internet access, electronic newspapers and magazines, etc. Users of a host computer's online services typically communicate with one or more central server systems 200 through client software executing on their respective client systems 202.
In practice, a server system 200 typically will not be a single monolithic entity but rather will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographical region. In such a case, the individual servers are interconnected by a network of communication links, in known fashion. One such server system is "America Online 4.0" from America Online, Incorporated of Virginia. A "browser" is an example of client software that enables users to access and view electronic content stored either locally or remotely, such as in a network environment (local area network (LAN) , intranet, Internet) . A browser typically is used for displaying documents described in Hyper- Text Markup Language (HTML) and stored on servers connected to a network such as the Internet .
A user instructs a browser to access an HTML document, or webpage, by specifying a network address -- or Uniform Resource Locator (URL) -- at which a desired document resides. In response, the browser contacts the corresponding server hosting the requested webpage, retrieves the one or more files that make up the webpage, and then displays the webpage in a window on the user's computer screen.
Fig. 3 is a screenshot of a browser application 300 (Microsoft Internet Explorer) displaying a typical HTML
document, or webpage 302. As shown therein, a single webpage 302 may be composed of several different files potentially of different data types 304 (for example, text, graphics, images, virtual worlds, sounds, movies, etc.) . In addition, a webpage can include links 306 pointing to other resources (for example, webpages or individual files) available on the network. Links 306 can take virtually any visual form, for example, they can appear either as a text string or as a graphical image or a combination thereof. Each link 306 has an associated URL pointing to a location on the network. When a user clicks on, or otherwise selects a displayed link 306, the browser automatically will retrieve the webpage (or other resource) corresponding to the link's associated URL and display it to, or execute it for, the user. Referring to Fig. 4, a "web-based TV" system 400 has been developed that makes dual usage of conventional TV sets 402. That is, a user, or viewer, of web-based TV either can watch TV or view webpages and otherwise "surf" the Internet. In this regard, a special purpose computer 404, referred to as a "set top device," is used in connection with standard TV sets 402 for viewing webpages on the Internet. The set top device 404 essentially has the same basic components as the general purpose computer 100 illustrated in Fig. 1, except that it also includes a TV tuner 406 for receiving TV programming in the form of broadcast and/or cable TV signals. The set top device 404 thus can selectively display two different sources of content (TV programming received by TV tuner 406 and web or network content received by communications card 123) on a TV monitor 402 connected to the set top device 404. Accessories may be added to the web-based TV system 400,
for example, a wireless keyboard 408. The wireless keyboard 408 can be similar to keyboard 104 but it also may have specialized keys designed for use in the web-based TV system 400 to make viewing and web surfing easier. Additionally, a wireless remote control 410 may be used to control the set top device 404 and to facilitate channel surfing and web-based TV connections via various buttons 412, which may be specialized for the web-based TV environment.
An example of an existing web-based TV system 400 is "WebTV" by Microsoft. Information about WebTV service may be found at WebTV's various webpages, for example, at http://www.webtv.net and http://developer.webtv.net.
In conventional web-based TV systems, the "look and feel" of the viewer interface (i.e., a collection of visually embodied mechanisms through which the viewer exchanges information with the web-based TV system) typically is unaffected by a viewer's particular situation or context. That is, each viewer, regardless of time of day, location or circumstance will be presented with essentially the same interface and graphics. In addition, the web content or other computer network-based resources presented to viewers is the same without regard to the viewers' respective local times, locations, etc. Accordingly, the present inventors recognized that it would be desirable to vary the look, feel, content and/or other resources based on a user's local context, for example, the user's local time of day.
Summary Various implementations may include one or more of the following features.
A web-based TV system may include a local computer (e.g., a set top device) at a local site (e.g., a viewer's home or workplace) operatively coupled to, and capable of logging on and off of, a host computer system at a remote site -- e.g., a system maintained by an online service provider. Other components at the viewer's local site may include a network adapter for communicating with the host computer, a TV tuner for receiving TV signals, a display monitor for displaying computer-network-based and/or TV content, and various input devices to receive input from the viewer.
In one implementation, electronic content is presented to a viewer of the web-based TV system by detecting that the viewer has requested access to a content page. If so, it is determined whether or not the viewer is logged into the host computer and a local context (e.g., local time of day, day- part, etc.) for that viewer is identified. Context-specific information associated with the determined local context (e.g., a look and feel for the content page) is then retrieved (i) from the host computer if the viewer is determined to be logged in to the host computer, or (ii) from the local computer if the viewer is not logged in to the host computer. The content page is then customized based on the retrieved context-specific information.
The local context can be based on information from the host computer or from the local computer or both. A local context can correspond not only to the local time day of day, but also, or instead, to a day-part (morning, noon, evening, etc.) or to one or more factors associated with the viewer such as geographic location, history of viewing patterns, personal or demographic data (e.g., age, gender, occupation, income,
education, interests, or family status), or history of e- commerce transactions.
The customized content page presented by the web-based TV system can include text, graphics, utilities and/or a display of a TV program. Customizing the content page may involve adjusting a "look and feel" of the content page to complement the determined local context, for example, by specifying one or more background colors for the content page, by specifying a thematic element associated with the determined local context, and/or by modifying a viewer interface for the content page .
Alternatively, or in addition, customizing the content page may involve changing content in the page, for example, by changing text and/or graphics (e.g., advertisements, news, feature headlines, in the content page) and/or by providing access to one or more utilities (e.g., communications utilities such as e-mail, instant messaging, chatrooms, etc.) . Modifying content on the content page also may involve changing one or more of the functionalities made available by the content page, for example, by changing links (e.g., providing access to associated resources) made available by the content page.
The set top device can receive context-related information from the host system and store the received information at the local site for future use. In that case, customizing the content page may involve retrieving a first portion of context-related information from the local site and a second portion of context-related information from the remote site. The first portion of context-related information may correspond to a look and feel of the content page and the second portion of context-related information may correspond to
content of the content page.
The web-based TV system may determine whether the set top device is actively connected to the host system. Customizing the content page may involve retrieving context- related information (i) from the remote site if the set top device is determined to be actively connected to the host system (ii) from the local site if the set top device is determined not to be actively connected to the host system.
Customizing the content page also may involve receiving context-related information in a vertical blanking interval of a TV signal, or using satellite communications.
Presenting the customized content page to the viewer comprises displaying a window on the viewer's display monitor. In another implementation, presenting electronic content in a web-based TV system including a host computer and a local computer may involve detecting that a viewer of the web-based TV system has requested access to a content page; determining a local time of day for the viewer; determining whether the viewer is logged in to the host computer; retrieving day-part information associated with the determined local time of day, the day-part information being retrieved (i) from the host computer if the viewer is determined to be logged in to the host computer, or (ii) from the local computer if the viewer is not logged in to the host computer; and customizing the content page based on the retrieved day-part information.
In yet another implementation, presenting electronic content in a computer-network based environment including a host computer and a local computer involves determining a local context for a user of the computer network, selectively retrieving from the host computer or from the local computer
context-related information associated with the determined local context; and customizing the content page based on the retrieved context-related information.
One or more of the following advantages may be realized. The techniques and methods described here may enable a web- based TV system to provide viewers with a viewer interface having a look and feel customized to each viewer's personal or local context -- for example, local time of day. In addition, the content made available to viewer's (e.g., text, images, utilities, functionality, etc.) can be tailored to complement each viewer's local context. As a result, the web-based TV viewing experience is enhanced both aesthetically and functionally.
Moreover, enabling the set top device to vary the look and feel and/or content of a page both while in an online and offline state, further enhances the viewing experience. Viewers receive the benefits of context -customized content without the inconvenience and potential costs of having to be connected to a host computer system during most or all of the viewing session. At the same time, the web-based TV service provider benefits by not having to support the increased number of connection ports that would otherwise be necessary.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
Drawing Descriptions Fig. 1 is a block diagram of a computer system. Fig. 2 shows a typical network computing environment.
Fig. 3 shows a screenshot of a browser displaying a webpage .
Fig. 4 is a block diagram of a set top device.
Fig. 5 is a simulated screenshot showing an example of customizing a web-based TV viewer interface based on local time .
Figs. 6A-6C are screenshots showing examples of varying content pages based on a local time of day.
Fig. 7 is a diagram showing various sources of information available to a set top device in a web-based TV environment .
Figs. 8 and 9 are flowcharts of customizing a content page based on a local context .
Like reference numbers and designations in the various drawings indicate like elements.
Detailed Description Fig. 5 is a simulated screenshot. It shows example of what a viewer might see in a web-based TV environment that customizes content and varies the look and feel of a viewer interface according to a local context, for example, the local time of day. As used herein, "look and feel" refers to the virtually any factor that influences a viewer's interaction with, or perception of, a content page. These factors can be either aesthetic or functional or both, and can include items such as colors, designs, graphics, user- interface controls, window attributes, text fonts, etc.
As shown in Fig. 5, the TV monitor screen 500 includes several different elements including a video display region 502 in which received broadcast or cable TV signals are displayed,
a title bar or "hat" region 504 to display status information and the like relating to the web-based TV service provider (in this case "AOL TV"), and a frame region 506 essentially encompassing the video display region 502. The frame region 506 itself is made up of several different components including a graphic 508 or other thematic element, a utility 510 (for example, a chat room area), a product advertisement 512, a programming advertisement 514, and news or feature headlines 516. The purposes of the frame region 506 are several including accentuating the video display region 502, adding a theme, mood or look and feel to the TV screen display as a whole in a manner that emphasizes the viewer's current context, and providing the viewer with access to information and/or resources in which the viewer is likely to be interested based on the current context. "Context" as used herein is intended to include virtually any factor or characteristic relating to the viewer's personal situation or viewing experience. For example, a viewer's context could be based on one or more of the following factors: local time of day, geographic region, the viewer's history of viewing choices, demographic or personal data entered by the viewer (e.g., age, gender, occupation, income, education, interests, family status, etc.), the viewer's history of e-commerce transactions, etc. The frame region 506 shown in Fig. 5 arguably fulfills all of the intended purposes. In this example, the scheduled TV programming being viewed by the viewer is a latenight talk show called "Talk-At-You Live!" which happens to come on at 1:00am in the viewer's local time. Accordingly, the current context can be characterized as "latenight" -- meaning that the
local time for this viewer is near or after midnight. The designation "latenight" is known in the parlance of the TV network and broadcasting industry as a "day-part." Other typical day-parts include morning, afternoon, and primetime. Ordinarily, TV broadcasters schedule TV programming such that TV programs are broadcast during day-parts appropriate for their content. Each of the day-parts can serve as a viewer's context, as that term is used herein.
Although the viewer in the example of Fig. 5 is in a latenight context, other viewers of AOL TV at the same instant in time will have different contexts, for example, based on the local time in their respective time zones. If, for example, the viewer of the screen in Fig. 5 lived in New York City, the local time for a viewer in Los Angeles would be 10:00pm, which falls into the primetime day-part. In that case, it would be inappropriate to display a latenight look and feel, or to provide latenight -related resources, to the Los Angeles viewer.
Rather, the Los Angeles viewer should be presented with content and a look and feel that are appropriate to that viewer's context, namely, the primetime day-part. Accordingly, one of the purposes of the frame region 506 is to accentuate or complement the viewer's current local context.
To this end, the frame region 506 in Fig. 5 includes several elements and features that are consistent with, and accentuate, the latenight context. First, the frame 506 includes a thematic element -- namely graphic 508 (owl and moon) -- that complements and emphasizes the latenight day- part. In addition, the frame 506 could include coloring, shading or other graphic effects (e.g., a midnight blue background) that are suggestive of the latenight theme.
The frame region 506 also may include informational items that may relate to the latenight context. For example, the product advertisement 512 is targeted at viewers who stay up late at night watching TV and who might suffer from insomnia. Similarly, the programming advertisement 514 provides information about a latenight TV program that the viewer might be interested in watching.
In addition to thematic and informational items, the frame region 506 can include utilities or other functional resources that relate to the current context (latenight) and thus might be of interest to the viewer. In this example, access to "Nite Owl" chatroom is provided is provided by utility 510 so that the viewer can communicate with others who are staying up late and are logged into the AOL TV service. Figs. 6A-6C show an example of varying the content and the look and feel in a web-based TV environment in accordance with a changing local context -- namely, changing day-parts from morning to latenight. The three screenshots shown in Figs. 6A-6C are representations of how the News Channel would appear to a viewer during the morning, primetime, and latenight day-parts, respectively. Common graphics are used on all three content pages but their hue values have been adjusted programmatically based on the viewer's local time. This change of color gives viewers a sense of immediacy as they become accustomed to the service.
In addition, the colors selected are appropriately suggestive of the particular day-part in which they are used. For example, the "Morning News" content page shown in Fig. 6A uses warm and soothing orangish-brown colors suggestive of sunrise and the start of the day. In contrast, the "Nightly
News" content page displayed during primetime (Fig. 6B) has a background made up of various shades of blue, which are evocative of the late evening. Similarly, the latenight Nightly News page (Fig. 6C) uses a background composed of various shades of purple as a suggestion of the very late hours .
In addition to changing colors and other look and feel elements, the particular content (text, images, utilities, advertisement, channel listings, etc.) made available to viewers also can be changed according to day-part. Typically, each different day-part is sold to a different broadcaster as illustrated in the screenshots. In Fig. 6A, for example, the morning day-part for the News Channel has been sold to the ABC network. Accordingly, many, if not all, of the various segments of the content page 600 will display information specific to ABC. For example, the ABC Video Source segment 602 will display a video feed of ABC TV programming such as "Good Morning America." Moreover, the Top Story segment 604 and/or the headline segment 606 will include text describing one of the more newsworthy stories being carried that day by an ABC TV program.
The content page 600 also includes an ad segment 608 advertising an ABC TV program that, for example, is unrelated to the News Channel. Lastly, the page 600 can include segments, such local weather segment 610 and Guide segment 612, that do not relate to a particular network but which provide context -related content (e.g., morning weather forecast) or functionality (e.g., links to other pages) .
As seen in Figs. 6B and 6C, content pages 614 and 616 have been sold to the CBS and NBC networks, respectively.
These pages include segments similar to page 600 but contain content or information relating to their respective networks.
The set top device is able to customize the content and/or look and feel of content pages and the viewer interface regardless of whether the viewer (subscriber to web-based TV service) happens to be online (i.e., "logged in" or actively connected to the service's host computer system) or offline (i.e., not logged into the service's host computer system) . The set top device is able to accomplish this feat using one or more of several different techniques.
In general, either the set top device receives context - related information (i.e., content and/or look and feel information relating to specific contexts) ahead of time and stores, or caches, it for later use, or the set top device receives the context-related information "on-the-fly" (i.e., in near real time on a need-specific basis) , or a combination of both. In this regard, the set top device can receive information, including context-related information, from any of several different sources. Fig. 7 illustrates examples of various sources from which a set top device may receive information including TV programming signals, webpages or other computer-network content, and/or customization information relating to the look and feel of a particular content page for a specific context. As illustrated, the set top device 701 can receive information from a host computer system 703 (e.g., a web-based TV service provider) via a public or private network 705, from a satellite 707 or network TV broadcast facility 708 using microwave or wireless communications 710, or from a cable TV provider by means of direct cabling 713. The set top device 701 receives
signals from any or all of these sources and displays them selectively or m combination on a TV monitor 715.
As noted above, when varying or customizing a content page m accordance with a viewer's local context, the set top device 701 can obtain the context-related information on-the- fly directly from the host computer system 703 , provided the set top device is logged into the host system 703 at that time.
Alternatively, or in addition, the set top device 701 can retrieve locally stored information, e.g., from the set top device's memory or from storage media such as a cassette tape or CD-ROM loaded into a peripheral device connected to the set top device. This locally stored information will have been downloaded previously and cached by the set top box for future use. Retrieval of locally stored information is always available, whether the viewer is offline or online.
Context-related and/or other information can be communicated to the set top device for storage and subsequent retrieval using any of several different methods. One available technique is to "trickle-down" information from the host system to the set top device m the background (i.e., transparently to, and without being requested by, the viewer) while the viewer is connected to the host system. This trickled-down information is then stored by the set top device so that it is available for future use, for example, if the viewer, while offline, requests a content page requiring context -related information.
An alternative mechanism for communicating context - related or other information to the set top device involves the use of vertical blanking intervals (VBIs) m TV frames. The standard NTSC TV signal used m the United States is made up of
"frames" that are broadcast at a rate of 30 each second. Each frame is formed of 525 scan lines divided equally into two separate and contiguous fields, field 1 and field 2. Each field includes 262.5 scan lines, 241.5 of which carry visible TV signal information - that is, portions of the TV picture.
The first 21 lines in each field represent the VBI . The VBI corresponds to the period of time that it takes the electron beam emitted by the TV set's cathode ray tube (CRT) to reposition itself from the bottom of the TV screen to the top of the screen (also referred to "vertical retracing"). After each field is received and displayed the electron beam must be repositioned in this manner before drawing the first scan line of the next field may commence. Accordingly, no visible TV signal information can transmitted during the VBI, otherwise TV signal information would be lost. Instead, basically any other type of information may be transmitted to the set top device's TV receiver and used for various purposes, for example, closed captioning, teletext, electronic program guide information, etc. The amount of data that can be transmitted in this manner is roughly equal to the capacity of a 9600 baud modem for each available scan line in the VBI .
Accordingly, in one implementation, context-related information (e.g., describing the look and feel and/or content for a content page) can be communicated directly from the TV broadcaster to a set top device within the VBIs of a TV signal. For each TV field received, the set top device can extract this information from the VBI and use it to generate various elements of a content page according to a viewer's local context. The VBI can be used in this regard either in real or near real time (i.e., the context-related information in the
VBI can be extracted and used by the set top box immediately upon receipt) or the VBI can be used to trickle-down information to the set top device for storage and subsequent retrieval, as described above. Other mechanisms for communicating context-related information to the set top device include sending data using satellite communications -- for example, similar to messages in a pager or Personal Communication Services (PCS) network -- and/or an "always connected" technology such as Digital Subscriber Lines (DSL). In either case, the context-related information received by the set top device either can be used immediately or stored for subsequent use.
Caching context-related information and/or other content in the set top device in the manners described above reduces the demands on the host computer system and on the communication link connecting the host system to the set top device. For example, viewers need not be logged into the host system in order to be able to view context -related information. As a result, because viewers can remain logged off the host system for much, if not all, of the viewing session, the number of terminal servers or other connection ports that the host system needs to maintain can be reduced. At the same time, the viewer's telephone line, or other communication medium connecting the viewer to the outside world, need not always be connected to the host system and thus can be freed up for other uses .
Moreover, some online computer service providers might charge their customers based on the cumulative amount of online time (i.e., connected to a host system) . In that case, being able to change context-related information while the set top
device is in an offline state could benefit subscribers by providing reduced connection-time costs.
Fig. 8 is a flowchart showing an example of the steps involved m a generalized technique for customizing a content page according to a viewer's local context. First, m response to a request for a content page, the set top device will determine the viewer's local context (step 800) . In one implementation, this step involves determining the viewer's local time, and thus the viewer's current day-part, by examining a clock or other time-keeping mechanism maintained by, or accessible to, the set top device. Other implementations could involve determining a local context other than time, for example, either based on information stored locally at the set top device or stored remotely at a host computer system.
In other implementations, determining the viewer's local context m step 802 could be more complex and might involve, for example, examining a database of user-specific information to determine the viewer's gender, age, interests, etc. In one such possible implementation, the viewer may have previously specified that the News Channel should be presented to that viewer using a "sports context" -- e.g., the News Channel content page will emphasize or give priority to news features or headlines that relate to sports . After having determined the viewer's local context, the set top device next will retrieve context-related information for use m customizing the requested content page (step 802) . As discussed above, the context -related information can be retrieved whether the set top device is m an online or offline state, and can come either from local sources (e.g.,
information previously received and stored in the set top device) or from remote sources (e.g., host computer, VBI, etc.) or a combination of both.
Next, the set top device uses the retrieved context- related information to customize or otherwise tailor the requested content page according to the viewer's local context (step 804) , for example, by changing the look and feel of the content page or its content, or both. Finally, the customized content page is presented to the viewer (step 806) . Fig. 9 is a flowchart showing additional details about steps involved in one implementation for customizing a content page according to a viewer's local context. In this example, the context-related information is divided into two different types: (1) look and feel information (e.g., background colors for content pages) and (2) the content itself (e.g., text, images, utilities, functionality, etc.).
The process of Fig. 9 begins when the set top device senses that a viewer has requested a content page, for example, the News Channel page of Figs. 6A-6C (step 900) . In response, the set top box determines the local context (e.g., local time or day-part) in the manner described above (step 902) .
Next, the set top device retrieves the first type of context-related information -- namely, the look and feel data - - from local storage (step 904) . In this implementation, the look and feel information ordinarily is retrieved from the set top device locally, even if other sources are available (e.g., the set top device is actively connected to the host system) . This implementation may be advantageous when certain types of contexts, such as day-parts, are being used because such contexts typically are highly predictable and periodic and
require only a modest amount of look and feel data to be stored locally. In contrast, the content portion of the context- related information ordinarily will be much larger in size and more likely to grow stale and thus in need of frequent replacement. But depending on the particular circumstances, receiving both types of context-related information (i.e., both look and feel data and content) from one or more remote sources might prove advantageous when other types of contexts are used. Conversely, in still other contexts storing all context- related information (both look and feel and content) locally could be beneficial.
Next, the set top device determines whether it is online -- i.e., actively connected to the host system (step 906) . If so, the set top device then retrieves the second type of context-related information (content such text and images) from the host system (step 910) . On the other hand, if the set top device determines that it is offline, the set top device will retrieve the content from local storage, using information that was received and cached previously (step 908) . Finally, both types of retrieved context-related information are used to customize the content page (step 912), which is then presented to the viewer (step 914) .
The techniques, methods and systems described here may find applicability in any computing or processing environment in which electronic content may be viewed, accessed or otherwise manipulated. For instance, the concept of customizing electronic content based on context could be applied whenever one or more users have access to a source of electronic content . One such environment involves a computer system (e.g., a Microsoft Windows-based PC or Apple Macintosh)
that includes a TV tuner card and which is connected to the Internet .
Various implementations of the systems and techniques described here may be realized in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof . A system or other apparatus that uses one or more of the techniques and methods described here may be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer system to operate on input and/or generate output in a specific and predefined manner. Such a computer system may include one or more programmable processors that receive data and instructions from, and transmit data and instructions to, a data storage system, and suitable input and output devices. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors.
Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks.
Any of the foregoing may be supplemented by, or implemented in, specially-designed ASICs (application- specific
integrated circuits) .
A number of embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.