Abstract:
A method of encrypting digital content, the method is executed by at least one data processor and comprises selecting one or more segments of said digital content, duplicating said selected segment or segments, creating a plurality of copies of each segment and performing different encryption on said different copies.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]    This application is related to and claims priority from U.S. Provisional Patent Application No. 60/283,949, filed Apr. 17, 2001, the contents of which are hereby incorporated herein by reference in their entirety. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention relates generally to the field of digital copyright protection and digital content encryption. More specifically, the present invention deals with personalized encryption of digital content in an un-trusted environment.  
         BACKGROUND OF THE INVENTION  
         [0003]    Illegal copying and distribution of digital content is prevalent in recent years, especially using the Internet. This illegal copying and distribution is an infringement of copyright protection laws and cause financial damages to tie rightful owners of the content. It is therefore of great interest to find methods that would stop or at least reduces illegal copying and distribution of digital content without offending rightful usage.  
           [0004]    Methods for usage rights enforcement of digital media, digital rights management (DRM) and content protection are known. One of the most powerful building blocks in this respect is content encryption, where each of the copies of a given content is encrypted with a unique key and the keys are securely sent to rightful user. Using these methods, digital right management can be achieved by proper key management.  
           [0005]    Other methods for digital rights management require that unique digital watermarks be embedded into each copy of the data at the data source, allowing for distribution of the data to be monitored for any unauthorized distribution. Embedding watermark into the media, in a manner that will not reduce tie quality of the media and yet will be robust to both malicious and non-malicious attacks requires the use of massive computational resources, such as CPU time and computer memory. If each copy of the media needs to be embedded with a different watermark, the amount of computational resources needed for the implementation of a large-scale distribution-system may become excessively large. U.S. patent application Ser. No. 09/772,518 filed Nov. 28, 2000 and PCT Patent Application No. IL01/00923, filed Oct. 3rd, 2001, describe a method for efficient on-line, real-time watermarking of video and/or audio and/or other digital content. The method, dubbed “watermark by selection”, is based on first selecting salient fractions of the content, whose removal will greatly reduce the quality of the content, then dividing each of the fragments to several segments. Each segment is then replicated N times, and each copy is marked with a different mark. Each replicated segment is viewed as an “alphabetic symbols”. On-line, real-time watermarking is based on first encoding the desired message using the above alphabetic symbols, and then, selection between alternative copies that correspond to the said symbols in order to produce the analog of the desired sequence of symbols.  
           [0006]    In many cases, the content should be stored (e.g., in a proxy server, streaming server or a content distribution network) before it is distributed to the final user. Such servers or networks may not posses an adequate level of security and therefore may not be trustworthy. In such cases, the content should not reside unencrypted while stored in these servers. If one is going to employ key management for digital rights management, then it is required to send a content P that is encrypted with one key, Ks, {E Ks (P)}, to multiple users, U l , . . . U N , such that each users will posses a special key, K 1 , . . . K N . Using current methods, one should either first decrypt die content using the key K S  and then re-encrypt the content using one of the keys K 1 , . . . K N , {C i =E Ki (D Ks (P))} or else encrypt the encrypted context, E Ks (P), with the key K i  and send the doubly-encrypted content, {C is =E Ki (E Ks (P))}, together with the two keys, K S  and K i , to the final user. The first method renders the content unencrypted before it is re-encrypted, while the second method supplies the final user the key K S , which the user can thereafter send back to storage server. Furthermore, both methods require another encryption, which requires costly computational resources.  
           [0007]    There is thus a recognized need for, and it would be highly advantageous to have, a method and system that allow personalized encryption of previously encrypted digital content, which will overcome the drawbacks of current methods as described above.  
         SUMMARY OF THE INVENTION  
         [0008]    The present invention seeks to provide a novel method for efficient on-line, real-time personalized encryption of digital content (e.g., video, audio, e-book, executable code etc.), that overcomes the drawbacks of methods that are based on re-encryption or double encryption described above. The method is based on first selecting at least one salient fraction of the content, whose removal will greatly reduce the quality of the content, and then dividing each of the fractions to several segments. Each segment S j  is then replicated to N copies, S j,l , . . . S j,N , and each copy is encrypted with a special key, K j,n , n=1 . . . N and is stored using a digital storage device. Each encrypted segment is regarded as an “alphabetic symbols” of an N-letter alphabet. A personalized subset of keys, called a “meta-key” K i  is based on a unique message M i , that may corresponds to the details of the user. The message is first encoded using the above alphabetic symbols. Encrypted copy is produced by selecting between alternative copies in order to produce the desired sequence of symbols and sending the resulted sequence to the user. The personalized meta-key, K i , is the subset of keys, {K jn } that were used for the encryption of the said selected segments. The meta-key can be sent to the final user using a secure channel. If each of the copies is also marked with a special steganogram that preferably cannot be perceived by human but can be detected by the embedded, then the personalized encrypted content also contain personalized watermark, or steganograms, as described in U.S. patent application Ser. No. 09/772,538, filed Nov. 28, 2000 and PCT Patent Application No. IL01/00923, filed Oct. 3rd, 2001. In this case, even if the user cooperates with the storage system in order to compromise the keys, the content that can be decrypted necessarily contain a personalized watermark, or a “fingerprint”, that can be used for forensic and breach analysis.  
           [0009]    According to a first aspect of the present invention there is provided a method of encrypting digital content using at least one data processor and comprising:  
           [0010]    Selecting at least one segment of the digital content;  
           [0011]    Duplicating the at least one selected segment or segments, thereby creating a plurality of copies of each segment;  
           [0012]    Performing different encryption on the plurality of copies.  
           [0013]    In a preferred embodiment of the present invention, the different encryption comprises using different encryption keys for the plurality of copies.  
           [0014]    In a preferred embodiment of the present invention, the method additionally comprises altering the plurality of copies after performing the selection and before performing the encryption.  
           [0015]    In a preferred embodiment of the present invention, the altering the plurality of copies comprises performing different alterations on the different copies.  
           [0016]    In a preferred embodiment of the present invention, the performing different alterations on the plurality of copies comprises watermarking the different copies and embedding different information in the plurality of copies.  
           [0017]    In a preferred embodiment of the present invention, the watermarking and embedding different information in the plurality of copies comprises embedding information operable to be correlated to an identity of the recipient of the content.  
           [0018]    In a preferred embodiment of the present invention, the distribution of the digital content comprises combining at least several of the copies of different segments and distributing the result of the combination and the copies are selected to be included in the combination so that the information stored in them is operable, when combined, to represent additional information operable to be correlated to an identity of a recipient of the digital content.  
           [0019]    In a preferred embodiment of the present invention, there remains a portion of the digital content that was not selected in the selection of at least one segment of the digital content and the method additionally comprises selecting a subset of the encrypted copies, the subset being sufficient to reconstruct the digital content when decrypted and used together with the portion.  
           [0020]    In a preferred embodiment of the present invention, the distribution of the digital content comprises combining the subset and the portion and distributing the product of the combining.  
           [0021]    In a preferred embodiment of the present invention, the combining is performed by insertion of the segment in the subset into their original location in the portion.  
           [0022]    In a preferred embodiment of the present invention, the distribution of the digital content comprises distributing the subset in an order that is different from the original order of the segments in the subset.  
           [0023]    In a preferred embodiment of the present invention, the method additionally comprises selecting a subset of the encrypted copies, the subset selected for distribution and is sufficient when decrypted to be used to reconstruct the digital content.  
           [0024]    In a preferred embodiment of the present invention, the distribution of the digital content comprises combining the subset and distributing the product of the combining.  
           [0025]    In a preferred embodiment of the present invention, the distribution of the digital content comprises distributing the subset in an order that is different from the original order of the segments in the subset.  
           [0026]    According to a second aspect of the present invention there is provided  
           [0027]    a system for encrypting digital content comprising at least one data processor and designed and configured for:  
           [0028]    Selecting at least one segment of the digital content;  
           [0029]    Duplicating the at least one selected segment or segments, thereby creating a plurality of copies of each segment;  
           [0030]    Performing different encryption on the plurality of copies.  
           [0031]    In a preferred embodiment of the present invention, the system is additionally designed and configured for altering the plurality of copies after performing the selection and before performing the encryption.  
           [0032]    In a preferred embodiment of the present invention, the altering the plurality of copies comprises performing different alterations on the plurality of copies.  
           [0033]    In a preferred embodiment of the present invention, the performing different alterations on the plurality of copies comprises watermarking the plurality of copies and embedding different information in the plurality of copies.  
           [0034]    In a preferred embodiment of the present invention, the watermarking and embedding different information in the plurality of copies comprises embedding information operable to be correlated to an identity.  
           [0035]    In a preferred embodiment of the present invention, the identity is the identity of the recipient of the content.  
           [0036]    In a preferred embodiment of the present invention, the distribution of the digital content comprises combining at least several of the copies of different segments and distributing the result of the combination and the copies are selected to be included in the combination so that the information stored in them is operable, when combined, to represent additional information operable to be correlated to an identity of a recipient of the digital content.  
           [0037]    In a preferred embodiment of the present invention, the different encryption comprises using different encryption keys for the plurality of copies.  
           [0038]    The present invention successfully addresses the shortcomings of the presently known method by providing a method and system for personalized encryption in a untrusted environment.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0039]    The invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.  
         [0040]    In the drawings:  
         [0041]    [0041]FIG. 1 is a flowchart showing the sequence steps for pre-encryption of set of data segment, constructed and operative in accordance with a preferred embodiment of the present invention;  
         [0042]    [0042]FIG. 2 is an illustration of the preparation of a set of data segments for encryption according to the method described in FIG. 1;  
         [0043]    [0043]FIG. 3 is an illustration of is a simplified flow-chart describing the on-line encryption using personalized meta-keys, constructed and operative in accordance with a preferred embodiment of the present invention;  
         [0044]    [0044]FIG. 4 illustrates a distribution system for distributing an encrypted digital content, constructed and operative in accordance with a preferred embodiment of the present invention;  
         [0045]    [0045]FIG. 5 is a flowchart showing the sequence steps for marking and pre-encryption of a set of data segments, constructed and operative in accordance with a preferred embodiment of the present invention, and  
         [0046]    [0046]FIG. 6 is an illustration of the preparation of a set of data segments for marking and encryption, according to the method described in FIG. 5; 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0047]    The present invention seeks to provide a system and a method for on-line, real-time personalized encryption of digital content (e.g., video, audio, e-book, executable code etc.). The invention may be used as part of an on-line, real-time content distribution system, e.g. a video or audio on demand system operating over the Internet or some other network.  
         [0048]    Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.  
         [0049]    In a preferred embodiment of the present invention, the encryption method is based on first selecting, either manually or automatically, at least one salient fraction of the content, whose removal will greatly reduce the quality of the content, and then dividing each of the fractions to several segments. Each segment S j  is then replicated to N copies, S j,l , . . . S j,N , and each copy is encrypted with a special key, K j,n , n=1 . . . N. Each encrypted segment and each of the corresponding keys are regarded as a logical symbol of a N-letter alphabet. For example, a set associated with the various copies of the data segments may contain logical symbols “A”,“B” and “C,”. All the sets of pre-encrypted data segments are referred to as a library. A personalized subset of keys, referred to as “Meta-key” K i  is produced based on a unique message M i ; that may corresponds to the details of the user. The message is first encoded using the above alphabetic symbols. Encrypted personalized copy is produced by selecting between alternative copies in order to produce the desired sequence of symbols. The personalized meta-key, K i , is the subset of keys. {K jn } that were used for the encryption of the selected segments. For example, within a multimedia data stream for an authorized user whose unique meta-key is “BAAC,” the first data segment within the salient fraction would be replaced with one of its encrypted copies that corresponds to the symbol “B,” the second segment would be replaced with one of its encrypted copies that corresponds to the symbol “A,” the third segment would be replaced with one of its encrypted copies that corresponds to the symbol “A,” and the fourth would be replaced with one of its encrypted copies that corresponds to the symbol “C.” The meta-key is preferably sent to the final user using a secure channel for decryption. If each of the copies is also marked with a special steganogram that cannot be perceived by human but can be detected by the embedded, then the personalized encrypted content may also contain personalized watermarks, or steganograms. In this case, even if the user cooperates with the storage system in order to compromise the keys, the content that can be decrypted necessarily contain a personalized watermark that can be used for forensic and breach analysis.  
         [0050]    In a preferred embodiment of the present invention, the encryption of the various copies, which may be computationally demanding, is performed offline, in a batch mode, and the on-line personalized encryption requires only to select various encrypted copies to be sent to the final user, thereby saving computational resources.  
         [0051]    With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes or illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the at least two forms of the invention may be embodied in practice.  
         [0052]    Turning now to FIG. 1, there is shown a block diagram of the steps for compiling each of the sets of replacement pre-encrypted data segments. These steps are usually performed “off-line”, where “off-line” means prior to the beginning of the distribution of the content over a network. Step (a)  110  is the “pre-selection of salient fragments” from the digital content, to be encrypted at some point in the future. The salient fraction is selected such that its removal from the content would cause a noticeable change or distortion in the content. Step (b)  120  is the “Pre-selection of segments in each fragment.” Each fragment may be partitioned into several segments of varying length. The number of segments to be selected in each fragment is related to the number of symbols that are being used for the construction of a “meta-key”. If, for example, the personalized meta-key is a ten character/symbol string (e.g. “kjhdfiuh 23 ”), at least ten segments would be required. If the number of symbols in the personalized meta-key is not known in advance, the fragment may be partitioned into a number of segments sufficiently high to suit most contingencies, e.g. one hundred segments. These segments are preferably removed from the original content at stage (c)  130 . For each segment selected, as part of step (d)  140 , there are created a number of copies (n), where the number of copies (n) is at least as large as the size of the alphabet of unique symbols which may comprise the personalized key. For example, if the possible alphabet of symbols is [A, B, C, D and E], at least five copies of the data segment are made. As part of step (e)  150 , each copy of the data segment is encrypted with a unique encryption key, corresponding to one of the symbols in the alphabet. Methods for encryption of digital content are well known, and any one of the known and not yet known methods may be used as part of the present embodiments. The encrypted copies are thereafter stored using any digital storage device (step (f),  160 ).  
         [0053]    Turning now to FIG. 2, there is illustrated a pre-encryption system constructed and operative in accordance with a preferred embodiment of the present invention. In FIG. 2. a , a digital data stream or file  200 , representing some digital content enters the systems and predetermined fragments A  210 , B  212  and C  214  of the stream  200  are removed from the original content and selected for encryption. Each of the fragments is sub-divided into several segments. E.g., fragment B is sub-divided into segments B 1   222 , B 2   224 , and B 3   226 . The total number of segments in all the fragments is an upper bound for the length of the meta-key. In one embodiment of the present invention, each of the segments is thereafter replicated n times (n determines the size of the meta-key “alphabet”). In another embodiment of the present invention, each segment is replicated a different numbers of tires (i.e. have a “different alphabet”), this may be due to different saliency or size of the different segments, etc. In FIG. 2. b , n=3 and B 1  is replicated 3 times to B 1 . 1   242 , B 1 . 2   244  and B 1 . 3   246 . The key management system  250  produces individual encryption keys for each copy of each segment. Each copy of each segment is thereafter encrypted with the corresponding key, (encryption can be done using any known or as yet unknown encryption method, without substantially effecting any aspect of the present invention). In FIG. 2. b , B 1 . 1  is encrypted using K(B 1 . 1 ) to produce the ciphertext E(B 1 . 1 )  252 . B 1 . 2  is encrypted using K(B 1 . 2 ) to produce the ciphertext E(B 1 . 2 )  254 , and B 1 . 3  is encrypted using K(B 1 . 3 ) to produce the ciphertext E(B 1 . 3 )  256 . The content, from which the original segments have been removed, together with the set of pre-encrypted copies of the segments, can thereafter be stored even in an un-trusted environment.  
         [0054]    [0054]FIG. 3 describes the on-line personalized encryption: at stage (a)  310  the desired meta-key is encoded in terms of the n-symbol alphabet. At stage (b)  320 , a sequence of preencrypted copies is selected in accordance with the encoded meta-key. At stage (c)  330 , the selected sequence of the s pre-encrypted copies is inserted back into the content (from which the “plaintext” of the corresponding segments was removed). At stage (d)  340 , the resulting content is sent to the user, together with the user personalized meta-key, K i , which is the subset of keys, {K jn } that were used for the encryption can be sent to the final user, using a secure channel, for decryption of the segments.  
         [0055]    [0055]FIG. 4, illustrates a system for on line, personalized encryption of digital content, constructed and operative in accordance with a preferred embodiment of the present invention. In the system of FIG. 4, the user  410  is sending a request  412  to the ticket/key management system  420 . The system sends a user specific meta-key  426  (i.e., the subset of keys that were used for the encryption) to the user  410 , preferably using a secure channel. The ticket/key management system  420  also sends the description of the meta-key  424  to the segments selector  430  of the storing/encryption system  400 . The selection subsystem then selects copies of pre-encrypted data segments from the storage  450 . These copies are then inserted into their place in the data-stream ( 442 ,  444 ,  446 ). The data stream is thereafter sent to the user  410 , who uses the keys contained in the meta-key  426  in order to decrypt the content.  
         [0056]    In a preferred embodiment of the present invention each of the said copies is also marked with a unique steganogram or a watermark, that preferably cannot be perceived by human but can be detected by the embedder. In this case, while selecting a certain encrypted copy from each segment, the resulted sequence comprise a personalized encrypted content that also contain personalized watermark, or steganogram, which can be used for forensic and breach analysis, as described in U.S. patent application Ser. No. 09/772,538, filed Nov. 28, 2000 and PCT patent application No. IL01/00923, filed Oct. 3rd, 2001, the contents of which are hereby incorporated by reference. In this case, even if the user cooperates with the storage system in order to compromise the keys, the content that can be decrypted necessarily contains a personalized watermark that can be used for forensic purposes.  
         [0057]    In another preferred embodiment of the present invention, metadata is similarly inserted into the content.  
         [0058]    [0058]FIG. 5 is a flow-chart showing the sequence steps for marking and pre-encryption of a set of data segments, constructed and operative in accordance with a preferred embodiment of the present invention. Step (a)  510  is the “pre-selection of salient fragments” from the digital content, to be encrypted at some point in the future. The salient fraction is selected such that its removal from the content would cause a noticeable change or distortion in the content. Step (b)  520  is the “Pre-selection of segments in each fragment.” Each fragment may be partitioned into several segments of varying length. The number of segments to be selected in each fragment is related to the number of symbols that are being used for the construction of a “meta-key”. At stage (c)  530  these segments are removed from the original content. For each segment selected, as part of step (d)  540 , there are created a number of copies (n), where the number of copies (n) is at least as large as the size of the alphabet of unique symbols, which may consist of the personalized key. For example, if the possible alphabet of symbols is [A, B, C, D and E], at least five copies of the data segment are made. As part of step (e)  545 , each copy of the data segment is marked in a unique manner, corresponds to one of the symbols in the alphabet. Methods for watermarking digital content are well known, and any known or not yet known methods may be used as part of the present invention. As part of step (f)  550 , each copy of the data segment is encrypted with a unique encryption key, corresponding to one of the symbols in the alphabet. The encrypted copies are thereafter stored using any digital storage device (step (g),  560 ).  
         [0059]    Turning now to FIG. 6, there is illustrated system for the preparation of a set of data segments for marking and encryption, according to the method described in FIG. 5. The system is substantially similar to the system described in FIG. 2: a segment B 1   222  is duplicated several times (B 1 . 1   242 , B 1 . 2   244  and B 1 . 3   246 ). Each copy is then subjected to different marking using the marking module  610 . The marking can be done by embedding a hidden message (steganogram) or by changing some of the data in each copy, in a manner that does not reduce the perceptual quality of the copy. Preferably, the marking should be robust against various attempts to remove the mark, commonly known as “attacks”. The marked copies, M(B 1 . 1 )  642 , M(B( 1 . 2 )  644  and M(B( 1 . 3 ))  646  are then encrypted in different keys, provided by the key management system  250 . The encrypted copies E(M(B 1 . 1 ))  632 , E(M(B 1 . 2 ))  634  and E(M(B 1 . 3 ))  636  are then stored and are used for personalized encryption and distribution, preferably using the method and system described in FIG. 3 and  4 . After the user assembles and decrypts, preferably using a dedicated module, the certain encrypted copies that were sent to him, the resulted set of copies contains a personalized watermark, or steganogram, which can be used for forensic and breach analysis, as described in U.S. patent application Ser. No. 09/772,538, filed Nov. 28, 2000 and PCT Patent Application No. IL01/00923, filed Oct. 3rd, 2001, the contents of which are hereby incorporated by reference. In this case, even if the user cooperates with the storage system in order to compromise the keys, the content that can be decrypted necessarily contains a personalized watermark that can be used for forensic purposes.  
         [0060]    In a preferred embodiment of the present invention, the content comprises of at least one of the following: media content, media content containing an audio stream, media content containing a video stream, document, multimedia content, interactive content, software, data, information, slideshow, presentation.  
         [0061]    In a preferred embodiment of the present invention, the content is stored in a compressed encoding.  
         [0062]    In a preferred embodiment of the present invention, the digital content is encoded in MPFG compliant format such that each segment is bounded to a subset of the frames that contains at least one I-frame and all frames dependent on the I-frames it comprises of.  
         [0063]    In a preferred embodiment of the present invention, the digital content is encoded in MPEG compliant format such that each segment is bounded to a subset of the frames that contains only I-frames.  
         [0064]    In another preferred embodiment of the present invention, the information gathered by decoding previous sections is used in order to decode certain segments, thereby further enhance the security of this scheme. This method is especially effective if the segments are not decomposed only according to their sequential order, but also according to other criteria (eg. separate transmission of I-frames in MPEG format).  
         [0065]    In another preferred embodiment of the present invention, several servers are used in order to transmit various segments, thereby further enhance the security of the method.  
         [0066]    In another preferred embodiment of the present invention, the method additionally comprises encrypting the portion of the digital content not selected in the selection step.  
         [0067]    In a preferred embodiment of the present invention, the digital content is encoded to several layers and the selection of segments comprises selecting the segments such that each segment is bounded to a subset of the layers.  
         [0068]    In a preferred embodiment of the present invention, further comprising mapping the digital content to the lime domain and the selection of segments comprises selecting the segments such that each segment is bounded by time limits.  
         [0069]    In a preferred embodiment of the present invention, further comprising mapping the digital content to a spatial domain and the selection of segments comprises selecting the segments such that each segment is bounded by spatial limits.  
         [0070]    In a preferred embodiment of the present invention, further comprising mapping the digital content to frames and the selection of segments comprises selecting the segments such that each segment is bounded to a subset of the frames.  
         [0071]    In a preferred embodiment of the present invention, the method additionally comprises encrypting a portion of the digital content not selected in the selection step.  
         [0072]    It is appreciated that one or more steps of any of the methods described herein may be implemented in a different order than that shown, while not departing from the spirit and scope of the invention.  
         [0073]    While the present invention may or may not have been described with reference to specific hardware or software, the present invention has been described in a manner sufficient to enable persons having ordinary skill in the art to readily adapt commercially available hardware and software as may be needed to reduce any of the embodiments of the present invention to practice without undue experimentation and using conventional techniques.  
         [0074]    While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein: are nevertheless within the true spirit and scope of the invention.