MENUING SYSTEM FOR CONTROLLING CONTENT DELIVERY WITHIN A VIDEO DISTRIBUTION SYSTEM

Abstract
A menuing system for a video distribution system provides an interactive display to allow a user to select and control the delivery of program material. A central host computer processes initial request for service from users and maintains a database of currently available program materials and other system resources. In response to a user's request for service, the central host computer assigns one of a plurality of assignable computing devices (ACDs) to communicate with the user. The ACD reads the database and presents an interactive menu to the user on the user's audiovisual display monitor. Using a graphical user interface (GUI) the user may then respond to the menu by selecting an item for viewing. The menuing system may have a number of levels that the user may parse through to allow the user to select desired program material. Upon selection by the user, the ACD passes the request on for further programming.
Description
BACKGROUND

1. Field of the Invention


The present invention relates to systems for video distribution. More particularly, the present invention relates to a menuing system permitting a user to select and control the delivery of program material in a video distribution system.


2. The Background


It is common for lodging facilities such as hotels and motels to provide their guests with video programming from cable or broadcast television as well as feature films via on-demand video rentals and/or fixed scheduled movie systems. Providing video programming beyond the cable and broadcast television programming readily available to the public allows the facility to both fulfill a desire of some guests for such programming and generate revenue by charging for the programming.


Prior art systems for video distribution include menu generation, however the menus are maintained by a central host and presented to a user with a simple video frame generator. This mechanism is limited in that all service requests from the user must be handled by the central host. This loads the central host and can make the system appear sluggish or non-responsive in a heavily used system such or would be the care in a busy hotel. Furthermore, these prior art systems are limited to presenting a single static menu to all users.


Accordingly, it would be desirable to provide an improved menuing system for a modular video distribution system to assist users in selecting program material from a plurality of sources. It would also be desirable to provide a menuing system that may be interactive, easily tailored to specific users and it can include multimedia samples, such as short film clips.


SUMMARY

A menuing system for a video distribution system provides an interactive display to allow a user to select and control the delivery of program material. A central host computer processes initial request for service from users and maintains a database of currently available program materials and other system resources. In response to a user's request for service, the central host computer assigns one of a plurality of assignable computing devices (ACDs) to communicate with the user. The ACD reads the database and presents an interactive menu to the user on the user's audiovisual display monitor. Using a graphical user interface (GUI) the user may then respond to the menu by selecting an item for viewing. The menuing system may have a number of levels that the user may parse through to allow the user to select desired program material. Upon selection by the user, the ACD passes the request on for further programming.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a system block diagram showing a presently preferred embodiment of the invention.



FIG. 2 is a flow diagram showing a process in accordance with a presently preferred embodiment of the invention.





DETAILED DESCRIPTION

Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not intended to be in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons after a perusal of the within disclosure.


A menuing system for a video distribution system provides a graphical user interface (GUI) to a user to enable the user to select available program material for viewing. The menuing system is preferably used in conjunction with a larger video distribution system, such as might be used by a lodging or similar facility. Because of this, the disclosure will first describe that larger system, followed by a description of the menuing system in that context of the entire video distribution system.


The video distribution system for distributing video program material among users of a lodging or similar facility utilizes a host computing device that allocates tasks among a number of audiovisual serving devices. By allocating tasks to the audiovisual serving devices, the host is able to service a plurality of users and provide each user access to a pool of audiovisual serving devices. Referring to FIG. 1, three major components are provided, the central host computer shown as the System Management Subsystem (SMS) 10 for managing the overall system, the programming subsystem 12, which preferably includes numerous audiovisual serving devices 8 which serve as sources of video program material, and the Room Communication Subsystem (RCS) 14 for delivering the program material to the user.


The system delivers to the users a variety of types of program material from a variety of sources. The types of program materials include, but are not limited to, access to the Internet, computers running application software, on-demand feature length and other films, scheduled special events, scheduled video programs, video games and the like. Program material may come from videotapes, satellite and terrestrial broadcasts, the Internet, and material stored on video servers such as a magneto-optical jukebox-type digital video servers and the like. Those of ordinary skill in the art will recognize that the term video server encompasses many types of individual devices known in the art, both analog and digital, including, but not limited to, banks of video tape players, video jukeboxes, magnetic disk arrays storing digital representations of video signals, banks of digital video disk (DVD) players, computing devices capable of outputting audiovisual program material, and the like. The present invention uses a broad definition of audiovisual serving device to include all such devices capable of producing or delivering audiovisual program material to a user.


The SMS 10, or host, manages the overall video distribution system, which includes maintaining data on the system resources, and directing signals between the user and audiovisual serving devices through the RCS 14. The program material distributed to the users is all contained within the individual audiovisual serving devices 8. The SMS 10 directs a particular audiovisual serving device 8 to deliver program material to the user. By allocating the time-intensive tasks of presenting users with program material to the programming subsystem 12, the SMS 10 is able to service a relatively large number of users.


User inputs and interactions with the programming subsystem 12 are made through the Room Communications Subsystem (RCS) 14 at the direction of the SMS 10. That is, the RCS 14 facilitates routing of both the output from an audiovisual serving device to an individual user and user communications, if any, back to the audiovisual serving device and/or the SMS 10 as appropriate. The output of the audiovisual serving device will be an audiovisual (AV) signal that the RCS 14 will direct to the user's monitor. The terms “monitor” and “user's monitor” in the context of this disclosure are intended to include a wide range of displays, such as a TV display in the user's room and similar devices such as video monitors and the like.


The SMS 10 functions as a host computer directing a number of audiovisual serving devices to present program material to the user, as well as managing the overall system operations. In accordance with a presently preferred embodiment of the present invention, the SMS 10 may include a single computing device operating under the control of an operating system such as WINDOWS NT™ available from Microsoft Corporation of Redmond, Wash. However, there is no requirement that any particular type of computing device or any particular operating system be used, as will be recognized by those of ordinary skill in the art. The SMS 10 manages the overall system and allocates tasks by communicating with the programming subsystem 12 using a standard data communications protocol such as TCP/IP socket connections. Those of ordinary skill in the art will recognize that many convenient communications protocols may be utilized, and the present invention is not intended to be limited to the use of TCP/IP socket connections for communications. Through these communications the SMS 10 keeps track of the current system resources and manages the overall system operations. At initialization or power up, each audiovisual serving device opens a TCP/IP socket connection with the SMS 10. After establishing the connection, an initialization message is transmitted to the SMS 10, followed by a response from the SMS 10. Next, the audiovisual serving devices each transmit data to the SMS 10 describing their respective device hardware configurations, whether they are on-line or off-line and the RF communication channel that is assigned to the audiovisual serving device. Through this exchange of signals, the SMS 10 compiles a database of the audiovisual serving devices present in the system.


To allow for continued system operations during occasional malfunctions of individual audiovisual serving devices, the SMS 10 sends a communication test message (a conventional “ping” message) after a defined period of time passes without any communications between an audiovisual serving device and the SMS 10. The audiovisual serving device responds by sending a verification message back to the SMS 10 indicating that it is functioning properly, or the SMS 10 is alerted to take action. In accordance with a presently preferred embodiment of the present invention the SMS 10 closes the socket connections of audiovisual serving devices that do not respond after a defined number of pings and updates the data base of currently available system resources. An audiovisual serving device that loses its socket connection resets and periodically attempts to reestablish the socket connection. The audiovisual serving device is added to the database of available system resources after a successful exchange of initialization and response messages between the audiovisual serving devices and the SMS 10. In this way, the SMS 10 not only accounts for audiovisual serving devices added or removed before startup but continuously monitors the system resources. Those of ordinary skill in the art will recognize that the use of ping messages is one of many ways the SMS 10 may monitor and manage the system resources and that the present invention is not intended to be limited to this particular mode of operation.


The SMS 10 continuously keeps track of the currently available system resources. For example, when the SMS 10 directs an audiovisual serving device to provide a videotape to a user, both that particular tape and the audiovisual serving device will no longer be available to other users for the duration of the videotape, plus the time needed to rewind. To track the availability of the audiovisual serving devices and their resources, the present invention uses messages sent from the audiovisual serving device to the SMS 10 noting a change in the status when the audiovisual serving device has started or finished a task, such as playing a particular videotape. The SMS 10 uses this message to update the database of currently available system resources.


The SMS 10 allocates the tasks of providing program material to the users among the various audiovisual serving devices. In accordance with a presently preferred embodiment of the present invention, this is a two step procedure. First, the user is guided through a menu-driven process of selecting and ordering from a list of currently available program material by an audiovisual serving device which is also an Assignable Commuting Device (ACD) (discussed in detail below). Second, the program material is provided to the user directly by the audiovisual serving device. In both steps, allocating these tasks to audiovisual serving devices frees the SMS 10 to service other users.


In accordance with a presently preferred embodiment of the present invention, a list of currently available program material available is tracked using titles. The SMS 10 maintains the list. When the system is initialized, the SMS 10 queries the audiovisual serving devices for the available program material. The audiovisual serving devices each respond with a list of titles. These communications are made using a standard data communications protocol such as TCP/IP socket connections. This list of currently available program materials is continuously updated. Information for updates can be compiled through change in status messages sent from the audiovisual serving devices to the SMS 10 or from the audiovisual serving devices to the SMS 10, indicating that a title is in use or is currently available. The list can vary in concert with the available system resources, for example, if all the videotape players are in use presenting program material to other users, then all of the videotape program material would be unavailable to new users. Conversely, if an additional audiovisual serving device is added to the system with new program titles, the list of currently available titles is preferably updated.


The SMS 10 preferably maintains a database on the individual users. This data includes the program material that an individual user views or purchases, and is made available by the SMS 10 for a variety of purposes including billing. In accordance with a presently preferred embodiment of the present invention, user data including previous purchases, a preferred language, a choice of whether or not to block certain program materials such as adult program materials and a choice of whether or not to block pay-per-view program material is used to customize the menus presented to the user.


The programming subsystem 12 provides the selected program material for routing to the user. Referring to FIG. 1, the programming subsystem 12 may include numerous audiovisual serving devices which may be thought of as being divided into three subsystems based on the category of program material each provides. These include the Scheduled Programming Subsystem (SPS) 16 for presenting scheduled program content such as special events, the Linear Programming Subsystem (LPS) 18 for presenting on-demand program content such as feature length films and the Interactive Programming Subsystem (IPS) 20 for presenting interactive program content such as video game applications and menus. Within each of these subsystems (not all of which must be present in a given system) there may be one or more audiovisual serving devices that provide program material to the users, such as a group of digital video servers within the LPS 18, each one with the capacity to simultaneously provide multiple users with on-demand streams of program material.


The present invention preferably uses Assignable Computing Devices (ACDs) as programming subsystem 12 audiovisual serving devices in various applications. An ACD may be any computing device capable of performing a task assigned to it. Such devices are intended to include, but be limited to, game computing devices such as the NINTENDO 64™ a product of the Nintendo Corporation of Japan and the SONY PLAY STATION™ a product of the Sony Corporation of Japan, Apple-based personal computers available from Apple Computer Corp. of Cupertino, Calif., UNIX-based computers available from a number of vendors, single-purpose application devices such as computing chips with pre-programmed application programs loaded from read-only memory (ROM), and the like.


Given the title of the program material, the SMS 10 allocates the task of presenting the program material to a particular audiovisual serving device within the programming subsystem 12, which will then operate with the RCS 14 to route the selected material to the user. During the period of time that the program material is being presented to the user and other times when the user is in communication with device other than the SMS 10, the SMS 10 is free to service other users. Those of ordinary skill in the art will notice that it is also possible to use the same ACD that provided the menus to the user to handle the allocations of the task of presenting the program material to the user by causing an appropriate audiovisual serving device to present the selected program material rather than queuing the request through the SMS 10.


The three subsystems of the programming subsystem 12, the SPS 16, LPS 18 and IPS 20 differ in the type of programming material each contains, which defines the interaction each generally expects with the user. For each, the identity of the user and the program material are known from the menu selection process and these are passed as described above to an audiovisual serving device that has been allocated to presenting the material to the user. This same information is used by the RCS 14 to facilitate routing graphical displays and communications between the user and the audiovisual serving device.


The SPS 16 delivers real-time or scheduled program content. The content may include out-of-market sports events, special events and other scheduled programs. This type of programming is often regionally or nationally distributed. The source of program material delivered by the SPS 16 may include terrestrial broadcast, local cable television and satellite-delivered programming such as DirecTV™, C-band satellite program feeds and the like. In accordance with a presently preferred embodiment of the present invention, the SPS 16 program material does not include the traditional free-to-guest programming which may be provided to the guest free by not invoking the video distribution system.


Each SPS 16 audiovisual serving device, like the other audiovisual serving devices, sends data to the SMS 10 when the video distribution system is initialized or a new socket connection is established between the audiovisual serving device and the SMS 10. This data preferably includes a list of the available program material titles, program material start and end times, the identification of the communications channel assigned to it and the current audiovisual serving device configuration. The list of available program material is used to generate menus for selection by users. The program material scheduled start and end times are also reflected in menus. The identification of the assigned communications channel is used by the RCS 14 to route the AV signal to the user's monitor. The device configuration specifies that the particular device is a SPS 16 audiovisual serving device and its operating characteristics that differ from those of other “generic” SPS 16 audiovisual serving devices. For example, some SPS 16 audiovisual serving devices may be configured to deliver a fixed schedule of program material to the user, without allowing the user to “switch channels.” Others, such as those SPS 16 audiovisual serving devices that supply out-of-market sports events programming, may be configured to allow a user to switch among a number of sports events for a predetermined amount of time. For this later configuration, the user communicates with the SPS 16 audiovisual serving device, directing it to switch among the sports events. This communication is conducted through the RCS 14.


In accordance with one embodiment of the present invention, the menu information for the SPS 16 program material includes dynamic titles. A channel of a satellite may be dedicated to updating the schedule of program material, such as including information that a sports event is delayed due to rain. This updated schedule is then reflected in the menus presented to users.


The LPS 18 delivers linear program content. Typically, this subsystem works in a video-on-demand basis. The LPS 18 content is characterized by the deterministic, “start-to-finish” nature of its playback. Program content may take the form of feature length films, short programs, advertisements and other video programming. In accordance with one embodiment of the present invention, the LPS 18 maintains data fields of start and end dates for the program material. When the current date is outside the range of those start and end dates the LPS 18 does not include the program material in the list of current titles data passed to the SMS 10. This feature is intended to add flexibility in supplying LPS 18 program material to a facility, program material can be delivered and loaded on the audiovisual serving devices outside of the dates the facility is licensed to present it to users.


The LPS 18 operation begins when the SMS 10 directs that a specific title be presented to the user. The LPS 18 generally requires little or no communication between the audiovisual serving device and the user once the delivery of program material begins. Those of ordinary skill in the art will recognize that storage and playback of program material on an audiovisual serving device can take many forms and use many formats, such as MPEG-2 and the like, however the present invention is not intended to be limited to any particular data storage device or compression format.


In accordance with a presently preferred embodiment of the present invention, the LPS 18 system is used to store and playback “broadcast channels” or initial menus that are presented to the user when the system is activated in the user's room. The broadcast channels are preferably customized for each facility, to advertise the available features and any other information a facility wishes to convey available to guests. In accordance with one embodiment of the present invention, multiple broadcast channels are stored on the LPS 18, with the one presented to a particular guest determined by data such as a preferred language, and if a guest is attending a conference at the facility whether or not the guest has requested the blocking of any program material. Those of ordinary skill in the art will recognize that presenting a broadcast channel to the user is not functionally necessary, only that there must be a means for the user to turn the system on. Effectively, the initial menu is an “on” switch, which is preferably presented with advertising material in the form of a broadcast channel. For example, the system could come up and play the broadcast channel advertising available feature length films and instructing the user to press a “menu” button on the remote control in order to select one for viewing. Those of ordinary skill in the art will recognize that a number of different approaches could also be used.


The IPS 20 delivers interactive program content. This program interactive 20 content preferably includes Internet access, video game applications, and computer applications. It is also the IPS 20 that controls the menuing process, as will be further discussed below. The IPS 20 operations are started with a message from the SMS 10 directing a particular title be presented to a user. The RCS 14 then relays communications between the audiovisual serving device and the user and delivers the AV signal to the user. The IPS 20 program material typically requires near-real-time two-way communication with the user.


In accordance with one embodiment of the present invention, two types of devices are used for the IPS 20 audiovisual serving devices. Game computers may be used for presenting video game applications and IBM-compatible personal computers (PCs) may be used as ACDs for other interactive program material. Both devices use the user's monitor to display information. Preferably, each guest room is supplied with a gamepad 54 for use with the game computer and keyboard 52 for use with the PC. In accordance with a presently preferred embodiment of the present invention, the IPS 20 video game audiovisual serving devices maintain data fields of start and end dates for the program material. When the current date is outside the range of those start and end dates the IPS 20 video game audiovisual serving devices do not include the program material in the list of currently titles data passed to the SMS 10.


Access to the Internet is another type of program material provided by the IPS 20 using ACDs. The ACD establishes a connection to the Internet, through any number of conventional means such as by modem, direct internet connection, ISDN connection, satellite internet connection and x DSL connection, to name a few, and by routing signals through the RCS 14 allows the user to access the Internet with the ACD serving as the user's client machine. The monitor in the user's room presents a display, such as a web page the user has selected to view, and the user controls the display using the in-room communications control device. For example, text and directional commands may be entered through the keyboard. Internet access may therefore be provided to users without the need for any in-room computing device provided by the user or by the facility.


In accordance with a presently preferred embodiment of the present invention, when a user is provided access to the Internet, the system modifies web pages and the browser to enhance usability with NTSC-TV monitors. This is done because the typical monitor in a lodging facility lacks the display resolution most PC users expect. These modifications include: increasing the font size of web pages to a predetermined minimum, replacing white backgrounds with a level of gray to reduce contrast thus reducing flicker and enlarging boxes for displaying text (such as passwords and URLs) with enlarged font sizes. With higher resolution HDTV monitors, this additional processing may prove unnecessary. The browser application provided to the user may be configured to accept conventional “plug-in” applications as known to those of skill in the art.


The IPS 20 ACD audiovisual serving devices also provide program material that may include computer applications programs. A number of computer applications such as word processors and spreadsheets would preferably reside on 20 an ACD. The present invention may also include computer applications that in turn play material at the request of a user, such as applications to play compact disks (CDs) or the like. However, the present invention is not intended to be limited to any particular type of computer application program. A user selection of an application would cause a title to be sent by the SMS 10, allocating an ACD to present the application to the user. Communications and the AV signals are relayed by the RCS 14 in a manner similar to other program material. In accordance with a preferred embodiment of the present invention, the computer applications and capabilities available for use by the user would be carefully selected to prevent unauthorized access into system files.


The RCS 14 is the third major component of the video distribution system, it facilitates the delivery of the program material from a particular audiovisual serving device in the programming system 12 to the user. Program material coming from the programming subsystem 12 is in the form of streams of audiovisual (AV) data typically including an audio component and a video component, although both are not required and more than one instance of an audio component and/or a video component may be present. Each of these streams of AV data is the output of a single audiovisual serving device, and is preferably connected to a unique RF modulator assigned to that audiovisual serving device and providing a television output signal on a selected RF frequency. Typically, the frequencies used are in the UHF portion of the television band, but any convenient frequency may be used including new HDTV allocated frequencies. This direct connection of an RF modulator to each audiovisual serving device removes the need for a crosspoint switch. The audiovisual serving device outputs are a set of AV signals each modulated to a selected TV channel of a particular RF frequency, combined and distributed to the monitors of the users over the RCS 14. Note that while this is an advantage of the present invention, there is no requirement that each audiovisual serving device be provided with an independent RF modulator for each output channel and a cross-point switch could still be used to connect a plurality of audiovisual serving devices with RF modulators.


The RCS 14 routes the modulated program material to the user and acts as a conduit for all direct communications with the user. The SMS 10 directs the RCS 14 where to route the signal. Typically, there will be numerous users using the system at a given time. The RCS 14 relays the communications between the various users and the various audiovisual serving devices in the programming subsystem 12, and relays the AV signals to the user's monitor, under the direction of the SMS 10. The program material is preferably modulated to a particular frequency range by RF modulators associated with the audiovisual serving device that provides the material, and distributed through a trunk distribution system to all rooms connected to the system. The RCS 14 tunes the user's monitor to the correct “channel” to view the program material from the correct audiovisual serving device. The RCS 14 preferably includes a remote control device 50, keyboard device 52 and gamepad 54 in the user's room. Communication signals between these devices and the audiovisual serving device are necessary in many contexts. In parallel with relaying the AV signal to the user's monitor, the RCS 14 relays the communication signals between these devices and the programming subsystem 12 in a conventional manner such as by modulating a signal onto a carrier inserted onto the coaxial (or other) distribution line coming into the user's room. The modulation technique can be any convenient scheme such as frequency shift keying (FSK), phase shift keying (PSK), frequency modulation (FM), packet, and the like. The distribution line can be a coaxial cable, a wireless distribution link, or other distribution link as would be known to those of ordinary skill in the art.


The menuing system can now be best understood within this context of providing program material to a user. The present invention treats presenting menus for the user, to select program material, as a special mode of presenting program material. This task is inherently interactive and is allocated to ACDs within the IPS 20 by the SMS 10. In accordance with a presently preferred embodiment of the present invention IBM-compatible personal computers (PC) are used as ACDs to generate menus for the user to select program material. This choice is not intended to be limiting, however. The same ACD audiovisual serving devices used to present menus, when otherwise available, may also be used to present other forms of IPS 20 program material to users.


The menuing system may be started by a request by the user, such as, but not limited to, pushing a dedicated button on the in-room remote control device 50. The SMS 10 then selects an available IPS 20 ACD audiovisual serving device and allocates it to the task of presenting menus to the user. This ACD communicates with the user while presenting the menus using the RCS 14. Preferably, the user will make a selection using a remote 50 or keyboard 52 in response to a GUI format menu displayed on the user's monitor. User inputs then will interactively step the user through viewing the list(s) of program material and allow the user to make a selection. A number of levels of menuing may be presented. The information for generating these menus, such as the currently available system resources, is maintained by the SMS 10 and is used by or passed to the ACD audiovisual serving device. The menus may be written in Hypertext Markup Language (HTML) or any other convenient way. The use of HTML makes the individual menus particularly easy to update and allow the menus to contain hypertext fields for dynamically changing menu data. The result of the menu selection process is a title, or other such identification, of the program material the user wishes to view. This title is then used to direct the programming subsystem 12 to present the user with the selected program material.


Referring to FIG. 2, a flow chart of the process 100 in accordance with a presently preferred embodiment of the present invention is shown. The presentation of a broadcast channel on the user's monitor 102 precedes the user indicating a desire to access the system 104. The SMS 10 allocates a programming subsystem 12 audiovisual serving device ACD to present the user with a set of menus 106 and removes that audiovisual serving device from a list of available audiovisual serving devices 120. The audiovisual serving device then presents the menus to the user 108, for the user to select program material 110 and passes the title of the program material to the SMS 10. The audiovisual serving device that provided the menu is then available for other tasks, and this is reflected in the updating of the list of available audiovisual serving devices 120. Based on the program material selected, the SMS 10 allocates an audiovisual serving device(s) to present the material to the user 112, and again updates the list of available audiovisual serving device 120. The audiovisual serving device presents the program material to the user 114 and creates a record of doing so 116. When the user has completed viewing the program material 118, the audiovisual serving device providing the material is made available for other tasks and this information is reflected in the list of available audiovisual serving devices. In each instance of updating the list of available audiovisual serving devices, a list of 10 available program material is contemporaneously updated.


While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art, after a perusal of this disclosure, that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.


Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.

Claims
  • 1. A method of presenting an audiovisual signal to a user's audiovisual display monitor comprising: receiving a command from the user;responding to the command by assigning an assignable computing device (ACD) to the user;establishing a communications link between the user's audiovisual display monitor and the ACD;presenting a menu containing a selection of video programs to the user's audiovisual display monitor with the ACD;selecting one of the video programs for display; androuting said selected video program to the user's audiovisual display monitor.
CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of application Ser. No. 09/223,875, entitled MENUING SYSTEM FOR CONTROLLING CONTENT DELIVERY WITHIN A VIDEO DISTRIBUTION SYSTEM, filed Dec. 31, 1998, and issued as U.S. Pat. No. 7,444,663 on Oct. 28, 2008.

Continuations (1)
Number Date Country
Parent 09223875 Dec 1998 US
Child 12259932 US