TECHNIQUES FOR CONTROLLING ACCESS TO WEB CONTENT INFORMATION AND TELEVISION CONTENT INFORMATION
USING USER MODES
CROSS-REFERENCES TO RELATED APPLICATIONS
This application claims priority from the following U.S. Provisional Patent Applications, the entire disclosures of which are herein incorporated by reference for all purposes:
(1) U.S. Provisional Patent Application No. 60/193,046, entitled "USER INTERFACE FOR INTERACTIVE TELEVISION WITH BROADBAND
CONNECTIVITY TO THE INTERNET," filed March 29, 2000; and
(2) U.S. Provisional Patent Application No. 60/ , , (Attorney Docket
No. 20492-000400US) entitled "TECHNIQUES FOR CONTROLLING ACCESS TO WEB CONTENT INFORMATION AND TELEVISION CONTENT INFORMATION" filed August 3, 2000.
The present application also incorporates by reference for all purposes the contents of U.S. Patent Application No. / , (Attorney Docket No. 20492-
000420US) entitled "TECHNIQUES FOR CONTROLLING ACCESS TO WEB CONTENT INFORMATION AND TELEVISION CONTENT INFORMATION USING USER MODES AND LEAST COMMON DENOMINATOR TECHNIQUES" filed concurrently with this application.
BACKGROUND OF THE INVENTION The present invention relates to systems for accessing Web content inforaiation and television content information, and more particularly to techniques for controlling a user's access to the Web and television content information.
Televisions and Internet technologies are beginning to converge. For example, the Internet is gaining television like qualities, such as the capability to play videos and music, and to broadcast live video feeds, and televisions are becoming more interactive like the Internet. In particular, access to the World Wide Web via Internet- enabled television systems is progressing and becoming more popular. Such television systems allow users to access both Web content information and television content
information from a single system. The content inforaiation may contain content which is offensive or inappropriate for viewing by certain viewers, e.g. children.
There is a need for an effective way to block offensive or inappropriate material from being viewed.
SUMMARY OF THE INVENTION The present invention provides techniques for controlling access to Web content and television content information using user modes. According to an embodiment of the present invention, a plurality of user modes for a system, such as an Internet-enabled television system, may be defined. Privileges may be associated with the user modes, wherein the privileges associated with a particular user mode control the television content and web content which can be accessed via the system when with the system is operating in the particular user mode. When the system is operating in the particular user mode, web or television content received by the system is output only if the privileges associated with the particular user mode allow access to the content. According to an embodiment of the present invention, a privilege associated with a user mode comprises at least one content descriptor identifying an attribute related to the content information and at least one access right associated with the content descriptor, the access right identifying the manner in which content information having the attribute specified by the content descriptor is accessed via the system operating in the user mode. The privileges may include television content privileges and web content privileges.
According to an embodiment of the present invention, a system is disclosed for viewing Web content information and television content information comprising a set-top box, an audio output device, and a video output device. According to this embodiment of the present invention, the set- top box is configured to store information related to a plurality of user modes for the system, where the information comprises privileges associated with the plurality of user modes. The privileges associated with a user mode indicate television content and web content which can be accessed via the system when the system is operating in that particular user mode. When the system is operating in a particular user mode, the set-top box is configured to receive content to be output via the system, and to output the content via the system operating if the privileges associated with the particular user mode allow access to the content.
Further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the attached drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 depicts a simplified diagram of a system for distributing Internet content and television content in which an embodiment of the present invention may be embodied;
Fig. 2 depicts a simplified block diagram of a client system according to an embodiment of the present invention;
Fig. 3 depicts a simplified block diagram of an exemplary set-top box according to an embodiment of the present invention;
Fig. 4 depicts an exemplary control device according to an embodiment of the present invention; Fig. 5 depicts an exemplary user interface displayed by display device according to an embodiment of the present invention;
Fig. 6 depicts a simplified flowchart depicting processing performed at power-on time for determining privileges to be associated with the "default" user mode according to an embodiment of the present invention; Fig. 7 is an illustrative user interface depicting various user modes defined for the client system according to an embodiment of the present invention; and
Fig. 8 depicts a simplified flowchart showing processing performed by a client system for providing content information to a user when the client system is operating in a particular "active" user mode according to an embodiment of the present invention.
DESCRIPTION OF THE SPECIFIC EMBODIMENTS The present invention provides techniques for controlling access to Web content and television content information. Fig. 1 depicts a simplified diagram of a system 100 for distributing Internet content and television content in which an embodiment of the present mvention may be embodied. In accordance with an embodiment of the present invention, system 100 is integrated with a cable TV distribution system. Such cable television distribution systems may include cable headends and are well known in the art.
As shown in Fig. 1, system 100 includes a communication network 102, a plurality of content sources 104, a plurality of distribution centers (depicted as headends or H/E) 106, and a plurality of client systems (depicted as CSs) 108. Communication network 102 provides a mechanism for distributing multimedia content from content sources 104 to distribution centers 106. Communication network 102 may itself be comprised of many networks, interconnected computer systems and communication links. While in one embodiment, communication network 102 is the Internet, in other embodiments, communication network 102 may be any suitable computer network. For purposes of describing the present invention, it will be assumed that communication network 102 is the Internet. Communications over Internet 102 are accomplished using standard protocols such as TCP/IP (transmission control protocol/internet protocol) and other protocols. System 100 depicted in Fig. 1 is merely illustrative of an embodiment incorporating the present invention and does not limit the scope of the invention as recited in the claims. One of ordinary skill in the art would recognize other variations, modifications, and alternatives.
As shown in Fig. 1, content sources 104 may be coupled to Internet 102. Additionally, content sources 104 may be coupled to a plurality of data feeds, servers, and information sources which in turn provide content information to content sources 104. For example, a content source 104 may received content information from data feeds 112, advertisement servers 114, image sources 116, streaming multimedia sources 118, including streaming audio and streaming video sources, and other like sources of content information. For example, news or stock quote feeds 112 may be fed into content source 104, servers 114 may provide advertisements for insertion into multimedia content delivered by content source 104, and sources 116/118 may provide images 116, streaming video 118, and other content to content source 104. Various other feeds, servers and sources may also be coupled to content source 104. Examples of content sources 104 include web site portals such as Go2Net.com, or news web sites such as CNN.com, and the like.
Content sources 104 may also be coupled directly to distribution centers 106 via communication links or communication networks 120. Communication links 120 may include may be hardwire links, optical links, satellite or other wireless communication links, wave propagation links, or any other mechanisms for communication of multimedia content information.
Distributions centers 106 may be coupled to Internet 102, and to content sources 120 via communication links 120. Each distribution center 106 may also be coupled to a plurality of client systems 108. A distribution center is configured to receive content information from content sources 104 and Internet 102, and to forward the content information to client systems 108. The content information forwarded to client systems 108 may include both Web content information and television content information. In a specific embodiment of the present invention, as shown in Fig. 1, distribution centers 106 comprise cable headends (H/Es).
Client systems 108 receive multimedia content, including Web content and television content, from distribution centers 106 and output the content to a user of client system 108. One or more client systems 108 may be coupled to a distribution center 106. Fig. 2 depicts a simplified block diagram of a client system 108 according to an embodiment of the present invention. As shown, client system 108 comprises a processing unit 130 coupled to an output device 132 via communication link 142, and a control device 138 coupled to processing unit 130 via a communication link 140.
Output device 132 is configured to output multimedia content information to the user of client system 108. Examples, of an output device include a television, a computer, or other like device. In a preferred embodiment of the present invention, output device 132 is a broadband Internet-enabled television system. Output device 132 may include an audio output device 134 for outputtmg audio information to the user and a display device 136 for outputtmg video, image, and text information to the user. Display device 136 may be a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), a projection device, or any other device suitable for outputting visual information, including streaming video, images, and text, to the user. Audio output device 134 may be a speaker, or any other device suitable for outputting audio information embedded in the Web content and television content received from distribution center 106 to the user. Although, Fig. 2 depicts an output device in which display device 136 and audio output device 134 are integrated into one output device 132, in alternate embodiments of the present invention the display device and the audio output device may be embodied in separate devices.
Control device 138 may be used by the user to control the functionality of client system 108. Control device 138 communicates with processing unit 130 via communication link 140 which is generally an infrared (IR) communication link. However, in alternate embodiments of the present mvention, communication link 140
may also be a hardwire link, an optical link, or any other means for communicating information from control device 138 to processing unit 130. Control device 138 may be embodied as a television remote control device, a keyboard, a mouse, or any other device which allows a user to input information to client system 108. Fig. 4 depicts an exemplary control device 150 according to an embodiment of the present mvention. Control device 150 may be used to control the functionality of client system 108. As shown, control device 150 has the general appearance of a common, hand-held remote comprising a plurality of buttons to control the functions of client system 108.
Referring back to Fig. 2, according to an embodiment of the present invention, processing unit 130 is generally a set-top box (hereinafter processing unit 130 will be referred to as set-top box 130) which includes hardware and software to receive multimedia content information, including Web content and television content, from distribution centers 106 and to output the multimedia content to the user via output device 132. Set-top box 130 also performs functions allowing the user to control the manner in which the multimedia content is downloaded to client system 108 and presented to the user. According to the teachings of the present invention, set-top box 130 includes components and modules which regulate a user's access to Web and television content output by set-top box 130. Set-top box 130 is coupled to output device 132 via communication link 142. Communication link 142 may include a video channel for communicating video information from set-top box 130 to output device 132 and an audio channel for communicating audio information from set-top box 130 to output device 132.
Fig. 3 is a simplified block diagram of an exemplary set-top box 130 according to an embodiment of the present invention. Set-top box 130 typically includes at least one processor 162 which communicates with a number of peripheral devices via a bus subsystem 160. These peripheral devices may include a storage subsystem 164, comprising a memory subsystem 166 and a file storage subsystem 172, a video subsystem 178, an audio subsystem 176, a distribution center interface subsystem 174, and a control device interface subsystem 180. Distribution interface subsystem 174 provides an interface for receiving multimedia content information from distribution center 106. The multimedia content is then processed and forwarded to display device 136 and/or to audio output device 134 for output to the user. Control device interface subsystem 180 detects signals received from
control device 138 and provides instructions/information encapsulated in the signals to processor 162 for further processing.
Audio subsystem 176 is responsible for processing audio content received from distribution center 106, and transmitting the processed audio signals to audio output device 134 for output to the user. Likewise, video subsystem 178 is responsible for processing video content received from distribution center 106, and transmitting the processed video signals to display device 136 for output to the user.
Storage subsystem 164 stores the basic programming modules and data constructs that provide the functionality of the various systems embodying the present mvention. For example, databases and modules implementing the functionality to regulate access to Web and television content according to the teachings of the present invention may be stored in storage subsystem 164. These software modules are generally executed by processor 162. Storage subsystem 164 may comprise memory subsystem 166 and file storage subsystem 172. Memory subsystem 166 typically includes a number of memories including a main random access memory (RAM) 170 for storage of instructions and data during program execution and a read only memory (ROM) 168 in which fixed instructions are stored. File storage subsystem 172 provides persistent (non- volatile) storage for program and data files, and may include a hard disk drive, a floppy disk drive along with associated removable media, a Compact Digital Read Only Memory (CD- ROM) drive, an optical drive, or removable media cartridges. The databases and modules implementing the functionality of the present invention may also be stored by file storage subsystem 172.
Bus subsystem 160 provides a mechanism for letting the various components and subsystems of set-top box 130 communicate with each other as intended. Although bus subsystem 160 is shown schematically as a single bus, alternate embodiments of the bus subsystem may utilize multiple buses. Further, in alternate embodiments of the present invention, the various components of set-top box 130 may be directly coupled to processor 162. Due to the ever-changing nature of processing units 130, the description of set-top box 130 depicted in Fig. 3 is intended only as a specific example for purposes of illustrating the preferred embodiment of the present invention. Many other configurations of processing unit 130 are possible having more or less components than the processing unit 130 depicted in Fig. 3.
The present invention regulates a user's access to Web and television content information accessed by the user via client system 108. According to an embodiment of the present invention, access is regulated by providing one or more user modes of operation of client system 108. Each user mode defines a level of access to the Web or television content information. Each user mode is generally characterized by a user identification code, which is used to identify the user mode, and a set of privileges associated with the user mode. For example, a user of client system 108 may log into client system 108 in a particular user mode and the privileges associated with the particular user mode define the Web or television content which can be accessed by the user and the manner in which the user interacts with client system 108. In a specific embodiment of the present invention, information related to the various user modes is stored by set-top box 130. In alternate embodiments of the present invention, the information may be stored by other components of the present invention depicted in Fig. 1, and this information may be downloaded to client system 108 when needed. As previously stated, the user identification code is used to identify a particular user mode. The user identification code may be a string such as "Bob." The user identification code corresponding to the "active" user mode is typically displayed by display device 136. The "active" user mode is the user mode whose settings are presently used by client system 108 to display Web and/or television content to the user. For example, Fig. 5 depicts a user interface 160 displayed by display device 136. As shown in Fig. 5, the "active" user mode is identified by an identifier "Bob234" 162 which is displayed in user interface 160. A user mode may be defined for the various users of client system 108. For example, for a family comprising parents, a teenager, and a young child, a first user mode "PARENTS" may be defined for the parents, a second user mode "TEENAGER" may be defined for the teenager, and a third user mode "CHILD" may be defined for the child.
According to an embodiment of the present invention, each privilege associated with a user mode comprises a content descriptor and at least one access right associated with the content descriptor. Accordingly, privileges associated with a user mode may comprise one or more content descriptors and access rights associated with the content descriptors. Other techniques, besides content descriptors and access rights, may also be used to specify privileges in alternate embodiments of the present invention.
The content descriptors may identify or relate to various attributes of the content, including content descriptors which relate to Web content (called "Web content
descriptors") and to television content (called "television content descriptors"). For example, Web content descriptors may specify a web site name, a domain name, a Uniform Resource Locator (URL), web page content, and the like. Television content descriptors may specify a television channel number, a channel name, a television program name, television programs having a specific censorsliip rating, programs of a particular category or type e.g. comedy program, sports programs, a name of an actor/actress, and the like.
The access rights regulate the manner in which Web or television content identified by the content descriptor may be accessed by a user using client system 108 when the client system is operating in a user mode corresponding to the privileges. According to the present invention, one or more access rights may be associated with each content descriptor. The access rights determine the manner in which content identified/characterized by the content descriptor may be accessed by a user when client system 108 is operating in a user mode with which the privileges are associated. The access rights may specify whether or not content identified by the content descriptor may be accessed by the user, a time constraint on the access, and various other conditions which may be associated with the content descriptors.
Table 1 lists examples of Web and television content related privileges which may be defined for an exemplary user mode identified by user code identifier "CHILD" according to an embodiment of the present invention. As shown, each privilege is defined by a content descriptor and an access right associated with the content descriptor.
Table 1 : Privileges associated with user mode "CHILD"
As shown in Table 1, the eight privileges associated with user mode "CHILD" include four television content descriptors and their associated access rights and four web content descriptors and their associated access rights. Accordingly, when client system 108 operates in "CHILD" user mode, the Web and/or television content accessible in "CHILD" mode will be regulated based on the privileges information shown in Table 1.
For example, the first television privilege includes a content descriptor which specifies a channel number and access rights associated with the channel number. Accordingly, television privilege (1) shown in Table 1 indicates that Channel 24 cannot be accessed in the "CHILD" user mode. The second and third television privileges include content descriptors which specify a channel name and access rights associated with the channel name. Accordingly, television privilege (2) shown in Table 1 indicates that the Playboy Channel cannot be accessed in the "CHILD" user mode. The access right of television privilege (3) imposes a time constraint on the content descriptor. Accordingly, television privilege (3) indicates that access to the Cartoon Channel is restricted to a maximum of one hour per day. The fourth television privilege includes a content descriptor which specifies a type of television program e.g. programs which are rated "R," and access rights associated with the program type. Accordingly, television privilege (4) shown in Table 1 indicates that "R" rated television programs cannot be accessed in the "CHILD" user mode.
The first Web privilege includes a content descriptor which specifies a URL and access rights associated with the URL. Accordingly, Web privilege (1) shown in Table 1 indicates that the URL "www.playboy.com" cannot be accessed in the "CHILD" user mode. The second Web privilege includes a content descriptor identifying content of Web pages which may be accessed by client system 108 and access rights associated with the Web pages. Accordingly, Web privilege (2) shown in Table 1 indicates that any Web page containing the words "sex" or "violence" 24 cannot be accessed in the "CHILD" user mode. The third Web privilege includes a content descriptor which specifies a particular category of web sites (e.g. web sites related to games) and time constraint access rights associated with those web sites. Accordingly, Web privilege (3) shown in Table 1 indicates that access to web sites related to games is allowed only on Saturdays and Sundays in the "CHILD" user mode. The fourth Web
privilege includes a content descriptor which specifies a type of action which may be performed by the user of client system 108 and access rights regulating the action. Accordingly, Web privilege (4) shown in Table 1 indicates that the ability to conduct commercial transactions via the Web is disabled in "CHILD" user mode. It should be apparent that the examples listed in Table 1 are not intended to limit the scope of the present invention as recited in the claims. Various other privileges, including various content descriptors and access rights, may also be used in conjunction with the present invention.
As previously stated, a plurality of user modes may be defined for each client system 108. A "special" user mode, for example, the "ADMLNISTRATOR" user mode, allows addition of new user modes, deletion or existing user modes, and modification of existing user modes. Privileges associated with a particular user mode may also be edited when the client system is operating in the "special" user mode.
According to the teachings of the present invention, when client system 108 is powered on, the client system may be configured to operate in a "default" mode, i the "default" mode, the accessible content, including Web content and television content, is restricted to content which may be accessed by all the other user modes defined for the particular client system. According to an embodiment, the present invention determines a "permission space" for each user mode based on privileges associated with the permission mode. The permission space for a user mode defines the content which is accessible to the user of client system 108 in that user mode. The present invention then determines a permission space for the default mode such the permission space for the default mode is the intersection of the permission spaces for all the user modes defined for the particular client system. The default permission space represents the least common denominator of privileges or the most restrictive privileges for the client system.
By providing a "default" user mode the present invention allows users of client system 108 to access television or Web content without having to specifically login in a particular user mode after powering on client system 108, while ensuring that only content which may be accessed in all user modes is made accessible in the "default" user mode. This is particularly useful where the users of client system 108 are members of a family, and a user mode, e.g. the "CHILD" user mode, has been defined for children in the family. The "default" mode according to the present invention ensures that if the
children power on client system 108, they can cannot access content which is at least not permitted by the "CHILD" user mode.
Fig. 6 depicts a simplified flowchart 170 depicting processing performed by an embodiment of the present invention at power-on time for determining privileges to be associated with the "default" user mode. In an embodiment of the present mvention, the processing is performed by software modules/programs stored by set-top box 130 and executed by processor 162 of set-top box 130. As shown in Fig. 6, processing is initiated when client system 108 is powered on (step 172). The present invention then determines the "permission space" for each user mode associated with client system 108 (step 174). The permission space for a particular user mode represents the content, including Web content and television content, and the manner in which the content may be accessed by a user of client system 108 in that particular user mode, and is based on the privileges associated with that particular user mode. The present invention then determines the permission space for the default user mode (step 176). The present invention accomplishes this by determining a permission space which is the intersection of the permission spaces determined in step 174. The "intersection" permission space is associated with the default user mode. Accordingly, upon power-on, the content, and the manner in which the content may be accessed by a user of client system 108 operating in default mode is defined by the default permission space determined in step 176. The processing performed by an embodiment of the present mvention in flowchart 170 may be illustrated using the following example. Assume that two user modes have been defined for client system 108, namely, user mode "CHILD" and user mode "TEENAGER." Table 1 (shown above) represents privileges associated with user mode "CHILD" and Table 2 (shown below) represents privileges associated with user mode "TEENAGER"
Table 2: Privileges associated with user mode "TEENAGER"
According to the privileges specified in Table 2, in the "TEENAGER" user mode, Channel 24 may be accessed only on Sunday, the Playboy Channel cannot be accessed, the Sports Channel can be accessed for a maximum of one hour per day, URL "www.playboy.com" cannot be accessed, and no commercial transactions over $10 can be entered into using client system 108.
According to step 174 in Fig. 6, an embodiment of the present invention determines permission spaces for the "CHILD" user mode and the "TEENAGER" user mode based on the privileges specified in Tables 1 and 2. Then according to step 176 in Fig. 6, the present invention determines the default user mode permission space by taking an intersection of the permission spaces for "CHILD" and "TEENAGER." In order to determine the intersection, according to an embodiment, the present invention may determine privileges to be associated with the default user mode based on privileges of user modes "CHILD" and "TEENAGER." Privileges determined by an embodiment of the present invention for the default user mode are shown in Table 3.
Table 3: Privileges determined for the default user mode
As shown in Table 3, the privileges associated with the default user mode represent the most restrictive combination of privileges associated with the "CHILD" and "TEENAGER" user modes. When more than one access right is associated with a content descriptor, in order to determine the privilege for the default user mode, the present invention selects the most restrictive access right associated with the content
descriptor. For example, in the default user mode, no access is allowed for content descriptor "Channel 4," since the "No access" access right associated with the "CHILD" user mode is more restrictive than the "Access allowed only on Sunday" access right associated with the "TEENAGER" user mode. Likewise, in the default user mode, the ability to perform commercial transactions is disabled. The privileges as specified in Table 3 are then associated with the default user mode. The content which may be accessed by a user of client system 108 in the default user mode is thus regulated by the privileges specified in Table 3.
After client system 108 has powered on in the default user mode, the user of client system 108 has the option to switch to one of the other user modes defined for the client system. In a specific embodiment, the user interface displayed by display device 136 provides information about the various user modes defined for that client system. Fig. 7 is an illustrative user interface 180 according to an embodiment of the present invention which depicts the various user modes defined for the client system. Fig. 7 depicts six user modes 182-a through 182-e. User mode "manage users" 182-e is a special user mode which is privileged to perform functions such as adding new users modes, deleting existing user modes, editing privileges associated with the user modes, and other like functions. "Settings" option 184 allows a user to view privileges associated with the present or "active" user mode. The user may select a particular user mode using an input device such as control device 138. Upon selecting a user mode, the user may be prompted to enter a password associated with the user mode. Upon successful validation of the password, client system 108 switches from the present user mode to the user mode selected by the user. Fig. 8 depicts a simplified flowchart 190 showing processing performed by client system 108 for providing content information to a user when the client system is operating in a particular "active" user mode. In a specific embodiment of the present mvention, processing shown in Fig. 8 is performed by set-top box 130. In alternate embodiments of the present invention, the processing may be performed by other components of the system depicted in Fig. 1. As shown in Fig. 8, processing is generally initiated when set-top box 130 receives content information from distribution center 106 to be output to the user, or when set-top box 130 receives a request from the user to access user-specified content (step 192). For example, the user may request that a web page corresponding to a user-specified URL be displayed to the user.
Set-top box 130 then determines if the type of the content information or user request (step 194). If the content/request is related to television content, set-top box 130 then determines the permission space for the present user mode based on television content privileges associated with the present active user mode (step 196). Set-top box 130 then determines if the television content received from distribution center 106 or content requested by the user falls within the television content permission space determined in step 196 i.e. if the user is permitted to access the television content in the present user mode (step 200). If the television content falls within the television content permission space determined in step 196, then the user is allowed access to the content information (step 204). Else, the user is denied access to the content (step 206). In a specific embodiment of the present invention, reasons as to why the user was denied access to the content may be presented to the user (step 208).
If the content/request is related to Web content, set-top box 130 then determines the permission space for the present user mode based on Web content privileges associated with the present active user mode (step 198). Set-top box 130 then determines if the Web content received from distribution center 106 or content requested by the user falls within the Web content permission space determined in step 198 i.e. if the user is permitted to access the Web content in the present user mode (step 202). If the Web content falls within the Web content permission space determined in step 198, then the user is allowed access to the content information (step 204). Else, the user is denied access to the content (step 206). In a specific embodiment of the present invention, reasons as to why the user was denied access to the content may be presented to the user (step 208). In this manner, Web and/or television content information is provided to the user based on privileges associated with the user mode in which client system 108 operates.
Although specific embodiments of the invention have been described, various modifications, alterations, alternative constructions, and equivalents are also encompassed within the scope of the invention. The described invention is not restricted to operation within certain specific data processing environments, but is free to operate within a plurality of data processing environments. Additionally, although the present invention has been described using a particular series of transactions and steps, it should be apparent to those skilled in the art that the scope of the present invention is not limited to the described series of transactions and steps.
Further, while the present invention has been described using a particular combination of hardware and software, it should be recognized that other combinations of hardware and software are also within the scope of the present invention. The present invention may be implemented only in hardware or only in software or using combinations thereof.
The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, deletions, and other modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.