Patent Document

FIELD OF THE INVENTION 
       [0001]    The present invention relates to a method and associated system for selecting and broadcasting audio and or video content based on a location. 
       BACKGROUND OF THE INVENTION 
       [0002]    Assigning appropriate data files to associated objects so that the objects are appropriately defined is typically unreliable. Using the data files to describe the associated objects may not represent an accurate description. Additionally, the data files may not fully describe the associated objects. Accordingly, there exists a need in the art to overcome the deficiencies and limitations described herein above. 
       SUMMARY OF THE INVENTION 
       [0003]    The present invention provides a method, comprising: 
         [0004]    receiving, by a tracking apparatus, data, said data comprising audio/video data segments with associated tracking data segments, said audio/video data segments and said associated tracking data segments associated with a plurality of locations, each audio/video data segment of said audio/video data segments and each associated tracking data segment of said tracking data segments associated with a different location from said plurality of locations, each said location at a different geographical area; 
         [0005]    moving said tracking apparatus within a specified proximity of a first location of said locations; 
         [0006]    sensing, by said tracking apparatus, said first location of said locations; 
         [0007]    retrieving, by said tracking apparatus, a first audio/video data segment of said audio/video data segments associated with said first location, said retrieving based on a first tracking data segment of said associated tracking data segments associated with said first audio/video data segment; and 
         [0008]    broadcasting, by said tracking apparatus, a specified portion of said first audio/video data segment, said specified portion dependent on a specified condition of said tracking apparatus. 
         [0009]    The present invention provides a tracking apparatus comprising a processor coupled to a computer-readable memory unit, said memory unit comprising data and instructions that when executed by the processor implement a tracking method, said data comprising audio/video data segments with associated tracking data segments, said audio/video data segments and said associated tracking data segments associated with a plurality of locations, each audio/video data segment of said audio/video data segments and each associated tracking data segment of said tracking data segments associated with a different location from said plurality of locations, each said location at a different geographical area, said method comprising; 
         [0010]    receiving, by said tracking apparatus, data; 
         [0011]    moving, said tracking apparatus within a specified proximity of a first location of said locations; 
         [0012]    sensing, by said tracking apparatus, said first location of said locations; 
         [0013]    retrieving, by said tracking apparatus, a first audio/video data segment of said audio/video data segments associated with said first location, said retrieving based on a first tracking data segment of said associated tracking data segments associated with said first audio/video data segment; and 
         [0014]    broadcasting, by said tracking apparatus, a specified portion of said first audio/video data segment, said specified portion dependent on a specified condition of said tracking apparatus. 
         [0015]    The present invention provides a computer program product, comprising a computer usable medium comprising data and a computer readable program code embodied therein, said data comprising audio/video data segments with associated tracking data segments, said audio/video data segments and said associated tracking data segments associated with a plurality of locations, each audio/video data segment of said audio/video data segments and each associated tracking data segment of said tracking data segments associated with a different location from said plurality of locations, each said location at a different geographical area, said computer readable program code comprising an algorithm adapted to implement a tracking method within a tracking apparatus, said method comprising: 
         [0016]    receiving, by said tracking apparatus, data; 
         [0017]    moving, said tracking apparatus within a specified proximity of a first location of said locations; 
         [0018]    sensing, by said tracking apparatus, said first location of said locations; 
         [0019]    retrieving, by said tracking apparatus, a first audio/video data segment of said audio/video data segments associated with said first location, said retrieving based on a first tracking data segment of said associated tracking data segments associated with said first audio/video data segment; and 
         [0020]    broadcasting, by said tracking apparatus, a specified portion of said first audio/video data segment, said specified portion dependent on a specified condition of said tracking apparatus. 
         [0021]    The present invention advantageously provides simple method and associated system capable of assigning appropriate data files to associated objects. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0022]      FIG. 1  illustrates a block diagram view of a system comprising a tracking apparatus  25 A and structures, in accordance with embodiments of the present invention. 
           [0023]      FIG. 2  illustrates a block diagram view of a system comprising a tracking apparatus and locations, in accordance with embodiments of the present invention. 
           [0024]      FIG. 3  illustrates a block diagram view of a system comprising an alternative tracking apparatus to the tracking apparatus of  FIGS. 1 and 2 , in accordance with embodiments of the present invention. 
           [0025]      FIG. 4  is a flowchart illustrating an algorithm detailing an overall process used by the system of  FIG. 1 , in accordance with embodiments of the present invention. 
           [0026]      FIG. 5  is a flowchart illustrating an algorithm detailing an overall process used by the system of  FIG. 2 , in accordance with embodiments of the present invention. 
           [0027]      FIG. 6  is a flowchart illustrating an algorithm detailing an overall process for populating the removable media of  FIGS. 1-3 , in accordance with embodiments of the present invention. 
           [0028]      FIG. 7  illustrates a computer system used for implementing the tracking apparatuses of  FIGS. 1-3 , in accordance with embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0029]      FIG. 1  illustrates a block diagram view of a system  2 A comprising a tracking apparatus  25 A and structures  4 A and  4 B, in accordance with embodiments of the present invention. System  2 A allows a user in possession of tracking apparatus  25 A to approach structure  4 A and/or  4 B and receive a broadcast comprising an associated (i.e., associated to structure  4 A and/or  4 B) portion of audio and/or video data describing the associated structure  4 A and/or  4 B. For example, a user touring a museum will carry the tracking apparatus  25 A and as the user approaches each exhibit (e.g., work of art, sculpture, etc), the tracking apparatus  25 A will detect each exhibit and broadcast an associated portion of audio and/or video data describing the exhibit. The portion of audio and/or video data broadcasted for the user may be dependent on a specified distance that the user is from structure  4 A and/or  4 B. For example, if the user is 5 feet away from the exhibit (e.g., structure  4 A), the portion of the audio and/or video data broadcasted for the user may comprise a small abbreviated portion of the audio and/or video data associated with the exhibit (e.g., structure  4 A) as it is assumed that the user is moving away from the structure. In contrast, if the user is 2 feet away from the exhibit (e.g., structure  4 A), the portion of the audio and/or video data broadcasted for the user may comprise an entire portion of the audio and/or video data associated with the exhibit (e.g., structure  4 A) as it is assumed that the user is moving towards the structure. Alternatively, the portion of audio and/or video data broadcasted for the user may be dependent on a specified amount of time that the user is detected at structure  4 A and/or  4 B. 
         [0030]    Structure  4 A comprises a radio frequency identification (RFID) tag  7 A and optionally a written description  9 A of structure  4 A. Structure  4 B comprises an RFID tag  7 B and optionally a written description  9 B of structure  4 B. Structures  4 A and  4 B may comprise any type of structures on display including, inter alia, exhibits at a museum (e.g., work of art, sculpture, etc), etc. Tracking apparatus  25 A comprises a controller  19 , a memory unit  15 , an RFID scanner, removable memory or media  16 , and an audio/video monitor  14 . Controller  19  in combination with any controlling software on memory unit  15  controls all functionality of tracking apparatus  25 A. Audio/video monitor  14  may comprise any type of audio and/or video monitor including, inter alia, an amplifier and speakers, a video monitor (liquid crystal (LCD), Plasma, cathode ray tube (CRT), etc), or any combination thereof. Removable media  16  comprises audio and/or video data describing each of structures  4 A and  4 B. Additionally, removable media  16  comprises identification data describing RFID tags  7 A and  7 B. Removable media  16  may comprise any type of removable media including, inter alia, a read only memory (ROM) media (e.g., compact disc (CD) ROM, digital versatile disc (DVD) ROM, etc), a flash memory media, etc. The identification data describing RFID tags  7 A and  7 B may comprise any type of identification data including, inter alia, a serial number for each of RFID tags  7 A and  7 B. The identification data describing RFID tag  7 A is associated with audio and/or video data describing structure  4 A. The identification data describing RFID tag  7 B is associated with audio and/or video data describing structure  4 B. 
         [0031]    When a user enables tracking apparatus  25 A, tracking apparatus  25 A continuously scans surroundings in order to locate RFID tags. As the user possessing (e.g., carrying) tracking apparatus  25 A approaches structure  4 A, RFID scanner  11  scans and senses RFID tag  7 A and compares identification data from RFID tag  7 A (e.g., a serial number) to stored identification information on removable media  16 . When a match is located an associated portion of audio and/or video data stored on removable media  16  is broadcast for the user via audio/video monitor  14 . A size of the associated portion of audio and/or video data broadcasted for the user is dependent on a specified distance that the user is from structure  4 A or a specified time that the user is within range of structure  4 A. Specified distances from structure  4 A are preprogrammed and associated with audio/video data associated with structure  4 A so that specified portions of the audio/video data may be broadcasted for the user dependent on distances from structure  4 A. RFID scanner  11  may determine a distance by a strength of a signal received from RFID tag  7 A. Specified time periods that the user is within range of structure  4 A may also be preprogrammed and associated with audio/video data associated with structure  4 A. Likewise, as the user possessing (e.g., carrying) tracking apparatus  25 A approaches structure  4 B, RFID scanner  11  senses RFID tag  7 B and compares identification data from RFID tag  7 B (e.g., a serial number) to stored identification information on removable media  16 . When a match is located an associated portion of audio and/or video data stored on removable media  16  is broadcast for the user via audio/video monitor  14 . A size of the associated portion of audio and/or video data broadcasted for the user is dependent on a specified distance that the user is from structure  4 B or a specified time that the user is within range of structure  4 B. Specified distances from structure  4 B are preprogrammed and associated with audio/video data associated with structure  4 B so that specified portions of the audio/video data may be broadcasted for the user dependent on distances from structure  4 B. RFID scanner  11  may determine a distance by a strength of a signal received from RFID tag  7 B. Specified time periods that the user is within range of structure  4 B may also be preprogrammed and associated with audio/video data associated with structure  4 B. 
         [0032]      FIG. 2  illustrates a block diagram view of a system  2 B comprising a tracking apparatus  25 B and locations  28 A and  28 B, in accordance with embodiments of the present invention. In contrast with tracking apparatus  25 A of  FIG. 1 , a tracking apparatus  25 B of  FIG. 2  comprises a global positioning satellite (GPS) receiver  21  and a compass  23  instead of RFID scanner  11 . Compass  23  may comprise a digital compass. System  2 B allows a user in possession of tracking apparatus  25 B to approach locations  28 A and  28 B and receive a broadcast comprising an associated (i.e., associated to location  28 A and/or  28 B) portion of audio and/or video data describing the associated location  28 A and/or  28 B. For example, a user touring a national park will carry the tracking apparatus  25 A and as the user approaches each of locations  28 A and  28 B (e.g., a mountain, a landmark, a river, etc), the tracking apparatus  25 B will use GPS tracking data to detect each of locations  28 A and  28 B and broadcast an associated portion of audio and/or video data describing the locations  28 A and  28 B. The portion of audio and/or video data broadcasted for the user may be dependent on a specified distance that the user is from structure locations  28 A and  28 B, a speed of travel towards structure locations  28 A and  28 B, a direction that the user is facing with respect to locations  28 A and  28 B, an orientation that the user is facing with respect to the earth&#39;s magnetic poles. For example, if the user is moving quickly (e.g., user is driving an automobile at a highway speed of about 55 mph) towards location  28 A, the portion of the audio and/or video data broadcasted for the user may comprise a small abbreviated portion of the audio and/or video data associated with location  28 A as it is assumed that the user may not be within a viewing range of location  28 A for very long. In contrast, if the user is moving slowly (e.g., user is walking) towards location  28 A, the portion of the audio and/or video data broadcasted for the user may comprise an entire portion of the audio and/or video data associated with location  28 A as it is assumed that the user will be within a viewing range of location  28 A for a long enough time to receive the entire description for location  28 A. 
         [0033]    Tracking apparatus  25 B comprises a controller  19 , a memory unit  15 , a GPS receiver  21 , a compass  23 , removable media  16 , and an audio/video monitor  14 . Controller  19  in combination with any controlling software on memory unit  15  controls all functionality of tracking apparatus  25 B. Audio/video monitor  14  may comprise any type of audio and/or video monitor including, inter alia, an amplifier and speakers, a video monitor (LCD, Plasma, CRT, etc), or any combination thereof. Removable media  16  comprises audio and/or video data describing each of locations  28 A and  28 B. Additionally, removable media  16  comprises GPS trigger data describing a geographical location for locations  28 A and  28 B. Removable media  16  may comprise any type of removable media including, inter alia, a read only memory (ROM) media (e.g., CD-ROM, DVD-ROM, etc), a flash memory media, etc. The GPS trigger data describing location  28 A is associated with audio and/or video data describing location  28 A. The GPS trigger data describing location  28 B is associated with audio and/or video data describing location  28 B. 
         [0034]    When a user enables tracking apparatus  25 B, tracking apparatus  25 B continuously monitors GPS trigger data from GPS receiver  21  in order to locate locations  28 A and  28 B. As the user possessing (e.g., carrying) tracking apparatus  25 B approaches location  28 A, a GPS receiver  21  senses it&#39;s position with respect to location  28 A and an associated portion of audio and/or video data stored on removable media  16  is broadcast for the user via audio/video monitor  14 . A size of the associated portion of audio and/or video data broadcasted for the user is dependent on a specified distance that the user is from location  28 A, a speed of travel towards location  28 A, a direction that the user is facing with respect to location  28 A, or an orientation that the user is facing with respect to the earth&#39;s magnetic poles. The orientation that the user is facing with respect to the earth&#39;s magnetic poles is determined by compass  23 . Each of the specified distances, speed of travel, and direction the user is facing with respect to location  28 A is preprogrammed and associated with audio/video data associated with location  28 A so that specified portions of the audio/video data may be broadcasted for the user. Likewise, as the user possessing (e.g., carrying) tracking apparatus  25 B approaches location  28 B, GPS receiver  21  senses it&#39;s position with respect location  28 B and an associated portion of audio and/or video data stored on removable media  16  is broadcast for the user via audio/video monitor  14 . A size of the associated portion of audio and/or video data broadcasted for the user is dependent on a specified distance that the user is from location  28 B, a speed of travel towards location  28 B, or a direction that the user is facing with respect to location  28 B. The direction that the user is facing with respect to location  28 B is determined by compass  23 . Each of the Specified distances, speed of travel, and direction the user is facing with respect to location  28 B is preprogrammed and associated with audio/video data associated with location  28 B so that specified portions of the audio/video data may be broadcasted for the user. 
         [0035]      FIG. 3  illustrates a block diagram view of a system  2 C comprising a tracking apparatus  25 C, in accordance with embodiments of the present invention. Tracking apparatus  25 C of  FIG. 2  represents a combination of tracking apparatus  25 A of  FIGS. 1 and 25B  of  FIG. 2 . Tracking apparatus  25 C comprises both a GPS receiver  21  and a RFID scanner  11 . Tracking apparatus  25 C enables a user to sense a GPS location for location  28 A and broadcast an associated portion of audio/video data describing location  28 A or sense RFID tag  7 B for structure  4 B and broadcast an associated portion of audio/video data describing structure  4 B. 
         [0036]    An example of implementation for tracking apparatus  25 C is described as follows: 
         [0037]    The Gettysburg National Military Park is run by the National Park Service (NPS). The park comprises both indoor and outdoor tourism-related activities and exhibits. In the example, the NPS has pre-recorded audio clips by official tour guides and has mapped the audio clips to RFID tag identifiers on indoor exhibits and GPS trigger data to outdoor exhibits. The NPS has stored the audio clips and associated RFID tag identifiers and GPS trigger data in CD files that are posted on their website. Family A planning to visit the Gettysburg National Military Park downloads a copy of the CD files from the web site and burns a CD for the trip. The CD is inserted in the tracking apparatus  25 C and family A heads out for the park in their vehicle. As they approach the park, the tracking apparatus  25 C will begin to play audio clips describing each outdoor exhibit (i.e., triggered by the GPS receiver). Family A will hear descriptions of the surroundings, and a historical review of the battles that occurred in the area. Highly produced audio clips may even include sounds of charging armies, riding horses, and guns and cannons. The amount of detail played back increases as they slow down the vehicle on country roads approaching each exhibit. Family A parks the vehicle, takes the tracking apparatus  25 C and walks around the grounds of a battlefield in the park and listens to more descriptions about the events that transpired there. After walking the grounds of the battlefield, they head inside to hear more information about the life and times of the American 19th century. As they head inside the visitor&#39;s center, the person carrying the tracking apparatus  25 C browses its menu system (i.e., via audio/video monitor) and turns on RFID scanner  11 . As they walk around inside the visitor center, and view an indoor exhibit the tracking apparatus  25 C looks up an RFID tag number (i.e., located in a flat file on removable media  16 ) for the indoor exhibit and begins playing the associated audio file. Therefore, in the aforementioned example, outdoor exhibits may trigger associated audio clip using GPS trigger data and indoor exhibits may trigger associated audio clips using RFID tag numbers. 
         [0038]      FIG. 4  is a flowchart illustrating an algorithm detailing an overall process used by system  2 A of  FIG. 1 , in accordance with embodiments of the present invention. In step  30 , a user receives removable media  16  comprising RFID identifiers (i.e., serial numbers) for structures  4 A and  4 B and associated audio/video data and installs removable media in tracking apparatus  25 A. RFID identifiers for structure  4 A and  4 B and associated audio/video data may be, inter alia, downloaded from a website, purchased at a store, etc. In step  32 , tracking apparatus  25 A is enabled. In step  34 , the user travels to structure  4 A. In step  36 , the user stands nearby structure  4 A. In step  38 , it is determined if RFID tag  7 A for structure  4 A has been detected by tracking apparatus  25 A. If in step  38  it is determined that RFID tag  7 A for structure  4 A has not been detected by tracking apparatus  25 A, then step  38  is repeated. If in step  38 , it is determined that RFID tag  7 A for structure  4 A has been detected by tracking apparatus  25 A, then in step  40  an RFID tag number (e.g., a serial number) for RFID tag  7 A is retrieved from removable media  16  and matched to RFID tag  7 A. In step  42 , it is determined if multiple RFID tags (i.e., RFID tag  7 A and  7 B) are detected. If in step  42 , it is determined that multiple RFID tags (i.e., RFID tag  7 A and  7 B) are detected, then in step  44  a desired associated audio clip (i.e., associated with RFID tag  7 A) is selected from a list displayed on audio/video monitor  14  and the desired associated audio clip is broadcasted for the user in step  46 . If in step  42 , it is determined that multiple RFID tags (i.e., RFID tag  7 A and  7 B) are not detected, then in step  46  the desired associated audio clip is broadcasted for the user. In step  47 , it is determined if the user has moved out of range from structure  4 A. 
         [0039]    If in step  47 , it is determined that the user has moved out of range from structure  4 A, then in step  60  the broadcast is automatically disabled and in step  58  the user is asked if the session (i.e., tour of structures  4 A and  4 B) will be terminated. If in step  58 , the user chooses to terminate the session, then in step  62  the tracking apparatus is disabled. If in step  58 , the user chooses not to terminate the session, then step  34  is repeated to view another structure (e.g., structure  4 B). 
         [0040]    If in step  47 , it is determined that the user has not moved out of range from structure  4 A, then in step  54 , the user may manually disable the broadcast. The user may temporarily disable the broadcast (e.g., pause the broadcast). Alternatively, the user may permanently disable the broadcast (e.g., stop the broadcast). If in step  58 , the user chooses to terminate the session, then in step  62  the tracking apparatus is disabled. If in step  58 , the user chooses not to terminate the session, then step  34  is repeated to view another structure (e.g., structure  4 B). 
         [0041]      FIG. 5  is a flowchart illustrating an algorithm detailing an overall process used by system  2 B of  FIG. 2 , in accordance with embodiments of the present invention. In step  100 , a user receives removable media  16  comprising GPS trigger data for locations  28 A and  28 B and associated audio/video data and installs removable media in tracking apparatus  25 B. GPS trigger data for locations  28 A and  28 B and associated audio/video data may be, inter alia, downloaded from a website, purchased at a store, etc. In step  102 , tracking apparatus  25 B is enabled. In step  104 , the user travels to location  28 A. In step  106 , tracking apparatus  25 B monitors its current position, speed, direction of travel, and/or orientation with respect to the earth and its poles as reported by GPS receiver  21  and compass  23 . In step  108 , it is determined if the user is within a specified proximity of location  28 A. If in step  108 , it is determined that the user is not within a specified proximity of location  28 A then step  106  is repeated. If in step  108 , it is determined that the user is within a specified proximity of location  28 A, then in step  110  tracking apparatus  25 B selects and broadcasts a portion of an associated audio/video clip. A size of the portion of the associated audio/video clip is dependent on a position, direction, and speed of travel of the user with respect to location  28 A. Alternatively, in step  110  tracking apparatus  25 B may select and broadcast a portion of an associated audio/video clip for a location (not shown) that the user is orientated towards. An orientation for the user is determined by compass  23  with respect to the earth&#39;s magnetic poles. In step  112 , it is determined if the user has disabled the A/V clip broadcast. The user may temporarily disable the broadcast (e.g., pause the broadcast). Alternatively, the user may permanently disable the broadcast (e.g., stop the broadcast). 
         [0042]    If in step  112 , it is determined that the user has not disabled the A/V clip broadcast, then in step  114  tracking device  25 B continues to broadcast the A/V clip until the user disables the broadcast in step  120 . Alternatively, if the user moves away from location  28 A, tracking apparatus  25 B may automatically disable the broadcast in step  120 . In step  122  the user determines if the session should end. If in step  122 , the user determines that the session should not end, then step  108  is repeated. If in step  122 , the user determines that the session should end, then in step  124 , tracking apparatus  25 B is disabled. 
         [0043]    If in step  112 , it is determined that the user has disabled the A/V clip broadcast, then in step  120  the broadcast is disabled. In step  122 , the user determines if the session should end. If in step  122 , the user determines that the session should not end, then step  108  is repeated. If in step  122 , the user determines that the session should end, then in step  124 , tracking apparatus  25 B is disabled. 
         [0044]      FIG. 6  is a flowchart illustrating an algorithm detailing an overall process for populating removable media  16  of  FIGS. 1-3 , in accordance with embodiments of the present invention. The overall process described in the flowchart of  FIG. 6  is performed by an entity or company producing removable media for describing structures  4 A and  4 B of  FIG. 1  and locations  28 A and  28 B of  FIG. 2 . In step  200 , the entity determines if RFID structures (e.g., structures  4 A and  4 B) are included in an exhibit. If in step  200 , the entity determines that RFID structures are not included in the exhibit, then step  214  is performed as described, infra. If in step  200 , the entity determines that RFID structures are included in the exhibit then in step  202 , a list of RFID tag numbers (e.g., serial numbers for RFID tags  7 A and  7 B) is generated. In step  206 , a list of planned A/V recordings or data for the RFID structures (e.g., for structures  4 A and  4 B) is generated. In step  208 , the RFID tag numbers from the list generated in step  202  are assigned to associated planned A/V data from the list generated in step  206 . In step  214 , a list of planned A/V data for the GPS locations (e.g., for locations  28 A and  28 B) is generated. In step  216 , the A/V data for each GPS location are assigned associated GPS trigger data. In step  218 , all A/V data from the lists generated in steps  206  and  214  is retrieved and stored. In step  220 , the RFID tag numbers from step  202  are assigned to associated stored A/V data. In step  222 , the GPS trigger data from step  216  is assigned to associated stored A/V data. In step  226 , removable media  16  is generated comprising A/V data and associated RFID tag numbers and GPS trigger data. For example, if removable media  16  is a compact disc then the compact disc may be generated or burned comprising the A/V data and associated RFID tag numbers and GPS trigger data. In step  226 , removable media  16  is delivered to the user prior to touring structures  4 A and  4 B and locations  28 A and  28 B. 
         [0045]      FIG. 7  illustrates a computer system  90  used for implementing tracking apparatuses  25 A . . .  25 C of  FIGS. 1-3 , in accordance with embodiments of the present invention. The computer system  90  comprises a processor  91 , an input device  92  coupled to the processor  91 , an output device  93  coupled to the processor  91 , and memory devices  94  and  95  each coupled to the processor  91 . The input device  92  may be, inter alia, a keyboard, a mouse, etc. The output device  93  may be, inter alia, a printer, a plotter, a computer screen (e.g., monitor  110 ), a magnetic tape, a removable hard disk, a floppy disk, etc. The memory devices  94  and  95  may be, inter alia, a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital versatile disc (DVD), a dynamic random access memory (DRAM), a read-only memory (ROM), etc. The memory device  95  includes a computer code  97 . The computer code  97  includes an algorithm for implementing the processes of  FIGS. 4 and 5 . The processor  91  executes the computer code  97 . The memory device  94  includes input data  96 . The input data  96  includes input required by the computer code  97 . The output device  93  displays output from the computer code  97 . Either or both memory devices  94  and  95  (or one or more additional memory devices not shown in  FIG. 7 ) may comprise the algorithms of  FIGS. 4 and 5  and may be used as a computer usable medium (or a computer readable medium or a program storage device) having a computer readable program code embodied therein and/or having other data stored therein, wherein the computer readable program code comprises the computer code  97 . Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system  90  may comprise said computer usable medium (or said program storage device). 
         [0046]    While  FIG. 7  shows the computer system  90  as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system  90  of  FIG. 6 . For example, the memory devices  94  and  95  may be portions of a single memory device rather than separate memory devices. 
         [0047]    While embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.

Technology Category: h