Patent Publication Number: US-2015074572-A1

Title: Navigable wall

Description:
BACKGROUND OF INVENTION 
     Modern computers are capable of retrieval, storage, manipulation, display, and transmission of media files. Conventional computers include tablets, laptops, desktops, servers, kiosks, television sets, projectors, and handheld form factor devices including smartphones. Each of these computers typically includes one or more processors, storage devices, network interfaces, displays, human-computer interfaces, and operating systems that serve as an interface between application software and the hardware of the computer. Storage devices include computer-readable medium that contains software instructions executed by the processor of the computer. 
     Conventional media files include audio, video, graphic, document, and other files that store relevant media data. Exemplars of audio media include MP3, AAC, AIFF, WMA, and WAV file formats. Exemplars of video media include MP4, MOV, AVI, WMV, and FLV file formats. Exemplars of graphic media include JPG, PNG, IMG, GIF, TIF, and BMP file formats. Exemplars of documents include TXT, RTF, DOC, WPD, and PDF file formats. Exemplars of other files include HTML and XML files. 
     Recent trends in modern computers have focused on portable multi-function computing devices.  FIG. 1A  shows the design of Apple Inc.&#39;s well-known iPod® and iPhone® products. These devices are portable handheld multi-function devices that include a central processing unit, a network interface, accelerometers, geolocalization, a display, and a touch screen interface. These devices are capable of retrieval, storage, manipulation, display, and transmission of media files. Apple&#39;s iPod® and iPhone® products implement a gesturing interface that allows users to interact with the iPod® and iPhone® using defined gestures entered on the touch screen interface by hand or stylus. These gestures include, for example, gestures to identify and select objects on the display, gestures to move the focal point of the display, gestures to move the display from one screen to another, and gestures to zoom in or zoom out of a given screen.  FIG. 1B  shows the design of Apple Inc.&#39;s iPad® product. These devices are very similar to the iPod® and iPhone® products in composition and function, but include a larger display. 
       FIG. 1C  shows TouchTunes Music Corporation&#39;s TouchTunes® jukebox device. These devices function as modern day jukeboxes and include a central processing unit, a network interface, a display, and a touch screen interface that is capable of retrieval, storage, manipulation, display, and transmission of media files. 
       FIG. 2A  shows Apple Inc.&#39;s iPad tablet being held in the hands of a user. Apple&#39;s iPod®, iPhone®, and iPad® products utilize accelerometers for a variety of purposes. For example, the accelerometers are used to rotate the display from portrait mode to landscape mode or from landscape mode to portrait mode depending on how the user holds the device. Additionally, the accelerometers can be used to cause actions within applications running on the devices based on the users positioning of the device.  FIG. 2B  shows an iPad® running a driving software application. As the car approaches a right bend in the road, the user rotates the iPad® to the right to keep the car in the lane. Similarly,  FIG. 2C  shows a user rotating the iPad® to the left to keep the car in the lane when approaching a left bend in the road. 
     SUMMARY OF INVENTION 
     According to one aspect of one or more embodiments of the present invention, a computer implemented method of creating, displaying, and interfacing an infinite navigable media wall includes identifying available media from storage accessible by the computer, generating a logical set of media from the available media, generating the infinite navigable media wall by placing graphical representations of media in the logical set of media on a display of the computer, and displaying the infinite navigable media wall on the display of the computer. 
     According to one aspect of one or more embodiments of the present invention, a non-transistory computer-readable medium comprising software instructions that, when executed by a processor of a computer, perform the method of creating, displaying, and interfacing an infinite navigable media wall. The method includes identifying available media from storage accessible by the computer, generating a logical set of media from the available media, generating the infinite navigable media wall by placing graphical representations of media in the logical set of media on a display of the computer, and displaying the infinite navigable media wall on the display of the computer. 
     Other aspects of the present invention will be apparent from the following description and the appended claims. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIGS. 1A-1C  show prior art designs for Apple Inc.&#39;s iPod®, iPhone®, and iPad® devices and TouchTunes Music Corporation&#39;s TouchTunes® jukebox. 
         FIGS. 2A-2C  show prior art including Apple Inc.&#39;s iPad®, a user rotating the iPad® to the right, and a user rotating the iPad® to the left to show the use of accelerometers to interface with a software application. 
         FIGS. 3A-3B  show a computer method of generating, displaying, and interfacing an infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIGS. 4A-4B  show a screenshot of a portrait view of an infinite navigable media wall and a screenshot of a moved infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIGS. 5A-5B  show a screenshot of a zoomed in view of an infinite navigable media wall and a zoomed out view of the infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIG. 6  shows a screenshot of a genre filter invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIG. 7  shows a screenshot of selected media invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIG. 8  shows a screenshot of a detailed view of selected media invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIG. 9  shows a screenshot of an output selector invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. 
         FIG. 10  shows a screenshot of a landscape view of an infinite navigable media wall in accordance with one or more embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Specific embodiments of the present invention will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency. Further, in the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. In other instances, well-known features have not been described in detail to avoid obscuring the description of embodiments of the present invention. 
     One or more embodiments of the present invention relate to a method of generating, displaying, and interfacing an infinite navigable media wall and computer readable medium containing software instructions that, when executed by the processor, perform the above-noted method. 
       FIG. 3A  shows a computer implemented method of generating, displaying, and interfacing an infinite navigable media wall in accordance with one or more embodiments of the present invention. With reference to  FIG. 3A , in step S 1 , available media is identified from storage accessible by a computer. Storage accessible by the computer includes internal storage, external storage, and/or remote storage. Internal storage includes, for example, flash memory or fixed disk storage devices that are a fixed part of the computer. External storage includes, for example, removable flash memory cards and removable fixed disk storage devices. Remote storage includes, for example, network storage devices and cloud-based storage devices. One of ordinary skill in the art will appreciate that the present invention may utilize any storage that is accessible by the computer in accordance with one or more embodiments of the present invention. 
     In one or more embodiments of the present invention, available media are identified from one or more local databases of the computer, i.e., internal storage, in which the identification is performed. In this way, by default, media identified by the local databases of the computer, and stored on internal storage, are classified as available media so that they may be utilized for expeditious use. Advantageously, the display of an infinite navigable media wall is expedited to improve the user experience. 
     In one or more embodiments of the present invention, media identified from external storage and/or remote storage may be sorted and/or filtered according to a predetermined preference established by the software application, user preferences, reported user usage metrics, or an advertising directive and are then classified as available media as soon as the identification can take place given the constraints of accessing external storage and/or remote storage. In one or more embodiments of the present invention, the identification includes identification of media by file type. In one or more embodiments of the present invention, the identification includes identification of media by meta-data. One of ordinary skill in the art will recognize that the identification may be by any relevant data related to the media in accordance with one or more embodiments of the present invention. In one or more embodiments of the present invention, available media includes media from internal storage of the computer intermingled with media from external storage and/or remote storage. 
     In one or more embodiments of the present invention, geolocalization of the computer may be utilized to customize the available media identified from remote storage. For example, geolocalization may be utilized to identify a country, state, city, or other information relating to the present location of the computer. The geolocalization information may then be used to tailor the available media from remote storage. For example, a user in the United States, through geolocalization, would be presented with media in the English language and any links to purchase media would be directed to such media from a third-party that sells the English language media. Similarly, a user in France, through geolocalization, would be presented with media in the French language and any links to purchase media would be directed to such media from a third-party that sells the French language media. In one or more embodiments of the present invention, geolocalization may be utilized to synchronize the presentation remote media based on the user&#39;s location. For example, a user browsing a physical store may be presented with an infinite navigable media wall that is customized based on the user&#39;s location in the physical store. In this way, the user may sample media, purchase media, or otherwise manipulate media based on their location by use of remote storage. One of ordinary skill in the art will recognize that geolocalization may be utilized to adapt media in the logical set of media in others ways in accordance with one or more embodiments of the present invention. 
     In step S 2 , a logical set of media is generated from the available media. This logical set includes all media identified in step S 1 , regardless of whether the media originates from internal storage, external storage, or remote storage. One of ordinary skill in the art will appreciate that at run-time, immediately after launch of the application, the available media identified in step S 1  may be limited to media from internal storage, and the available media may be supplemented by media from external storage and/or remote storage as it becomes available and in accordance with one or more user preferences. 
     In step S 3 , meta-data is extracted from the media in the logical set of media. The meta-data is extracted from the actual media files corresponding to the media in the logical set of media or separate, but related, XML files that contain meta-data about the media in the logical set of media. In step S 4 , a determination is made as to whether there is a preference expressed that affects the logical set of media. In one or more embodiments of the present invention, a preference may be indicated by user interaction with the software application. In one or more embodiments, a preference may be indicated by a last state of the software application during a previous execution of the software application. 
     In step S 5 , a determination is made as to whether a preference exists to sort the logical set of media according to one or more metrics. For example, a preference may be to sort the logical set of media according to a file type, file name, or any other metric that may be relevant to the media at hand. In the case of audio media, the preference may be, for example, to sort the logical set of media according to artist, album, song, title, genre, year, or rating. In the case of video media, the preference may be, for example, to sort the logical set of media according to title, genre, year, actor, or director. One of ordinary skill in the art will recognize that sorting means arranging the media in the logical set of media in accordance with the sorting preference. Additionally, one of ordinary skill in the art will recognize that the sorting of the logical set of media includes sorting by any metric cognizable from the media in the logical set of media, meta-data of the media in the logical set of media, or separate, but related, XML files that contain meta-data about the media in the logical set of media. In step S 6 , if it is determined that a preference exists to sort the logical set of media in step S 5 , the logical set of media is sorted according to one or more expressed sorting metrics. 
     In step S 7 , a determination is made as to whether a preference exists to filter the logical set of media according to one or more metrics. For example, a preference may be to filter the logical set of media according to a file type, file name, or any other metric that may be relevant to the media at hand. In the case of audio media, the preference may be, for example, to filter the logical set of media according to artist, album, song, title, genre, year, or rating. In the case of video media, the preference may be, for example, to filter the logical set of media according to title, genre, year, actor, or director. One of ordinary skill in the art will recognize that filtering means excluding from the logical set of media the media that do not meet the filtering preference. Additionally, one of ordinary skill in the art will appreciate that the filtering of the logical set of media includes filtering by any metric cognizable from the media in the logical set of media, meta-data of the media in the logical set of media, or separate, but related, XML files that contain meta-data about the media in the logical set of media. In step S 8 , the logical set of media is filtered according to one or more expressed filtering metrics. 
     One of ordinary skill in the art will recognize that sorting without filtering, filtering without sorting, and sorting and filtering in any order may be utilized in accordance with one or more embodiments of the present invention. Additionally, one of ordinary skill in the art will recognize that sorting and filtering may be bypassed in accordance with one or more embodiments of the present invention. For example, upon initial execution of a software application that performs the method, there is no preference expressed by the last state of execution because there is none, and the user has not had an opportunity to express a preference. However, in one or more embodiments of the present invention, a preference may be established by the software application itself based upon a predetermined advertising directive or a predetermined directive of the application. For example, in the case of audio media where the available media includes media from remote storage, an advertising directive may include a preference to sort according to most popular songs, most downloaded songs, or new releases. Further, for example, if the infinite navigable media wall is configured for a specific and targeted use, i.e., a kiosk, a preference may be to sort and/or filter the media according to that specific use. 
     In step S 9 , information is extracted from the media in the logical set of media in anticipation of generating the infinite navigable media wall. For example, in the case of audio media, the information may include a graphic file representing an album cover corresponding to the media in the logical set of media. One of ordinary skill in the art will recognize that the information extracted may include other types of information relevant to the presentation of the logical set of media on the infinite navigable media wall. In one or more embodiments of the present invention, information missing from the media in the logical set of media may be retrieved from remote databases in accordance with one or more embodiments of the present invention. 
     In step S 10 , the infinite navigable media wall is generated. The infinite navigable media wall is a dynamic graphical display and interface that represents the media in the logical set of media. Graphic files corresponding to the media in the logical set of media are placed in a tiled pattern so as to form a virtual wall to be displayed on the display of the computer. Further, in one or more embodiments of the present invention, the wall is generated such that the graphic files fill the viewable portion of the software application on the display of the computer. The graphic files are placed according to a pattern. In one or more embodiments of the present invention, the pattern is a predetermined pattern of the software application. In one or more embodiments of the present invention, the pattern is random placement according to a random number generator. In one or more embodiments of the present invention, the pattern is random placement according to one or more metrics related to the media in the logical set of media. However, in one or more embodiments of the present invention, the generation of the infinite navigable media wall places the graphic files in a pattern that ensures that there are no duplicates in the visible portion of the infinite navigable media wall. However, in the event there is not enough media in the logical set of media to fill the wall without duplicates, or the user has navigated the wall in a manner that has extended beyond the ability to populate the wall with unique media, duplicates may be used. One of ordinary skill in the art will recognize that any other pattern may be utilized in accordance with one or more embodiments of the claimed invention. 
     The user can interact with the wall by, for example, gesturing to move the wall in any direction, zoom in on the wall, or zoom out on the wall by way of a touch screen interface. In one or more embodiments of the present invention, the accelerometers of the computer allow the user to move the wall by rotating the computer. When the user gestures to move the wall or rotates the computer, the wall is dynamically generated in the direction indicated by the gestured command or rotation. As such, the term infinite is not intended to convey its traditional mathematical meaning. Instead, the term infinite means that, to the extent the operating system, software application, and/or the display of the computer supports such action, the user may continue to move the wall in any direction and the wall is dynamically generated in near real-time. In this way, the user may browse the media in the logical set of media by interacting with the infinite navigable media wall. In one or more embodiments of the present invention, the infinite navigable media wall may be populated in advance with graphic files placed in a pattern where the pattern is larger than the viewable portion of the software application on the computer screen. Advantageously, the user may easily browse a large collection of media in a graphical manner. 
     With reference to  FIG. 3B , in step S 11 , the infinite navigable media wall is displayed on a display of the computer. Once the infinite navigable media wall is displayed, there are a variety of functions that may be invoked upon user interaction or by the software application itself. In step S 11 A, remote databases may be utilized to identify, locate, and utilize missing components related to the media in the logical set of media. For example, a remote database may be employed to provide a missing graphical file representing the media or any other missing data relating to the media. In one or more embodiments of the present invention, the software application could be remotely instructed to shift the display of the infinite navigable media wall or to control the display of the infinite navigable media wall. In one or more embodiments of the present invention, the infinite navigable media wall can be configured to scroll or otherwise move automatically at the direction of the software application. In one or more embodiments of the present invention, the infinite navigable media wall may scroll or otherwise move the infinite navigable media wall during playback for improved visual effect. For example, when media is selected and playing, the infinite navigable media may be moved in a visually pleasing manner. 
     In step S 11 B, the infinite navigable media wall presents a user interface for navigating, selecting, and manipulating the media in the logical set of media. For example, a user may navigate the infinite navigable media wall by gesturing on the wall through the touch screen interface of the computer. The user can move the wall in any direction, zoom in on the wall, or zoom out on the wall. In one or more embodiments of the present invention, the accelerometers of the computer allow the user to navigate the infinite navigable media wall by rotating the computer in the desired direction. Moreover, the user can select media and invoke a variety of functions related to the use of the selected media. 
     For example, a software button may allow the user to express a preference to sort the media in the logical set of media. Should the user, for example, express a preference to sort by alphabetical order of artist names, the user can invoke that preference and the infinite navigable media wall is dynamically regenerated in accordance with the preference. Further, for example, a software button may allow the user to express a preference for what media is in the logical set of media by way of filtering. Should the user, for example, choose to restrict audio content to a specific genre, the user can invoke that preference and the infinite navigable media wall is dynamically regenerated in accordance with the preference. One of ordinary skill in the art will recognize that any such preference may be invoked via software buttons displayed on the infinite navigable media wall in accordance with one or more embodiments of the present invention. 
     Further, the user interface allows for the selection of media in the logical set of media. For example, if a user browses the wall and finds media of interest, the user can use the gesture interface of the touch screen of the display of the computer to select the media. The media is then enlarged from the wall and the user is presented with options for manipulating the media. For example, in the case of audio media, should the user select an album by touching the graphic file representing an album cover, the album cover is enlarged and the user is presented with options to play, stop, fast forward, reverse, manipulate, or purchase the selected media. In one or more embodiments of the present invention, if the wall includes albums, by selecting an album, the album cover is enlarged, the user is presented with the above-noted options, and a song from the album may begin playing by default. The songs may be played in order of appearance, randomly, or as specified by the software application. While the album cover is enlarged, if the user touches the enlarged album cover, the cover is reversed and a list of songs on the album is revealed. The user may then select any song from the list of songs on the selected album. 
     In step S 11 C, a software button may allow the user to customize the media library. For example, in the case where the logical set of media includes media from remote storage, the user may wish to purchase the media through the software application and add it to the local media library. Similarly, the user may wish to delete media from the logical set of media or from the internal storage of the computer itself. One of ordinary skill in the art will recognize that any such customization of the media library may be invoked via software buttons displayed on the infinite navigable media wall in accordance with one or more embodiments of the present invention. 
     In step S 11 D, commercials and other content may be delivered via the infinite navigable media wall through an application program interface for advertising content. For example, the logical set of media may be utilized to present advertisements of related media that may be of interest to the user. Further, commercials may be displayed at the invocation of the software application or during runtime of the application at regular intervals or upon events that dictate their execution. In one or more embodiments of the present invention, geolocalization of the computer may be utilized to customize the infinite navigable media wall according to proximity to a third-party. In one or more embodiments, the available media used to generate the infinite navigable media wall may be provided by a third-party identified by geolocalization. For example, a user in close proximity to a third-party store may allow, through geolocalization, the third-party to present some or all of the media presented through the infinite navigable media wall. 
     In step S 11 E, if new content is added to external storage and/or remote storage, notifications may be pushed to the infinite navigable media wall such that the wall is dynamically regenerated and the newly added content is considered for inclusion in the logical set of media. In step S 11 F, software buttons may present an interface to social networking sites. For example, a user may elect to share his currently playing media title with Facebook®, google+®, or Twitter®. A user may elect to share a playlist of media to Facebook®, google+®, or Twitter®. A user may elect to share media via Facebook®, google+®, Twitter®, email, SMS, instant messaging applications, or WI-FI networks. In one or more embodiments of the present invention, a user may be able to share a tile from the infinite navigable media wall via social networking sites, email, SMS, instant messaging applications, or WI-FI networks. One or ordinary skill in the art will recognize that there are many ways in which the infinite navigable media way may interface with social networking sites and facilitate sharing in accordance with one or more embodiments of the present invention. 
     In step S 11 G, usage metrics relating to user history of interaction with the infinite navigable media wall may be tracked and reported. For example, most recently played media, most frequently played media, and other metrics may be tracked and reported. In one or more embodiments, the reported metrics may be utilized to drive targeted advertising to the user or to suggest similar media available for purchase that the user may be interested in based on the reported metrics. In step S 11 H, the infinite navigable media wall may be synchronized with other devices or remote storage. For example, the infinite navigable media wall can be utilized to synchronize media in the logical set of media displayed on the wall with another device or remote storage. Alternatively, media on another device or remote storage may be utilized to synchronize with the infinite navigable media for inclusion in the logical set of media displayed on the infinite navigable media wall. In step S 11 I, the infinite navigable media wall may include an interface for display of the wall on an external device. The external device may be another computer, a television, or any other display device. In step S 12 , the infinite navigable media wall performs actions in accordance with user input. 
     In one or more embodiments of the present invention, some or all of the above-noted steps may be implemented. Further, in one or more embodiments of the present invention, some or all of the above-noted steps may be performed in a different order depending on the configuration of the software application and/or user interaction with the software application. Moreover, in one or more embodiments of the present invention, one or more of the above-noted steps may be repeated as required to present the infinite navigable media wall in accordance with the configuration of the software application and/or user interactions with the software application. 
     With respect to  FIGS. 4 through 10 , audio media is utilized, for purposes of illustration only, to generate the screenshots of a software application that performs the above-noted method. One of ordinary skill in the art will recognize that any media could be utilized in the same manner as that of the audio media utilized in the following examples. 
       FIG. 4  shows screenshots of a portrait view of an infinite navigable media wall in accordance with one or more embodiments of the present invention. With reference to  FIG. 4A , upon invocation of the application, the above-noted method is executed and the user is presented with the infinite navigable media wall comprised of graphical representations of audio content. If the user gestures to move the wall left, by swiping a finger to the right of the touch screen display of the display of the computer, the infinite navigable media wall is moved to the left and the wall is dynamically regenerated as shown in  FIG. 4B . 
       FIG. 5  shows screenshots of zoomed in and zoomed out views of an infinite navigable media wall in accordance with one or more embodiments of the present invention. With reference to  FIG. 5A , a user may gesture to zoom in on the wall and the wall is resized in accordance with the zoom in gesture. With reference to  FIG. 5B , a user may gesture to zoom out on the wall and the wall is resized in accordance with the zoom out gesture. When the zoom out gesture is implemented, the wall is dynamically generated to fill the viewable space of the display. 
       FIG. 6  shows a screenshot of a genre filter invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. If the user gestures to select the software button displayed on the bottom left of the wall, a genre filter is presented. The user may scroll through the list of genres and select a genre of interest. Upon expressing a preference for a genre, the logical set of media is filtered according to the genre preference and the infinite navigable media wall is dynamically regenerated in accordance with the preference. One of ordinary skill in the art will recognize that the filter can be directed to any metric related to the media in the logical set of media displayed on the wall. 
       FIG. 7  shows a screenshot of selected media invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. If the user gestures to select a graphical representation of an album present on the infinite navigable media wall, the album cover is enlarged and the user is presented with options for playing, stopping, pausing, fast forwarding, reversing, manipulating, and/or purchasing the selected media. In one or more embodiments of the present invention, upon selecting an album cover, a song begins to play. The song may be the first song appearing on the corresponding album, a random song from the corresponding album, or a predetermined song from the corresponding album. If the album is not on internal storage, but is part of remote storage, the first song played may be a song specified by the remote storage or an advertising directive. 
       FIG. 8  shows a screenshot of a detailed view of selected media invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. If the user touches the album cover enlarged as shown in  FIG. 7 , the album cover reverses to reveal a track listing for the selected album. The user may then scroll through the list of songs on the selected album to select the song the user wishes to play. 
       FIG. 9  shows a screenshot of an output selector invoked from an infinite navigable media wall in accordance with one or more embodiments of the present invention. If the user wishes to direct the playback of the selected content to an alternative playback device, such as a wireless speaker, another computer, or another playback device, the user may invoke a preference to play the selected content on the alternative playback device. 
       FIG. 10  shows a screenshot of a landscape view of an infinite navigable media wall in accordance with one or more embodiments of the present invention. If the user rotates the computer that includes accelerometers, like an iPad®, the infinite navigable wall rotates to landscape view and dynamically regenerates the wall as needed. When rotated, the infinite navigable media wall in landscape view works in the same manner as the infinite navigable media wall in portrait view. 
     Advantages of one or more embodiments of the present invention may include one or more of the following. 
     In one or more embodiments of the present invention, the method of creating, displaying, and interfacing an infinite navigable media wall provides a more intuitive interface for browsing, utilizing, or creating libraries of media. 
     In one or more embodiments of the present invention, the method of creating, displaying, and interfacing an infinite navigable media wall provides a customizable interface for the presentation and sale of media to a user. 
     In one or more embodiments of the present invention, the method of creating, displaying, and interfacing an infinite navigable media wall provides a wall representation of a media library that, regardless of the amount of media in the library, appears to be continuous and infinite. 
     In one or more embodiments of the present invention, the method of creating, displaying, and interfacing an infinite navigable media wall provides an interface that facilitates the purchasing, sharing, and manipulation of media. 
     While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.