Abstract:
Presented are cloud storage architectures for private data among terminals with enhanced capability of data privacy and survivability. Pre-processing for storing data in IP cloud comprises: transforming multiple first data sets into multiple second data sets at an uploading site, wherein one of said second data sets comprises a weighted sum of said first data sets; storing said second data sets in an IP cloud via IP connectivity; and storing multiple data storages linking to said second data sets at said uploading site. In accordance with an embodiment post processing may comprise recovering said second data sets at a downloading site via IP network.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims priority to U.S. provisional application No. 62,207,032 filed on Aug. 19, 2015, which is incorporated herein by reference in its entirety. This application is also related to
       1. U.S. Pat. No. 8,111,646; “Communication System For Dynamically Combining Power From A Plurality Of Propagation Channels In Order To Improve Power Levels Of Transmitted Signals Without Affecting Receiver And Propagation Segment,” Issued on Feb. 7, 2012.       2. U.S. Pat. No. 8,098,612; “Apparatus And The Method For Remote Beam Forming For Satellite Broadcasting Systems,” Issued on Jan. 17, 2012.
       3. U.S. Pat. Appl. Pub. No.20110197740; “Novel Karaoke and Multi-Channel Data Recording/Transmission Techniques via Wavefront Multiplexing and Demultiplexing,” published on Aug. 18, 2011.   4. U.S. Pat. Appl. Pub. No. 20140081989; “Wavefront Muxing and Demuxing for Cloud Data Storage and Transport,” published on Mar. 20, 2014.   
       
 
         [0006]    All of the above are incorporated herein by reference in their entireties. 
     
    
     FIELD OF THE DISCLOSURE 
       [0007]    An article “Erasure coding vs Raid as a data protection method” was published in April 2014 on COMPUTERWEEKLY.COM by Manek Dubash. He started the article as follows; “With hard disk drive (HDD) capacities edging upwards 6TB HDDs are now available—Raid is becoming increasingly problematic as a method of data protection against hardware failure. As a response, erasure coding as an alternative to backup has emerged as a method of protecting against drive failure.” His views on Raid are as followed;
       Raid just does not cut it in the age of high-capacity HDDs. The larger a disk&#39;s capacity, the greater the chance of bit error. And when a disk fails, the Raid rebuild process begins, during which there is no protection against a second (or third) mechanism failure. So not only has the risk of failure during normal operation grown with capacity, it is much higher during Raid rebuild, too. Also, rebuild times were once measured in minutes or hours, but disk transfer rates have not kept pace with the rate of disk capacity expansion, so large Raid rebuilds can now take days or even longer.       
 
         [0009]    Mr. Dubash continued and stated that “Consequently, many argue that alternatives to Raid are now needed, and one alternative is erasure coding.” 
         [0010]    This invention addresses similar issues of protecting data using a different technique called wavefront multiplexing (WF muxing) and wavefront demultiplexing (WF demuxing). The WF muxing/demuxing technology was originated from smart antenna methodology and wave propagation theory for satellite communications applications and has been documented in the first and the second references in the above US patent and patent application list. WF muxing/demuxing, embodying an architecture that utilizes multi-dimensional transmissions, has found applications in fields beyond the satellite communication domain. One such application is data storage and transport as disclosed in the third reference. 
       BACKGROUND 
       [0011]    Security on data storage and transport are important concerns on cloud computing. Wavefront multiplexing/demultiplexing (WF muxing/demuxing) process embodies an architecture that utilizes multi-dimensional waveforms in cloud data storage and transport. Multiple data sets are preprocessed by WF muxing before stored/transported. WF muxed data is aggregated data from multiple data sets that have been “customized processed” and disassembled into any scalable number of sets of processed data, with each set being stored on a storage site. The original data is reassembled via WF demuxing after retrieving a lesser but scalable number of WF muxed data sets. In short, the WF muxed data storage solution enhances data security and data redundancy by, respectively, creating a new dimension to existing security/privacy methods and significantly reducing the storage space needed for data redundancy. In addition, WF muxing/demuxing methods enable a monitoring capability on the integrity of stored data. 
         [0012]    K-space is also a well understood term in solid state physics and Imaging processing. The k-space can refer to:
       1. Another name for the frequency domain but referring to a spatial rather than temporal frequency   2. Reciprocal space for the Fourier transform of a spatial function   3. Momentum space for the vector space of possible values of momentum for a particle   4. The k-space in magnetic resonance imaging (MRI)
           a formalism of k-space widely used in magnetic resonance imaging (MRI) introduced in 1979 by Likes and in 1983 by Ljunggren and Twieg.   In MRI physics, k-space is the 2D or 3D Fourier transform of the MR image measured.   
               
 
         [0019]    We shall introduce the terms K-mux, Kmux, or KMx for the Wavefront multiplex; and K-muxing, Kmuxing, or KMxing for the Wavefront multiplexing. In Electromagnetic (EM) theory, the letter K is often used to represent a directional vector and is a wave number in a propagation direction. The term (ωt- K · R ) has been used extensively for propagation phase.  K  represents a directional (moving) surface and  R  a directional propagation displacement. Therefore K is a “wavefront” mathematically. We will be using K-space as wavefront domain or wavefront space. 
       SUMMARY OF THE INVENTION 
       [0020]    The disclosure relates to methods and architectures of distributed data storage using Wavefront multiplexing (WF muxing) or simply K-muxing. It is focused to data privacy, redundancy, storage reliability, and survivability. The WF muxing or K-muxing techniques will use less memory space to achieve better redundancy, reliability, and survivability as compared to conventional techniques of (1) segmenting, or striping, a stream of data into M substreams, (2) creating additional N redundancy among the M substreams via parity or equivalent techniques, and (3) encrypting all M+N sets of substreams before storing them in M+N separated data storage space. 
         [0021]    In addition, these proposed techniques enable the capabilities of monitoring data integrity of stored data sets without scrutinizing the stored data sets themselves. The same techniques can be extended to data streaming via cloud. 
         [0022]    This invention application addresses enhanced privacy, reliability, and survivability of stored data, and data transports on cloud via wavefront multiplexing (WF muxing)/demultiplexing (demuxing) or K-muxing/demuxing methods and techniques. Since stored data on multiple sites is preprocessed on client sides, each of the stored data on cloud is a multiplexed (muxed) data set individually which is unintelligible by itself. Therefore, the proposed approaches shall remove the concerns on integrity confidence of operators, and those on the right of stored data. Camouflaged (image) cloud data storage and transport is one highlight of this application. Embodiments of “writing” and “reading” processes will be presented. “Writing” features a process on multiple original images concurrently via WF muxing transformations, generating WF muxed (image) data to be stored on cloud. A “reading” process corresponds to a WF demuxing transformation on WF muxed (image) data stored on cloud, reconstituting original (image) data sets. 
         [0023]    This invention application addresses enhanced privacy, reliability and survivability of stored data, and data transports on cloud via wavefront multiplexing (WF muxing)/demultiplexing (demuxing) methods and techniques. Since stored multiple sets of data have be preprocessed on client sides, each of the stored data on cloud is a multiplexed (muxed) data set individually which is unintelligible by itself. Therefore, the proposed approaches shall remove the concerns on confidence of operator integrity, and those on the right of stored data. For image data sets, camouflaged (image) cloud data storage and transport is one highlight of this application. Embodiments of “writing” and “reading” processes will be presented. “Writing” features a process on multiple original images concurrently via WF muxing transformations, generating WF muxed (image) data to be stored on cloud. A “reading” process corresponds to a WF demuxing transformation on WF muxed (image) data stored on cloud, reconstituting original (image) data sets. 
         [0024]    Wavefront multiplexing/demultiplexing (WF muxing/demuxing) process features an algorithm invented by Spatial Digital Systems (SDS) for satellite communications where transmissions demand a high degree of power combining, security, reliability, and optimization [1,2]. WF muxing/demuxing, embodying an architecture that utilizes multi-dimensional transmissions, has found applications in fields beyond the satellite communication domain. One such application is data storage on cloud where privacy, data integrity, and redundancy are important for both data transports and data storage. User devices include fixed desktop personal computers (PC), relocatable notebooks, and portable devices, including smart phones and smart tablets such as iPhone, and iPad. 
         [0025]    A method for storing data in IP cloud comprises: transforming multiple first data sets into multiple second data sets at a transmitting site, wherein one of said second data sets comprises a weighted sum of said first data sets; storing said second data sets in an IP cloud via an Internet; and storing multiple links linking to said second data sets at said transmitting site. In accordance with an embodiment, the method may comprise storing said second data sets at a receiving site via Internet in accordance with said links. 
         [0026]    In accordance with an embodiment, the method may comprise storing said second data sets at a receiving site via Internet in accordance with said links. 
         [0027]    In accordance with an embodiment, the method may comprise transforming said second data sets into multiple third data sets at a receiving site, wherein one of said third data sets comprises a weighted sum of said second data sets. 
         [0028]    In accordance with an embodiment, one of said second data sets carries an image with intensities mainly controlled by one of said first data sets. 
         [0029]    A data processing method comprises: transforming multiple first data sets and a known data set into multiple second data sets at a transmitting site, wherein one of said second data sets comprises a weighted sum of said first data sets; and recovering a third data sets from some of said second data sets and said known data set at a receiving site, wherein one of said third data sets comprises a weighted sum of said some of said second data sets. 
         [0030]    A method for storing data in IP cloud, comprises: transforming multiple first data sets into multiple second data sets at a transmitting site, wherein one of said second data sets comprises a weighted sum of said first data sets and carries an image with intensities mainly controlled by one of said first data sets. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0031]    The drawings disclose illustrative embodiments of the present disclosure. They do not set forth all embodiments. Other embodiments may be used in addition or instead. Details that may be apparent or unnecessary may be omitted to save space or for more effective illustration. Conversely, some embodiments may be practiced without all of the details that are disclosed. When the same reference number or reference indicator appears in different drawings, it may refer to the same or like components or steps. 
           [0032]    Aspects of the disclosure may be more fully understood from the following description when read together with the accompanying drawings, which are to be regarded as illustrative in nature, and not as limiting. The drawings are not necessarily to scale, emphasis instead being placed on the principles of the disclosure. In the drawings: 
           [0033]      FIG. 1  depicts a block diagram of “writing” data on distributed data storage on cloud for 3 independent data sets via techniques of 8-to-8 Wavefront muxing also known as K-muxing according to embodiments of the present disclosure. The block diagram is modified from  FIG. 2A  in the U.S. patent application publication No.: U.S. 20140081989. 
           [0034]      FIG. 1A  depicts a block diagram on distributed data storage on cloud for an independent data set via techniques of 4-to-4 Wavefront muxing also known as K-muxing according to embodiments of the present disclosure. 
           [0035]      FIG. 2  depicts a block diagram on “reading” data from distributed data storage for 3 independent users U 1 , U 2 , and U 3 . Their data retrievals or reading processing from multiple (up to 8) stored data sets on cloud are via techniques of 8-to-8 Wavefront demuxing, also known as K-demuxing according to embodiments of the present disclosure. It is modified from  FIG. 2B  in the U.S. patent application publication No.: U.S. 20140081989. 
           [0036]      FIG. 3  depicts a block diagram of a data writing processing on distributed data storage on cloud for an image data set via techniques of 4-to-4 Wavefront muxing also known as K-muxing from a mobile device according to embodiments of the present disclosure. The cloud storage features data privacy but no redundancy. 
           [0037]      FIG. 4  depicts a block diagram of a data reading or retrieving processing from distributed data storage on cloud for an image data set via techniques of 4-to-4 Wavefront demuxing also known as K-demuxing in a mobile device according to embodiments of the present disclosure. The cloud storage features data privacy but no redundancy. 
           [0038]      FIG. 5  depicts a block diagram of data writing on distributed data storage on cloud for an image and associated data reading processing in a mobile device via techniques of Wavefront muxing/demuxing, also known as K-muxing/demuxing according to embodiments of the present disclosure. The cloud storage features data privacy but no redundancy. 
           [0039]      FIG. 6  depicts a block diagram of a data writing processing on distributed data storage on cloud for an image data set via techniques of 4-to-4 Wavefront muxing also known as K-muxing from a mobile device according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0040]      FIG. 7  depicts a block diagram of data reading process from distributed data storage on cloud for an image in a mobile device via techniques of Wavefront muxing/demuxing, also known as K-muxing/demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0041]      FIG. 8  depicts a block diagram of data writing on distributed data storage on cloud for an image from a mobile device and associated data reading processing in another mobile device via techniques of Wavefront muxing/demuxing, also known as K-muxing/demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0042]      FIG. 9  depicts a block diagram of data writing on distributed data storage on cloud for an image from a fixed PC or a notebook via techniques of Wavefront muxing or K-muxing; and associated data reading processing in a mobile device via techniques of Wavefront demuxing, also known as K-demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0043]      FIG. 9A  illustrates a simplified version of the same block diagram in  FIG. 9 . The cloud storage features data privacy and a 3 for 4 redundancy according to embodiments of the present disclosure. 
           [0044]      FIG. 9B  illustrates a similar block diagram as that in  FIG. 9A . But the data writing on distributed data storage on cloud for an image is from a mobile device via techniques of Wavefront muxing or K-muxing; and associated data reading processing in a fixed PC or a notebook via techniques of Wavefront demuxing, also known as K-demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0045]      FIG. 10  depicts a block diagram of data writing on distributed data storage on cloud for three images concurrently from a fixed PC or a notebook via techniques of Wavefront muxing or K-muxing; and associated data reading processing in a mobile device for one of the three stored images on cloud via techniques of Wavefront demuxing, also known as K-demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0046]      FIG. 10A  depicts a simplified block diagram of data writing on distributed data storage on cloud for three images concurrently from a fixed PC or a notebook via techniques of Wavefront muxing or K-muxing; and associated data reading processing in three separated mobile devices; each for one of the three stored images on cloud individually via techniques of Wavefront demuxing, also known as K-demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 3 for 4 redundancy. 
           [0047]      FIG. 11  depicts a block diagram of data writing on distributed data storage on cloud for an image from a mobile device via techniques of Wavefront muxing or K-muxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 2 for 4 redundancy. 
           [0048]      FIG. 12  depicts a block diagram of data reading from distributed data storage on cloud via techniques of Wavefront demuxing or K-demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 2 for 4 redundancy. 
           [0049]      FIG. 13  depicts a block diagram of data writing on distributed data storage on cloud for an image from a mobile device via techniques of Wavefront muxing or K-muxing, and data reading from distributed data storage on cloud via techniques of Wavefront demuxing or K-demuxing according to embodiments of the present disclosure. The cloud storage features data privacy and a 2 for 4 redundancy. 
           [0050]      FIG. 13A  depicts a simplified block diagram of data writing and reading on cloud according to embodiments of the present disclosure; same as that shown in  FIG. 13 . 
           [0051]      FIG. 14  depicts a simplified block diagram of a K-muxing via erasure code techniques according to embodiments of the present disclosure. 
           [0052]      FIG. 14A  depicts a block diagram of a 4-to-4 K-muxing with complex numbers via erasure code techniques according to embodiments of the present disclosure. 
           [0053]      FIG. 14B  depicts a simplified block diagram of a K-muxing with redundancy via erasure code techniques according to embodiments of the present disclosure. 
           [0054]      FIG. 14C  depicts another simplified block diagram of a K-muxing with redundancy via erasure code techniques according to embodiments of the present disclosure. 
           [0055]      FIG. 14D  depicts another simplified block diagram of a K-muxing with redundancy via erasure code techniques according to embodiments of the present disclosure. 
           [0056]      FIG. 15  depicts a block diagram of a K-muxing related to beam forming networks techniques via FFT according to embodiments of the present disclosure. 
           [0057]      FIG. 16  depicts a block diagram of a K-muxing related to beam forming networks techniques via Butler matrix according to embodiments of the present disclosure. 
           [0058]      FIG. 16A  depicts a block diagram of a Butler matrix to function as multiple beam beam-forming-networks according to embodiments of present disclosure 
           [0059]      FIG. 16B  depicts another block diagram of a Butler matrix to function as multiple beam beam-forming-networks according to embodiments of present disclosure. 
           [0060]      FIG. 16C  depicts another block diagram related to generalized polynomial formulation according to embodiments of present disclosure. 
           [0061]      FIG. 17  depicts a simplified block diagram of a K-muxing using erasure code for medical records of patients according to embodiments of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0062]    In this disclosure we shall focus, among other features, on how the functions of data redundancy in storage are created. The present invention relates to distributed data storages with built-in redundancy for a single stream data subdivided into M multiple data substreams or M independent data streams, converted into a WF muxed domain (or a K-muxed domain) with M+N output wavefront components (wfcs), and stored these M+N wfc output data into N+M separated data storage sets, where N and M are integers and N&gt;0. WE may refer the M original data streams as original value-data sets or simply value-data sets. As a result, the M+N stored-data sets are wavefront components in forms of linear combinations of the M original value-data sets, which are derivable from the M value-data sets themselves. 
         [0063]    From a linear algebra point of view, it is adequate to use M stored-data sets to represent M value-data sets. However, if we use M+N stored-data sets to represent only M value-data sets; then there are opportunities to have N redundant stored-data sets among the total M+N stored-data sets; creating a M for M+N redundancy structure. We only require any M of the M+N stored-data sets to recover embedded M value-data sets , or N redundant stored data sets 
         [0064]      FIG. 1  is modified from the  FIG. 2  of U.S. patent application publication No. U.S. 20140081989, and depicts a writing process to store 5 sets of data, S 1 , S 2 , S 3 , S 4  and S 5 , in 8 physically separated data storage sites  010 - 1  to  010 - 8  connected through IP Cloud  010 . The writing process features techniques of wavefront multiplexing (WF muxing or a K-muxing  130 ). The 8-to-8 K-muxing  130  features 8 inputs and 8 outputs. Three of the 8 inputs are grounded. Furthermore, the first three data sets, S 1 , S 2  and S 3 , are results of segmenting a data set  105  belonged to a first user, U 1 , by a segmentation processor  1301 . The data set  105  is a short video clip on wild life. Input data sets S 4  and S 5  belong to second and third users, U 2  and U 3  respectively. The 3 other inputs to the 8-to-8 K-muxing  130  are grounded. 
         [0065]    In a pre-storage processing, the 8-to-8 K muxing  130  is used to convert 5 sets of input data S 1 , S 2 , S 3 , S 4  and S 5 , to 8 sets of output data, i.e. D 1 , D 2 , D 3 , D 4 , D 5 , D 6 , D 7  and D 8 , where: 
         [0000]        D 1= S 1+ S 2+ S 3+ S 4+ S 5   (1-1)
 
         [0000]        D 2= S 1− S 2+ S 3− S 4+ S 5   (1-2)
 
         [0000]        D 3= S 1+ S 2− S 3 −S 4 +S 5   (1-3)
 
         [0000]        D 4= S 1− S 2 −S 3+ S 4+ S 5   (1-4)
 
         [0000]        D 5= S 1+ S 2+ S 3+ S 4 −S 5   (1-5)
 
         [0000]        D 6= S 1− S 2+ S 3− S 4− S 5   (1-6)
 
         [0000]        D 7= S 1 +S 2 −S 3 −S 4 −S 5   (1-7)
 
         [0000]        D 8 =S 1 −S 2 −S 3 +S 4− S 5   (1-8)
 
         [0066]    A 8-to-8 Hadamard matrix HM, in which all elements are “1” or “−1” was chosen for the 8-to-8 K-muxing. The 8-to-8 K-muxing may be implemented by other orthogonal matrix such as Fourier transfer or any 8×8 full rank matrixes with realizable inversed matrixes. 
         [0067]    The input ports of the K-muxing  130  are referred to as slices, and its output ports are wavefront components (wfc&#39;s). In this example, the five input data sets, i.e. S 1 , S 2 , S 3 , S 4  and S 5 , are connected to the input ports, i.e. slice  1 , slice  2 , slice  3 , slice  4  and slice  5 , of the K-muxing  130  respectively. The 8 output data sets, i.e. D 1 -D 8 , are connected to the output ports, i.e. wfc 1 -wfc 8 , of the K-muxing  130  respectively. 
         [0068]    To create effective redundancy for data storage on cloud, two of the three grounding inputs, say the inputs of the 6 th  and the 7 th  slices, shall be assigned as weighted sums of “all other 6 inputs” for Hadamard Matrixes and many orthogonal matrixes instead of a constant. In this case the last input slice for the 8-to-8 is grounded or assigned a constant value of zero. 
         [0000]        D 1 =S 1 +S 2 +S 3 +S 4 +S 5+ f 1 +f 2+0   (1-1a)
 
         [0000]        D 2 =S 1− S 2+ S 3− S 4 +S 5− f 1 +f 2−0   (1-2a)
 
         [0000]      D3= S 1+ S 2 −S 3 −S 4+ S 5 +f 1 −f 2−0   (1-3a)
 
         [0000]        D 4= S 1− S 2 −S 3 +S 4 +S 5 −f 1 −f 2+0   (1-4a)
 
         [0000]        D 5 =S 1 +S 2 +S 3 +S −4 −S 5 −f 1− f 2−0   (1-5a)
 
         [0000]        D 6 =S 1 −S 2+ S 3 −S 4 −S 5 +f 1 −f 2+0   (1-6a)
 
         [0000]        D 7 =S 1+ S 2 −S 3 −S 4 −S 5 −f 1+ f 2+0   (1-7a)
 
         [0000]        D 8 =S 1− S 2 −S 3 −+S 4 −S 5 +f 1 +f 2−0   (1-8a)
 
         [0000]      where  f 1= S 1+2 *S 2+ S 3+ S 4+ S 5+0   (1-9a)
 
         [0000]        f 2= S 1+ S 2+2* S 3 +S 4− S 5+0   (1-9b)
 
         [0069]    Equations (1-1a) to (1-8a) can be written in a matrix form as 
         [0000]        D=HM*S    (2)
 
         [0000]      where:  D=[D 1 , D 2 , D 3 , D 4,  D 5,  D 6,  D 7,  D 8] T    (2-1)
 
         [0000]    
       
         
           
             
               
                 
                   HM 
                   = 
                   
                     [ 
                     
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                       
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                       
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           1 
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   
                     2 
                      
                     
                       - 
                     
                      
                     2 
                   
                   ) 
                 
               
             
             
               
                 
                   S 
                   = 
                   
                     
                       [ 
                       
                         
                           S 
                            
                           
                               
                           
                            
                           1 
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           2 
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           3 
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           4 
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           5 
                         
                         , 
                         
                           f 
                            
                           
                               
                           
                            
                           1 
                         
                         , 
                         
                           f 
                            
                           
                               
                           
                            
                           2 
                         
                         , 
                         0 
                       
                       ] 
                     
                     T 
                   
                 
               
               
                 
                   ( 
                   
                     2 
                      
                     
                       - 
                     
                      
                     3 
                   
                   ) 
                 
               
             
           
         
       
     
         [0070]    When the K muxing is connected by a unity input data set only, e.g. S 4 =[ 1 ] through the input port of slice  4  and S 1 =S 2 =S 3 =S 5 =f 1 =f 2 =0, the corresponding outputs of the WF muxer are written as: 
         [0000]        D 1 port= S 1 +S 2 +S 3 +S 4+ S 5 +f 1 +f 2+0=[1]  (3-1)
 
         [0000]        D 2 port= S 1 −S 2 +S 3− S 4 +S − f 1 +f 2−0=[−1]  (3-2)
 
         [0000]        D 3 port= S 1 +S 2− S 3 −S 4 +S 5 +f 1− f 2−0=[−1]  (3-3)
 
         [0000]        D 4 port= S − S 2 −S 3 +S 4 +S 5− f 1 −f 2+0=[1]  (3-4)
 
         [0000]        D 5 port= S 1 +S 2 +S 3 +S 4 −S 5 −f − f 2−0=[1]  (3-5)
 
         [0000]        D 6 port= S 1− S 2 +S 3 −S 4 −S 5 +f 1 −f 2+0=[−1]  (3-6)
 
         [0000]        D 7 port= S 1+ S 2− S 3 −S 4 S 5− f 1 +f 2+0=[−1]  (3-7)
 
         [0000]        D 8 port= S 1 −S 2 −S 3+ S 4− S 5+ f 1+ f 2−0=[1]  (3-8)
 
         [0071]    The 8 output data sets are represented as a column vector or an output column matrix. The elements of the output matrix D, under the condition, become identical to the 8 elements in the 4 th  column of the HM. In this case, the wavefront vector of the output data sets representing the matrix D is referred to as the 4 th  wavefront vector (WFV), or WFV 4 . Similarly, the wavefront vector associated with the k th  input port, Slice k, is referred to as k th  WFV or WFVk. A WF vector specifies the distribution of a set of input data among the 8-output ports or among 8 aggregated output data sets, i.e. D 1 , D 2 , D 3 , D 4 , D 5 , D 6 , D 7  and D 8 . 
         [0072]    In general an 8-to-8 WF muxer, such as the K-muxing  130 , features 8 orthogonal WFV&#39;s. Let us define a coefficient wjk of a Wavefront (WF) transform, or a K-transform performed by the K-muxing  130  to be the coefficient at the j th  row and k th  column of the K-muxing  130 . A WF vector of the K-muxing  130  featuring a distribution among the 8 outputs, i.e. D 1 -D 8  at the 8 wavefront component (wfc) ports wfc 1 -wfc 8 , is defined as an 8-dimensional vector. 
         [0073]    With 8 wfc ports in the 8-to-8 K-muxing  130 , there shall be 8 mutually orthogonal WFVs. The first 5 WFVs are: 
         [0000]      WFV1=[ w 11,  w 21 , w 31 , w 41 , w 51 , w 61 , w 71 , w 81] T    (4.1)
 
         [0000]      WFV2=[ w 12 , w 22 , w 32 , w 42 , w 52 , w 62 , w 72,  w 82] T    (4.2)
 
         [0000]      WFV3=[ w 13,  w 23,  w 33,  w 43,  w 53,  w 63,  w 73 , w 83] T   (4.3)
 
         [0000]      WFV4=[ w 14,  w 24 , w 34,  w 44,  w 54 , w 64 , w 74 , w 84] T    (4.4)
 
         [0000]      WFV5=[ w 15,  w 25,  w 35,  w 45,  w 55,  w 65,  w 75,  w 85] T    (4.5)
 
         [0074]    S 1 , S 2 , S 3 , S 4 , and S 5  are “attached” to 5 WF vectors by respectively connected to the first five input ports of the K-muxing  130 . Similarly f 1  and f 2  are attached to the WFV 6  and the WFV 7 . As a result, there is a remaining WFV, i.e. WFV 8 , which is not “utilized” in this illustration. All components of the 8 orthogonal WFVs are related to input and output port numbers or (spatial) sequences, but are independent from the input and output data sets. 
         [0075]    Each of the 8 outputs of the K-muxing  130 , i.e. D 1 -D 8 , is a linear combination of the 8 inputs including S 1 -S 5 , f 1  and f 2 . The linear combination with 8 inputs features a weighted sum with each input weighted by a corresponding weighting parameter. As a result, each of the 8 output, i.e. D 1 -D 8 , contains information associated with all of the 8 inputs including S 1 -S 5 , f 1  and f 2 . The data storage sites  010 - 1  through  010 - 8  may store all the 8 output data sets D 1 -D 8 , respectively. 
         [0076]      FIG. 1A  depicts a writing process to store 3 sets of data, S 1 , S 2 , and S 3 , in 4 physically separated data storage sites  010 - 1 ,  010 - 2 ,  010 - 3  and  010 - 4  connected through IP Cloud  010 . The writing process features techniques of wavefront multiplexing (WF muxing or a K-muxing  130 ). The 4-to-4 K-muxing  130  features 4 inputs and 4 outputs. One of the 4 inputs is grounded. It may also be connected to a known constant or a known data stream. Furthermore, the first three data sets, S 1 , S 2  and S 3 , are results of segmenting a data set S(t) by a segmentation processor  1301 . The data set  105  is a short video clip on wild life. Again, the other input to the 4-to-4 K-muxing  130  is grounded. 
         [0077]    In a pre-storage processing, the 4-to-4 K muxing  130  is used to convert 3 sets of input data, i.e. S 1 , S 2 , and S 3  to 4 sets of output data, i.e. D 1 , D 2 , D 3 , and D 4 , where: 
         [0000]        D 1= S 1 +S 2 +S 3   (5-1)
 
         [0000]        D 2 =S 1− S 2 +S 3   (5-2)
 
         [0000]        D 3 =S 1 +S 2 −S 3   (5-3)
 
         [0000]        D 4 =S 1 −S 2 −S 3   (5-4)
 
         [0078]    A 4-to-4 Hadamard matrix HM, in which all elements are “1” or “−1” is chosen for the 4-to-4 K-muxing. A 4-to-4 K-muxing may be implemented by other orthogonal matrix such as Fourier transfer or any 4×4 full rank matrixes with realizable inversed matrixes. Equations (5-1) to (5-4) can be written in a matrix form as 
         [0000]        D=HM*S    (6)
 
         [0000]      where:  D=[D 1 , D 2 , D 3 , D 4 ] T    (6-1)
 
         [0000]    
       
         
           
             
               
                 
                   HM 
                   = 
                   
                     [ 
                     
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   
                     6 
                      
                     
                       - 
                     
                      
                     2 
                   
                   ) 
                 
               
             
             
               
                 
                   S 
                   = 
                   
                     
                       [ 
                       
                         
                           S 
                            
                           
                               
                           
                            
                           1 
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           2 
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           3 
                         
                         , 
                         0 
                       
                       ] 
                     
                     T 
                   
                 
               
               
                 
                   ( 
                   
                     6 
                      
                     
                       - 
                     
                      
                     3 
                   
                   ) 
                 
               
             
           
         
       
     
         [0079]    Similarly to  FIG. 1 , the wavefront vector associated with the k th  input port, Slice k, is referred to as k th  WFV or WFVk. A WF vector specifies the distribution of a set of input data among the 4-output ports or among 4 aggregated output data sets, i.e. D 1 , D 2 , D 3  and D 4 . 
         [0080]    In general a 4-to-4 WF muxer, such as a device with function of the 4-to-4 K-muxing  130 , features 4 orthogonal WFV&#39;s. Let us define a coefficient wjk of a Wavefront (WF) transform, or a K-transform performed by the 4-to-4 K-muxing  130  to be the coefficient at the j th  row and k th  column of the K-muxing  130 . A WF vector of the 4-to-4 K-muxing  130  featuring a distribution among the 4 outputs, i.e. D 1 , D 2 , D 3 , and D 4  at the 4 wavefront component (wfc) ports wfc 1 -wfc 4 , is defined as a 4-dimensional vector. 
         [0081]    With 4 wfc ports in the 4-to-4 K-muxing  130 , there shall be 4 mutually orthogonal WFVs. The first 3 WFVs are: 
         [0000]      WFV1=[ w 11 , w 21 , w 31 , w 41] T    (7.1)
 
         [0000]      WFV2=[ w 12 , w 22 , w 32 , w 42] T    (7.2)
 
         [0000]      WFV3=[ w 13 , w 23 , w 33 , w 43] T    (7.3)
 
         [0082]    S 1 , S 2 , and S 3  are “attached” to the 3 WF vectors by respectively connected to the first three input ports of the K-muxing  130 . As a result, there is one remaining WFV, i.e. WFV 4 , which is not “utilized” in this illustration. All components of the 4 orthogonal WFVs are related to input and output port numbers or (spatial) sequences, but are independent from the input and output data sets. 
         [0083]      FIG. 2  depicts a corresponding reading process to the writing process in  FIG. 1 . The WF demultiplexing techniques via an 8-to-8 K-demuxing  140  may be used to retrieve 5 sets of data, i.e. S 1 , S 2 , S 3 , S 4  and S 5 , from any subset of five data sets of the eight physically separated data storage sites  010 - 1  through  010 - 8  connected through IP Cloud  010 . In this example the select subset comprises of D 2 , D 4 , D 5 , D 7  and D 8 . 
         [0084]    After the 8-to-8 K-demuxing  140 , ideally the first three data sets, i.e. S 1 , S 2 , and S 3 , are to be de-segmented or combined into a large data set S(t)  115  by a de-segmentation processor  1401 . The recovered data set S(t)  115  shall be substantially equivalent to the input data set S(t)  105  in  FIG. 1 . 
         [0085]    Referring to  FIG. 2 , it shows the retrieval processing of the 5 recovered data. S 1 -S 5  substantially equivalent to the input data sets S 1 -S 5  respectively in  FIG. 1 , only when 5 stored data sets, i.e. D 2 , D 4 , D 5 , D 7  and D 8  substantially equivalent to the data sets D 2 , D 4 , D 5 , D 7  and D 8  respectively in  FIG. 1 , are accessible from five of the eight storage sites  010 - 1  through  010 - 8 . Each of the outputs of the 8-to-8 K-demuxing  140  or retrieved data sets, S 1 -S 5 , is a linear combination of the 5 inputs D 2 , D 4 , D 5 , D 7  and D 8 . The linear combination is a weighted sum of all 5 inputs; each weighted by a corresponding weighting parameter before a summing operation. Thus, each of the outputs or retrieved data sets S 1 -S 5 , contains information associated with all of the 5 inputs D 2 , D 4 , D 5 , D 7  and D 8 . The retrieval process further includes the grouping of the first 3 retrieved data sets, i.e. S 1 , S 2 , and S 3 , into a large data set S(t) via a de-segmentation processor  1401 . The retrieved data sets, i.e. S 4  and S 5 , are substantially equivalent to the input data sets S 4  and S 5  respectively in  FIG. 1 . 
         [0086]    When all 8 storage data sets become available, the 8-to-8 K-demuxing  140  can be efficiently implemented as a matrix inversion of the corresponding matrix for the 8-to 8 K-muxing  130  in  FIG. 1 . When K-muxing  130  implemented by a Hadamard matrix, the identical matrix can be used for efficient implementations for the K-demuxing  140 . 
       No Redundancy K-muxing in a Mobile Device 
       [0087]      FIG. 3  shows a software functional block diagram in a mobile device of K-muxing a data file for storage over distributed cloud storage without redundancy. The mobile device may be a smart phone  2501 - 1 . A picture or a video S(t) taken by an embedded digital camera  2200  in real time or stored in the local album  2210  is sent to a pre-processing application  2140  via an application program interface (API)  2100 , before sending the associated processed data sets to cloud  010  for storage through the API  2100  and then local buffers  2302 . These various local buffers  2502  are individually associated with different software applications  2130 , including local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. 
         [0088]    The picture or the real time video S(t) is taken from a baby in a crib. The API  2100 , a set of routines, protocols, and tools for building software applications, specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together. 
         [0089]    The preprocessing application  2140  comprises of software for segmenting  1301  which functions as a 1-to-4 TDM de-multiplexing or demuxing operation and that for K-Muxing  130  which is implemented by a 4-to-4 Hadamard matrix. The 1-to-4 TDM demuxing  1301  shall convert the data string S(t)with a 4 R samples per second into four data sub-strings, each with a flowing rate of a R samples per second. These four data substrings are then connected to the 4 inputs of the K-muxing  130  implemented by a 4-to-4 Hadamard matrix. Its four output Esi (or Es 1 , Es 2 , Es 3 , and Es 4 ) are then uploaded to cloud through local buffers  2502  of various cloud storage operators. It is likely the connectivity of a mobile device such as the smart phone  2501 - 1  to cloud  010  is through wireless interfaces  2521  supporting WiFi links, cell phone band links, and/or others. The mobile device may also be connected to cloud services via Ethernet (not shown) or other wired connectivity or through USB transports when these non-wireless connectivity is available at home in once office, or other public facilities. 
       No Redundancy K-demuxing in a Mobile Device 
       [0090]      FIG. 4  shows a software functional block diagram in a mobile device for recovering stored pictures or videos by K-demuxing a set of muxed data substrings stored over distributed cloud storage without redundancy. The mobile device may be a smart phone  2501 - 2 . Four sets of cloud stored substreams are requested and sent from cloud  010  to various local buffers  2502  via wireless interface  2521 . Different applications  2300  associated the various local buffers  2502  include local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. These retrieved muxed data substreams Esi(t) including Es 1 , Es 2 , Es 3 , and Es 4  are sent through API  2100  to a post-processing application  2140  which shall recover the stored picture or a video data stream S(t). 
         [0091]    The post-processing application  2150  comprises of software for a 4-to-4 K-demuxing  140  which is implemented by a 4-to-4 Hadamard matrix and that for segmenting  1301  which functions as a 4-to-1 TDM multiplexing or muxing operation. 
         [0092]    The 4 inputs of the 4-to-4 K-demuxing  140  are connected to the retrieved muxed data substreams Esi(t) and the 4 outputs shall be the 4 recovered data substrings which are then connected to the function of de-segmenting  1401 . The 1-to-4 TDM muxing  1401  shall convert the 4 recovered data substring S 1 , S 2 , S 3 , and S 4 ; each with a R samples per second into a reconstituted data string with a flowing rate of a 4 R samples per second. 
         [0093]    The reconstituted picture or video stream S(t) is then sent via the API  2100  for presentation by a display  2220  in the mobile device  2501 - 2 . It may also be sent for local storage or buffering via various applications through the API  2100 . 
         [0000]    Cloud Data Storage/Recovery via K-Muxing/demuxing with No Redundancy 
         [0094]      FIG. 5  depict a top level functional block diagram for cloud storage techniques to use the memory space most efficiently for private data storage on cloud at the expense of survivability. 
         [0095]    In a data storing or writing phase, an image or a (video) data stream in a first smart phone  2501 - 1  will be stored in distributed storages on cloud  010 . The image has been preprocessed and become 4 processed segments or substreams before sent to the cloud  010 . 
         [0096]    In a data recovering or reading phase, a set of 4 processed segments or substreams stored on cloud shall be retrieved to a local post processor on a second smart phone  2501 - 2 . The post processor on the second smart  2501 - 2  will reconstitute the image or the video data stream by process the retrieved set of all 4 processed segments or substreams. 
         [0097]    The preprocessing comprises of K-muxing  130 , and may also feature erasure coding and encryptions or similar functions before sending processed data to cloud. The corresponding post processing comprises of K-demuxing  140 , and may also feature erasure-code decoding and decryptions or similar functions after retrieving all cloud-stored data from the cloud  010 . 
         [0098]    The first smart phone  2501 - 1  and the second smart phone  2501 - 2  may be two different phones. They may be a same phone in different time slots and/or at different locations 
         [0000]    K-Muxing with Redundancy in a Mobile Device 
         [0099]      FIG. 6  shows a software functional block diagram in a mobile device of K-muxing a data file for storage over distributed cloud storage with a 3 for 4 redundancy. The mobile device may be a smart phone  2501 - 1 . A picture or a video S(t) taken by an embedded digital camera  2200  in real time or stored in the local album  2210  is sent to a pre-processing application  2140  via an application program interface (API)  2100 , before sending the associated processed data sets to cloud  010  for storage through the API  2100  and then local buffers  2302 . These various local buffers  2502  are individually associated with different software applications  2130 , including local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. 
         [0100]    The picture or the real time video S(t) is taken from a baby in a crib. The API  2100 , a set of routines, protocols, and tools for building software applications, specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together. 
         [0101]    The preprocessing application  2140  comprises of software for segmenting  1301  which functions as a 1-to-3 TDM de-multiplexing or demuxing operation and that for K-Muxing  130  which is implemented by a 4-to-4 Hadamard matrix. The 1-to-3 TDM demuxing  1301  shall convert the data string S(t)with a 3 R samples per second into three data sub-streams, each with a flowing rate of a R samples per second. These three data substrings are then connected to 3 of the 4 inputs of the K-muxing  130  implemented by a 4-to-4 Hadamard matrix. The remaining  4   th  input is grounded as shown, connected to a known constant, or fed by a known digital file. Its four outputs Esi (or Es 1 , Es 2 , Es 3 , and Es 4 ) are then uploaded to cloud through local buffers  2502  of various cloud storage operators. It is likely the connectivity of a mobile device such as the smart phone  2501 - 1  to cloud  010  is through wireless interfaces  2521  supporting WiFi links, cell phone band links, and/or others. The mobile device may also be connected to cloud services via Ethernet (not shown) or other wired connectivity or through USB transports when these non-wireless connectivity is available at home in once office, or other public facilities. 
         [0000]    K-demuxing with Redundancy in a Mobile Device 
         [0102]      FIG. 7  shows a software functional block diagram in a mobile device for recovering stored pictures or videos by K-demuxing a set of muxed data substrings stored over distributed cloud storage with a 3 for 4 redundancy. The mobile device may be a smart phone  2501 - 2 . Four sets of cloud stored substreams are requested and sent from cloud  010  to various local buffers  2502  via wireless interface  2521 . Different applications  2300  associated the various local buffers  2502  include local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. WE only need 3 out of the 4 stored data substreams. These retrieved muxed data substreams Esi(t) including Es 1 , Es 2 , Es 3 , and/or Es 4  are sent through API  2100  to a post-processing application  2150  which shall recover the stored picture or a video data stream S(t). 
         [0103]    The post-processing application  2150  comprises of software for a 4-to-4 K-demuxing  140  which is implemented by a 4-to-4 Hadamard matrix and that for de-segmenting  1401  which functions as a 3-to-1 TDM multiplexing or muxing operation. 
         [0104]    The 4 inputs of the 4-to-4 K-demuxing  140  are connected to any three of the 4 retrieved muxed data substreams Esi(t) and the 4 outputs shall be a known output and the 3 recovered data substreams which are then connected to the de-segmenting processor  1401 . The 1-to-3 TDM muxing for the de-segmenting  1401  shall convert the 3 recovered data substreams S 1 , S 2 , and S 3 ; each with a R samples per second into a reconstituted data stream with a flowing rate of a 3R samples per second. 
         [0105]    The reconstituted picture or video stream S(t) is then sent via the API  2100  for presentation by a display  2220  in the mobile device  2501 - 2 . The reconstituted picture or video stream S(t), a video clip on wildlife, may also be sent for local storage or buffering via various applications through the API  2100 . 
         [0000]    Cloud Data Storage/Recovery with 3 for 4 Redundancy 
         [0106]      FIG. 8  depict a top level functional block diagram for cloud storage techniques for private data storage on cloud with survivability. 
         [0107]    In a data storing or writing phase, an image or a (video) data stream in a first smart phone  2501 - 1  will be stored in distributed storages on cloud  010 . The image has been preprocessed and become 4 processed segments or substreams before sent to the cloud  010 . 
         [0108]    In a data recovering or reading phase, a set of any 3 from the 4 processed segments or substreams stored on cloud shall be retrieved to a local post processor on a second smart phone  2501 - 2 . The post processor on the second smart  2501 - 2  will reconstitute the image or the video data stream by processing the retrieved set of all 3 from the 4 processed segments or substreams. 
         [0109]    The preprocessing comprises of K-muxing  130 , and may also feature erasure coding and encryptions or similar functions before sending processed data to cloud. The corresponding post processing comprises of K-demuxing  140 , and may also feature erasure-code decoding and decryptions or similar functions after retrieving all cloud-stored data from the cloud  010 . 
         [0110]    It is important to point out that cloud stored data preprocessed by the K-muxing in  FIG. 3  will not be useful at all for a post processing of the K-demuxing depicted in  FIG. 7 . Similarly, cloud stored data preprocessed by the K-muxing in  FIG. 6  will not be useful at all for a post processing of the K-demuxing depicted in  FIG. 4 . It is noticed that the functions of the K-muxing  130  in  FIG. 3  and that in  FIG. 6  are identical and featuring a 4-to-4 Hadamard transform. Similarly, the functions of K-demuxing  140  in  FIG. 4  and those in  FIG. 7  also feature the same 4-to-4 Hadamard transform. 
         [0111]    This is because the 4 data inputs to the K-muxing  130  in  FIG. 3  are very different from those in  FIG. 6 . The former features a set of 4 data segments or data substreams in  FIG. 3  while only 3 data segments or 3 data substreams are connected to 3 of the 4 inputs of the K-muxing  130  in  FIG. 6 . The remaining last input is connected not to data to be stored but to one known input signal. In fact the remaining input is grounded, effectively connected to a known signal always set at zero value. 
         [0112]    On the other hand,  FIG. 9  depicts an operation of using fixed PCs or a locatable notebook  2501 - 3  to upload to cloud an image S(t) or a data stream via 4 processed data sets (Esi where i=1 to 4). It also shows operations of using portable or moving devices such as a smart phone  2501 - 2  to connect to the cloud  010  and to reconstitute the uploaded image S(t) or data streams in various locations at a later time slot through any 3 out of the 4 cloud-stored processed data sets (Esi, where i=1, 2, 3, and 4). 
         [0113]    On the left, the depicted writing processing in the notebook  2501 - 3  features a pre-processing to segment an input image S(t)  105  or a data stream into 3 segments or data substreams S 1 , S 2 , and S 3  by a segmenting processor  1301  first. A K-muxing  130  featuring 4 inputs and 4 outputs transform the 4 inputs including the 3 segments or the 3 data substreams and a known signal as the 4 th  input to a set of 4 K-muxed outputs; Esi(t) where i=1, 2, 3, and 4. The port connected to the 4 th  input depicted in here is grounded. As a result, the 4 th  signal is a stream of constant of samples with a value of“zero.” The 4 th  input may also be connected to a known constant or a known data stream. 
         [0114]    The stored data sets on cloud are processed data sets (Esi, where i=1, 2, 3, and 4) from a 4-to-4 K-muxing process. Each of these 4 file is a result of aggregation of the 3 segments; S 1 , S 2 , and S 3 . The aggregation process features a sample-by-sample operation with each output sample as numerically weighted summing of all 3 corresponding input samples from the three segments; S 1 , S 2 , and S 3 . As a result, the outputs from a single K-muxed data set are un-intelligible. The sufficient conditions to reconstruct original data set will always require a minimum of 3 from the 4 K-muxed data set. 
         [0115]    Furthermore, it is notice that there are 24 connectivity combinations between 4 input ports and 4 input signals. For any 4-to-4 K-muxing processor with same set of the 4 input signals, every one of the 24 combinations will result to a unique set of Esi; where i=1, 2, 3, and 4. Without the information in a K-demuxing operation, it will be difficult to reconstruct the original data set S(t) even we have retrieved from cloud all 4 stored K-muxed data sets (Esi; where i=1, 2, 3, and 4). The connectivity and other configuration information as well as configuration combinations shall be one of the important items in a registry for configuration management. Other configurations may include between 4 outputs of a K-muxing and accessable multiple storages on cloud including those on private cloud and other private local storages connected by IP networks. 
         [0116]    On the right side of  FIG. 9 , the depicted reading processing in the smart phone  2501 - 2  features a software functional block diagram in a mobile device for recovering stored pictures or videos by K-demuxing a set of muxed data substrings stored over distributed cloud storage with a 3 for 4 redundancy. The mobile device is a smart phone  2501 - 2 . Four sets of cloud stored substreams are requested and sent from cloud  010  to various local buffers  2502  via wireless interface  2521 . Different applications  2300  associated the various local buffers  2502  include local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. Only 3 out of the 4 stored muxed data substreams (Esi; where i=1, 2, 3, and 4) are required. The retrieved muxed data substreams Esi(t) including Es 1 , Es 2 , Es 3 , and/or Es 4  are sent through API  2100  to a post-processing application  2150  which shall recover the stored picture or a video data stream S(t). 
         [0117]    The post-processing application  2150  comprises of software for a 4-to-4 K-demuxing  140  which is implemented by a 4-to-4 Hadamard matrix and that for a de-segmenting processor  1401  which functions as a 3-to-1 TDM multiplexing or muxing operation. 
         [0118]    The 4 inputs of the 4-to-4 K-demuxing  140  are connected to any three of the 4 retrieved muxed data substreams Esi(t) and the 4 outputs shall be a known output and the 3 recovered data substrings which are then connected to the de-segmenting processor  1401 . A 1-to-3 TDM muxing shall convert the 3 recovered data substreams S 1 , S 2 , and S 3 ; each with a R samples per second into a reconstituted data stream with a flowing rate of a 3 R samples per second. 
         [0119]    The reconstituted picture or video stream S(t) is then sent via the API  2100  for presentation by a display  2220  in the smart phone  2501 - 2 . The reconstituted picture or video stream S(t) may also be sent for local storage or buffering via various applications through the API  2100 . S(t) in this example is a short video clip on wildlife. 
         [0120]      FIG. 9A  depicts a simplified version of the functional block diagram in  FIG. 9 . It shows an operation of using fixed PCs or a locatable notebook  2501 - 3  to upload to cloud an image S(t) or a data stream via  4  processed data sets (Esi where i=1 to 4). It also shows operations of using portable or moving devices such as a smart phone  2501 - 2  to connect to the cloud  010  and to reconstitute the uploaded image S(t) or data streams in various locations at a later time slot through any 3 out of the 4 cloud-stored processed data sets (Esi, where i=1,2,3,and 4). S(t) is a video clip on wild life. 
         [0121]      FIG. 9B  depicts a functional block diagram with a reversed flowing direction from that in  FIG. 9A . It shows an operation of using moving devices such as a smart phone  2501 - 2  to upload to cloud an image S(t) or a data stream via 4 processed data sets (Esi where i=1 to 4). It also shows operations of using fixed PCs or a locatable notebook  2501 - 3  to connect to the cloud  010  and to reconstitute the uploaded image S(t) or data streams in various fixed locations at a later time slot through any 3 out of the 4 cloud-stored processed data sets (Esi, where i=1,2,3,and 4). S(t) is a video clip on wild life. 
         [0000]    Multiple Files Cloud Data Storage/Recovery with 3 for 4 Redundancy 
         [0122]      FIG. 10  depicts a similar functional block diagram as that in  FIG. 9 . The key difference is that the 3 inputs, S 1 , S 2 , and S 3 , to the K-muxing  130  are three independent data files or pictures instead of 3 segments from a data file or picture. As an example, 3 short video clips are selected as the 3 inputs. S 1 (t), the first of the three inputs, features a clip of wildlife, the second input S 2  a clip of a musical recital, and the third one S 3 (t) a video recording on a trip to China countryside. 
         [0123]    In a data storing or writing phase, the three video data streams in a notebook  2501 - 3  will be stored in distributed storages on cloud  010 . These inputs have been preprocessed and become 4 processed streams before sent to the cloud  010 . Each of selected storage sites may only store one of the four processed streams, which is a linear combination of all 3 input streams and shall become unintelligible by itself. Furthermore, any one of the three inputs are stored in all 4 cloud storage. As a result, the cloud storages are shared by the three inputs of video data streams 
         [0124]    In a data recovering or reading phase, a set of any 3 from the 4 processed data streams stored on cloud shall be retrieved to a local post processor on a second smart phone  2501 - 2 . A K-demuxing  140  in a post processor on the second smart  2501 - 2  may be commanded to reconstitute only one of three video data streams. The K-demuxing  140  may also be commanded to recover all three original videos by processing the retrieved set of all 3 from the 4 stored processed data streams. A dispatching device  1403  may send one of them to a display  2220  and two remaining ones to local buffers or memory via API  2100  for later reviews. 
         [0125]      FIG. 10A  depicts a simplified functional block diagram as that in  FIG. 10  but with more users to view different stored original data streams. The 3 original inputs, S 1 , S 2 , and S 3  are 3 independent short video clips. S 1 (t) features a clip of wildlife, S 2 (t) a clip on a musical recital, and S 3 (t) a video recording on a trip to China countryside. 
         [0126]    The data recording or writing process is identical to that in  FIG. 10 . 
         [0127]    There are three reading users, one with a second smart phone  2501 - 2 , the other two with a 3 rd  smart phone  2501 - 4  and a 4 th  phone  2501 - 6 . In a data recovering or reading phase, a set of any 3 from the 4 processed data streams stored on cloud shall be retrieved to a local post processor on a second smart phone  2501 - 2 . A K-demuxing  140  in a post processor on the second smart  2501 - 2  is commanded to reconstitute only the S 1 (t) the 1 st  video data streams. Similarly in data reading phases for the 3 rd  and 4 th  smart phones  2501 - 4  and  2501 - 6 , any 3 from the 4 processed data streams stored on cloud shall be retrieved to a local post processor on a smart phone. The K-demuxing  140  in a post processor on the 3 rd  msmart  2501 - 4  is commanded to reconstitute only the S 2 (t) the 2 nd  video data streams while that on the 4 th  smart  2501 - 6  is commanded to reconstitute only the S 3 (t) the 3 rd  video data streams. 
         [0000]    K-muxing with Enhanced Redundancy in a Mobile Device 
         [0128]      FIG. 11  shows a software functional block diagram in a mobile device of K-muxing a data file for storage over distributed cloud storage with a 2 for 4 redundancy. The mobile device may be a smart phone  2501 - 1 . A picture or a video S(t) taken by an embedded digital camera  2200  in real time or stored in the local album  2210  is sent to a pre-processing application  2140  via an application program interface (API)  2100 , before sending the associated processed data sets to cloud  010  for storage through the API  2100  and then local buffers  2302 . These various local buffers  2502  are individually associated with different software applications  2130 , including local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. 
         [0129]    The picture or the real time video S(t) is taken from a scene with a baby in a crib. The API  2100 , a set of routines, protocols, and tools for building software applications, specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together. 
         [0130]    The preprocessing application  2140  comprises of software for segmenting  1301  which functions as a 1-to-2 TDM de-multiplexing or demuxing operation and that for K-Muxing  130  which is implemented by a 4-to-4 Hadamard matrix. The 1-to-2 TDM demuxing  1301  shall convert the data string S(t) with a 2 R samples per second into two data sub-streams, each with a flowing rate of a R samples per second. These two data substrings are then connected to 2 of the 4 inputs of the K-muxing  130  implemented by a 4-to-4 Hadamard matrix. The remaining 3 rd  and 4 th  inputs are grounded as shown, connected to known constants, or fed by a known digital file. Its four outputs Esi (or Es 1 , Es 2 , Es 3 , and Es 4 ) are then uploaded to cloud through local buffers  2502  of various cloud storage operators. It is likely the connectivity of a mobile device such as the smart phone  2501 - 1  to cloud  010  is through wireless interfaces  2521  supporting WiFi links, cell phone band links, and/or others. The mobile device may also be connected to cloud services via Ethernet (not shown) or other wired connectivity or through USB transports when these non-wireless connectivity is available at home in once office, or other public facilities. 
         [0131]    However, if a Hadamard matrix is used for the K-muxing  130  in a preprocessor, one method for generating more efficient redundancy is to follow a formulation similar to the one illustrated in equations (1-1a) to (1-8a). In a pre-storage processing, the 4-to-4 K muxing  130  is used to convert 2 sets of input data, i.e. S 1 (t), and S 2 (t) to 4 sets of output data, i.e. D 1 , D 2 , D 3 , and D 4 , where: 
         [0000]        D 1= S 1( t )+ S 2( t )+ f 1( t )+ f 2( t )   (8-1)
 
         [0000]        D 2= S 1( t )  S 2( t )+ f 1( t )− f 2( t )   (8-2)
 
         [0000]        D 3= S 1( t )+ S 2( t )− f 1( t )− f 2( t )   (8-3)
 
         [0000]        D 4 =S 1( t ) S 2( t )− f 1( t )+ f 2( t )  (8-4)
 
         [0132]    A 4-to-4 Hadamard matrix HM, in which all elements are “1” or “−1” is chosen for the 4-to-4 K-muxing. A 4-to-4 K-muxing may be implemented by other orthogonal matrix such as Fourier transfer or any 4×4 full rank matrixes with realizable inversed matrixes. Equations (8-1) to (8-4) can be written in a matrix form as 
         [0000]        D=HM*S    (6)
 
         [0000]      where:  D=[D 1 , D 2 , D 3 , D 4] T    (6-1)
 
         [0000]    
       
         
           
             
               
                 
                   HM 
                   = 
                   
                     [ 
                     
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                         
                           1 
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                       
                       
                         
                           1 
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           
                             - 
                             1 
                           
                         
                         
                           1 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   
                     6 
                      
                     
                       - 
                     
                      
                     2 
                   
                   ) 
                 
               
             
             
               
                 
                   S 
                   = 
                   
                     
                       [ 
                       
                         
                           S 
                            
                           
                               
                           
                            
                           1 
                            
                           
                             ( 
                             t 
                             ) 
                           
                         
                         , 
                         
                           S 
                            
                           
                               
                           
                            
                           2 
                            
                           
                             ( 
                             t 
                             ) 
                           
                         
                         , 
                         
                           f 
                            
                           
                               
                           
                            
                           1 
                            
                           
                             ( 
                             t 
                             ) 
                           
                         
                         , 
                         
                           f 
                            
                           
                               
                           
                            
                           2 
                            
                           
                             ( 
                             t 
                             ) 
                           
                         
                       
                       ] 
                     
                     T 
                   
                 
               
               
                 
                   ( 
                   
                     8 
                      
                     
                       - 
                     
                      
                     5 
                   
                   ) 
                 
               
             
           
         
       
     
         [0133]    We may choose many sets of functions which are related to both S(t) and S(t). The following choice appears to work well; 
         [0000]        f 1= S 1+2* S 2+0   (9a)
 
         [0000]        f 2=0   (9b)
 
         [0000]    K-Demuxing with Enhanced Redundancy in a Mobile Device 
         [0134]      FIG. 12  shows a software functional block diagram in a mobile device for recovering stored pictures , videos, or digital streams by K-demuxing a set of muxed data substreams stored over distributed cloud storage with a 2 for 4 redundancy. The mobile device may be a smart phone  2501 - 2 . Four sets of cloud stored substreams are requested and sent from cloud  010  to various local buffers  2502  via wireless interface  2521 . Different applications  2300  associated the various local buffers  2502  include local file synchronization management of cloud storage such as Dropbox, Google drive, iCloud, OneDrive, and others. WE only need 3 out of the 4 stored data substreams. These retrieved muxed data substreams Esi(t) including Es 1 , Es 2 , Es 3 , and/or Es 4  are sent through API  2100  to a post-processing application  2150  which shall recover the stored picture or a video data stream S(t). 
         [0135]    The post-processing application  2150  comprises of software for a 4-to-4 K-demuxing  140  which is implemented by a 4-to-4 Hadamard matrix and that for de-segmenting  1401  which functions as a 2-to-1 TDM multiplexing or muxing operation. 
         [0136]    When all 4 inputs of the 4-to-4 K-demuxing  140  are connected to 4 retrieved muxed data substreams Esi(t) and the 4 outputs shall be two known outputs and the 2 recovered data substreams which are then connected to the de-segmenting processor  1401 . The 1-to-2 TDM muxing for the de-segmenting  1401  shall convert the 2 recovered data substreams S 1 , and S 2 ; each with a R samples per second into a reconstituted data stream with a flowing rate of a 2 R samples per second. 
         [0137]    On the other hand, when 2 of 4 inputs of the 4-to-4 K-demuxing  140  are connected to only 2 retrieved muxed data substreams Esi(t), say Es 1 (t) and Es 3 (t) only, and the 2 outputs from the K-demuxing  140  shall be the 2 recovered data substreams which are then connected to the de-segmenting processor  1401 . The 1-to-2 TDM muxing for the de-segmenting  1401  shall convert the 2 recovered data substreams S 1 , and S 2 ; each with a R samples per second into a reconstituted data stream with a flowing rate of a 2 R samples per second. For an advanced subscriber, the recovered S 1 (t) and S 2 (t) shall be used to regenerate Es 2 (t) and Es 4 (t) and then to request for updating the previously unavailable data stored on cloud. 
         [0138]    The reconstituted picture or video stream S(t) is then sent via the API  2100  for presentation by a display  2220  in the mobile device  2501 - 2 . The reconstituted picture, video stream, or digital stream S(t), a video clip on wildlife, may also be sent for local storage or buffering via various applications through the API  2100 . 
         [0000]    Cloud Data Storage/Recovery with 2 for 4 Redundancy 
         [0139]      FIG. 13  depict a top level functional block diagram for cloud storage techniques for private data storage on cloud with survivability. In a data storing or writing phase, an image or a (video) data stream in a first smart phone  2501 - 1  will be sent and stored in distributed storages on cloud  010 . The image has been preprocessed and becomes 4 processed segments or substreams before being sent to the cloud  010 . 
         [0140]    In a data recovering or reading phase, a set of any 2 from the 4 processed segments or substreams stored on cloud shall be retrieved to a local post processor on a second smart phone  2501 - 2 . The post processor on the second smart  2501 - 2  will reconstitute the image or the video data stream by processing the retrieved any set of 2 from the 4 processed segments or substreams. 
         [0141]    The preprocessing comprises of K-muxing  130 , and may also feature erasure coding and encryptions or similar functions before sending processed data to cloud. The corresponding post processing comprises of K-demuxing  140 , and may also feature erasure-code decoding and decryptions or similar functions after retrieving all cloud-stored data from the cloud  010 . 
         [0142]    It is important to point out that cloud stored data preprocessed by the K-muxing in  FIG. 3  or that in  FIG. 6  will not be useful at all for a post processing of the K-demuxing depicted in  FIG. 12  or in here. Similarly, cloud stored data preprocessed by the K-muxing in  FIG. 12  or here will not be useful at all for a post processing of the K-demuxing depicted in  FIG. 4  and that in  FIG. 7 . It is noticed that the functions of the K-muxing  130  in  FIG. 3 ,  FIG. 6 ,  FIG. 11 , and that in here are identical and featuring a 4-to-4 Hadamard transform. Similarly, the functions of K-demuxing  140  in  FIG. 4 ,  FIG. 7 ,  FIG. 12  and here also feature the same 4-to-4 Hadamard transform. 
         [0143]    This is because the 4 data inputs to the K-muxing  130  in  FIG. 3  are very different from those in  FIG. 6 ,  FIG. 11 , or here. The former features a set of 4 data segments or data substreams in  FIG. 3  while only 3 or 2 data segments are connected to 3 or 2 of the 4 inputs of the K-muxing  130  in  FIG. 6  or  FIG. 1 . In many configurations, the remaining last inputs are connected not to data to be stored but to one known input signal. In fact the remaining input is grounded, effectively connected to a known signal always set at zero value. 
         [0144]      FIG. 13A  depict a top level functional block diagram for cloud storage techniques for private data storage on cloud with enhanced survivability and is a simplified version of  FIG. 13 . In a data storing or writing phase, an image or a (video) data stream in a first smart phone  2501 - 1  will be stored in distributed storages on cloud  010 . The image has been preprocessed and become 4 processed segments or substreams before being sent to the cloud  010 . The preprocessing features two operations; (1) segmenting an input data set or a data stream into two data segments or 2 data substreams, and then coverting the two inputs via a K-muxing into 4 WF muxed files for storage on cloud. 
         [0145]    In a data recovering or reading phase, a set of any 2 from the 4 processed segments or substreams stored on cloud shall be retrieved to a local post processor on a second smart phone  2501 - 2 . The post processor on the second smart  2501 - 2  will reconstitute the image or the video data stream by processing the retrieved set of all 2 from the 4 processed segments or substreams. 
         [0146]    A first smart phone  2501 - 1  and a 2 nd  mart phone  2501 - 2  may be the same smart phone but referred to in different time slots 
       K-muxing via Erasure Code 
       [0147]    K-muxing of data storage techniques feature enhanced privacy and survivability via redundancy for stored data. For many applications for big data storage, data survivability is a key important criteria while data privacy is not as critical. Let us assume that a stored data set with total of N files comprise of N-P primary files and P redundant files or parity files. In these applications, the original inputs to a K-muxing transform will be used as primary files in a stored data set and corresponding outputs from the K-muxing may be selected as redundant files or parity files of the stored data set. As an example, a big data file S is segmented into 8 segments (S 1  to S 8 ), which are connected to a 8-to-8 K-muxing transformation with 8-outputs (Y 1  to Y 8 ). The segmented data files (S 1  to S 8 ) will be used as primary files in a storage data set, while redundant or parity files of the stored data set may be selected from the 8 outputs (Y 1  to Y 8 ). The 8-to-8 K-muxing provides 8 additional parity files, in which we may choose 2 only for some applications supporting a 1.25× total storage constraint but with limited survivability protection. For other applications with enhanced survivability which need a 2× storage, we may take all 8 outputs as a set of parity files. 
         [0148]    In general, most of K-muxing transforms are linear processing while most of erasure coding (EC) are not. However, when keeping IN=1 in EC polynomials, the selected EC process can be made to function as linear processing. We are exploring unique features in the overlapped domain of K-muxing and EC in this section. 
         [0149]    Storage technology, RAID, uses checksums or mirroring to protect data, and spreads the data and checksums across a group of disks referred to as a RAID volume. Using available terabyte disk drives, it&#39;s common to manage data sets on a single, consistent logical RAID volume of 4-12 drives with a total usable capacity of about 30 terabytes. RAID slices data into a fixed number of data blocks and checksums, and writes each chunk or checksum onto an independent disk in the volume. However, higher capacity disks used to build these large RAID volumes for digital libraries with high-resolution content also dramatically lengthen the rebuild time when failures occur. In addition, dual and triple parity RAID can mitigate the risk of data corruption, but adding additional parity checks is costly and reduces RAID performance, so it&#39;s less and less attractive as the storage scales. Furthermore without replication, RAID offers limited protection against node-level failures, and no protection against site-level disasters. But it&#39;s expensive. It doubles the amount of storage required, requires expensive high-bandwidth networking between the sites, and introduces new operational complexities to ensure the replication is performing properly or to keep both sites accurately synchronized. 
         [0150]    On the other hand, erasure code algorithms were developed decades ago to ensure transmission integrity of streaming data for space communications. In information theory, an erasure code is a forward error correction (FEC) code for the binary erasure channel, which transforms a message of k symbols into a longer message (code word) with n symbols such that the original message can be recovered from a subset of the n symbols. The fraction r=k/n is called the code rate, the fraction k′/k, where k′ denotes the number of symbols required for recovery, is called reception efficiency. 
         [0151]    Optimal erasure codes have the property that any k out of the n code word symbols are sufficient to recover the original message (i.e., they have optimal reception efficiency). Optimal erasure codes are maximum distance separable codes (MDS codes). Optimal codes are often costly (in terms of memory usage, CPU time, or both) when n is large. Except for very simple schemes, practical solutions usually have quadratic encoding and decoding complexity. 
         [0152]    Erasure coding transforms data objects into a series of codes. Each code contains the equivalent of both data and checksum redundancy. The codes are then dispersed across a large pool of storage devices, which can be independent disks, independent network-attached storage nodes, or any other storage medium. While each of the codes is unique, a random subset of the codes can be used to retrieve the data. The erasure code algorithms that spread the data to protect it also make upgrading to new storage technologies simpler. When drives fail, the object storage redistributes the protection codes without having to replace disks and without degrading user performance. Administrators are now free to schedule drive replacement at their convenience, and are free to upgrade to larger disk sizes. Unlike RAID, codes can be spread across racks or geographically dispersed sites without replication, allowing erasure coding to protect from disk, node, rack, or even site failures all on the same scalable system. The algorithms can also apply different durability policies within the same object storage so that critical data can be given greater data protection without segregating it at the hardware level. 
         [0153]    ReedSolomon codes are an important group of error-correcting codes. They have many important applications, the most prominent of which include consumer technologies such as CDs, DVDs, Blu-ray Discs, QR Codes, data transmission technologies such as DSL and WiMAX, broadcast systems such as DVB and ATSC, and storage systems such as RAID 6. They are also used in satellite communication. In coding theory, the ReedSolomon code belongs to the class of non-binary cyclic error-correcting codes. The ReedSolomon code is based on univariate polynomials over finite fields. It is able to detect and correct multiple symbol errors. By adding t check symbols to the data, a ReedSolomon code can detect any combination of up to t erroneous symbols, or correct up to [t/2] symbols. As an erasure code, it can correct up to t known erasures, or it can detect and correct combinations of errors and erasures. Furthermore, ReedSolomon codes are suitable as multiple-burst bit-error correcting codes, since a sequence of b+1 consecutive bit errors can affect at most two symbols of size b. The choice oft is up to the designer of the code, and may be selected within wide limits. 
         [0154]    In big-data storage RS codes as optimum erasure codes have been used for better survivability via redundancy.  FIG. 14  depicts a block diagram using a polynomial  128  for RS code of, as a version k-muxing  130  among 4 photo files. 
         [0000]        Y  ( X )= A   0   +A   1    X+A   2    X   2   +A   3    X   3    (10)
 
         [0000]    where
       [A 0 ] are inputs for pixels of S 0  which are converted as a pixel stream S 0 (t),   [A 1 ] are inputs for pixels of S 1  which are converted as a pixel stream S 1 (t),   [A 2 ] are inputs for pixels of S 2  which are converted as a pixel stream S 2 (t),   [A 3 ] are inputs for pixels of S 3  which are converted as a pixel stream S 3 (t),   [A 0 , A 1 , A 2 , A 3 ] are the 4 inputs  1302  of a K-muxing  130 .       
 
         [0160]    In fact over the finite field of selected X variables, X∈{X 1 , X 2 , X 3 , X 4 }, X 4  always equals to 1. Thus Equation 10 can be re-written as 
         [0000]        Y  ( X )= A   1    X+A   2    X   2   +A   3    X   3   +A   4    X   4  and  A   4   =A   0.    (10a)
 
         [0161]    In addition, each of the four pictures with pixels in real number is segmented into two groups, S 1 =[S 11 , S 12 ], S 2 =[S 21 , S 22 ], S 3 =[S 31 , S 32 ], S 0 =[S 01 , S 02 ]. As an example when S 1  is a picture with 8 M-pixels; then each of S 11  and S 12  features 4 M pixels. A first input to the RS polynomial  128 , [A 1 ], mathematically features a stream of complex number with intensity of a pixel in S 11  as the real part and intensity of a corresponding pixel in S 12  as the imaginary part; or the nth sample of the A 1  stream is represented as A 1 (n)=S 11 (n)+j S 12 (n); or simply Similarly, 
         [0000]        A   1   =S 11 + j S 12   (10-1)
 
         [0000]        A   2   =S 21+ j S 22   (10-2)
 
         [0000]        A   3   =S 31+ j S 32   (10-3)
 
         [0000]        A   0   =S 01+ j S 02   (10-4)
 
         [0162]    Furthermore, we extend a finite field for the polynomial of variable X over a unity circle in a complex plane. X varies among the 4 points of a unity circle over a complex plane, and X 1 =1+j 0, X 2 =0+j 1, X 3 =−1+j 0, X 4 =0−j 1. Thus the outputs of the polynomial  128  at the 4 different Xs (X=X 1 , X=X 2 , X=X 3 , and X=X 4 ) are written as 
         [0000]        Y ( X 1)= Y (1)= A   0   +A   1   +A   2   +A   3    (11a)
 
         [0000]        Y ( X 2)= Y ( j )= A   0   +jA   1   −A   2   −jA 3   (11b)
 
         [0000]        Y ( X 3)= Y (−1)= A   0   −A   1   +A   −A   3    (11c)
 
         [0000]        Y ( X 4)= Y ( j )= A   0   −jA   1   −A   2   +jA   3    (11d)
 
         [0163]    Using the terminologies of wavefront multiplexing (WF muxing) for the K-muxing  130 , the 4 data streams A 0 , A 1 , A 2 , A 3  of the 4 inputs  1302  are, respectively, distributed over the 4 selected output files  1304  with different sets of weighting components. Each distributed set over the four outputs  1304  corresponds to one of the 4 inputs  1302  is referred as a wavefront characterized by a wavefront vector (WFV). The 4 WFVs are WFV 0  for input data stream A 0 , WFV 1  for data stream A 1 , WFV 2  for data stream A 2 , WFV 3  for data stream A 3 , where 
         [0000]      WFV0=[1, 1, 1, 1] T ,   (11-1)
 
         [0000]      WFV1=[1,  j , −1, − j]   T ,   (11-2)
 
         [0000]      WFV2=[1, −1, 1, −1] T ,   (11-3)
 
         [0000]      WFV3=[1,  −j, − 1,  j]   T ,   (11-4)
 
         [0164]    It is noticed that equations (11a), (11b), (11c), and (11d) are formulations for a 4-to-4 FFT. When the polynomial  128  becomes a mechanism generating 4-point FFT between the domain of [A&#39;s] to the domain of [Y&#39;s] when the 4 sampling points of X in a complex plane (or a I-Q plane) are chosen to be at X=Xi where i=1 to 4; and X 1 =1+j 0, X 2 =0+j 1, X 3 =−1+j 0, and X 4 =0−j 1. 
         [0165]    The four outputs  1304  feature 4 sample streams of complexed number or 8 real sample streams; 
         [0000]        Y (1)= Y 1 r+j Y 1 q    (12a)
 
         [0000]        Y ( j )= Y 2 r+j Y 2 q    (12b)
 
         [0000]        Y (−1)= Y 3 r+j Y 3 q    (12c)
 
         [0000]        Y ( j )= Y 4 r+j Y 4 q    (12d)
 
         [0000]    and 
         [0000]        Y 1 r=S 01 +S 11 +S 21 +S 31   (12a-1)
 
         [0000]        Y 1 q=S 02 +S 12+ S 22 +S 32   (12a-2)
 
         [0000]        Y 2 r=S 01− S 12− S 21 +S 32   (12b-1)
 
         [0000]        Y 2 q=S 02 +S 11 −S 22 −S 31   (12b-2)
 
         [0000]        Y 3 r=S 01− S 11 +S 21 −S 31   (12c-1)
 
         [0000]        Y 3 q=S 02 −S 12 +S 22− S 32   (12c-2)
 
         [0000]        Y 4 r=S 01 +S 12− S 21 −S 32   (12d-1)
 
         [0000]        Y 4 q=S 02− S 11 −S 22 +S 31   (12d-2)
 
         [0166]    Equations (12a) to (12d) and equations (12a-10) to (12D-2) can be written in form of a matrix as that in equation (13). 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             1 
                              
                             r 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             1 
                              
                             q 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             2 
                              
                             r 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             2 
                              
                             q 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             3 
                              
                             r 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             3 
                              
                             q 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             4 
                              
                             r 
                           
                         
                       
                       
                         
                           
                             Y 
                              
                             
                                 
                             
                              
                             4 
                              
                             q 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             1 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             1 
                           
                         
                         
                           
                             1 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             1 
                           
                         
                         
                           
                             0 
                           
                           
                             1 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                         
                         
                           
                             1 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                         
                         
                           
                             1 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                         
                         
                           
                             0 
                           
                           
                             1 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             
                               - 
                               1 
                             
                           
                           
                             1 
                           
                           
                             0 
                           
                         
                       
                       ] 
                     
                      
                     
                       [ 
                       
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               01 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               02 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               11 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               1 
                                
                               
                                   
                               
                                
                               2 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               21 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               22 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               31 
                             
                           
                         
                         
                           
                             
                               S 
                                
                               
                                   
                               
                                
                               32 
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
         [0167]    In reconstructing S 0  to S 3 , there are 8 unknown (S 01  to S 32 ) with 8 equations relating 8 Y&#39;s (stored data files) and 8 S&#39;s (segmented substreams from an original information data). There are no redundancy in  FIG. 14  for the stored data while using conventional K-muxing methods featuring data privacy. In order to reconstruct the 8 S&#39;s (segmented substreams from the original information data), we will need all 8 Y&#39;s (stored data files). For applications where privacy is not critical in a stored data set, we may use all the input files, the 8 S&#39;s (segmented substreams from an original information data), as the primary storage files while the redundancy or parity files may be selected from the 8 Y&#39;s. 
         [0168]    It is noticed that each output in the equations is a linear combination of 4 of the 8 S&#39;s only. More specifically as indicated in  FIG. 14A , Equation (12a-1) and (12c-1) aggregate 4 inputs of pixel streams together via two linear combinations, respectively, of the real parts of the 4 complex inputs  1302 . Equation (12a-2) and (12c-2), respectively via the two linear combinations, depict the processing of combining 4 pixel streams of the imaginary parts of the 4 complex inputs  1302 . The other 4 equations 12b-1 12b-2, 12d-1 and 12d-2 show the 4 respective linear combinations of 4 pixel streams related to the real parts of 2 complex inputs  1302  and the imaginary parts of the other 2 remaining complex inputs  1302 . 
         [0169]    In many other embodiments, the 8 segmented inputs (S 01  to S 32 ) will be used as storage data sets, and the 8 outputs (Y 1 r to Y 4 q) as redundancy or as parity files. The 8 inputs  1302  may be data sub-files segmented from a single large file, 8 independent files, combinations of multiple (N) sub-files from a first large file and multiple ( 8 -N) sub-files from a second large file, or combinations of multiple (N) sub-files from a third large file and multiple (8-N) other independent files. The process of utilizing the polynomial  128  in  FIG. 14  will provide 8 additional parity files, in which we may choose 2 only for some applications which support a 1.25× total storage but with limited survivability protection. For other applications with enhanced survivability which need a 2× storage, we may take all 8 outputs as a set of parity files. 
         [0170]    In short the K-muxing  130  features 4 inputs  1302  and 4 outputs  1304 . These inputs and outputs are complex data streams, each of which can be re-written as two real pixel substreams. Therefore, the K-muxing  130  effectively performs a transformation with 8-real inputs and 8-real outputs. 
         [0171]      FIG. 14B  depicts a configuration nearly identical to that shown in  FIG. 14  except one of inputs to the K-muxing  130  is grounded. Both parts of S 0  inputs, S 01  and S 02 , are set to zero. We keep the polynomial  128  the same as that in  FIG. 14  and operated in the domain only of X=[X 1 , X 2 , X 3 , X 4 ], where X 1 =1, X 2 =j, X 3 =−1, and X 4 =−j. The three remaining inputs, S 1   106   a , S 2   106   b  and S 3   106   c , are segmented separately into [S 11 , S 12 ], [S 21 , S 22 ], [S 31 , S 32 ], respectively. The 4 complex inputs to the K-Muxing  130  are formulated pixel-by-pixel or sample-by-sample in the pixel streams according to equation (10-1) to (10-4). More specifically in a format of sample-by-sample in the pixel streams for the 4 inputs, A 1 =S 1 =S 11 +j S 12 , A 2 =S 2 =S 21 +jS 22 , A 3 =S 3 =S 31 +jS 32 , and A 4 =S 0 =0. 
         [0172]    Under these conditions, equations (12a-1) to (12d-2) become 
         [0000]        Y 1 r=S 11+ S 21 +S 31   (12a-10)
 
         [0000]        Y 1 q=S 12+ S 22 +S 32   (12a-20)
 
         [0000]        Y 2 r=−S 12 −S 21+ S 32   (12b-10)
 
         [0000]        Y 2 q=S 11 −S 22 −S 31   (12b-20)
 
         [0000]        Y 3 r=−S 11 +S 21− S 31   (12c-10)
 
         [0000]        Y 3 q=−S 12 +S 22 −S 32   (12c-20)
 
         [0000]        Y 4 r=S 12− S 21 −S 32   (12d-10)
 
         [0000]        Y 4 q=−S 11 −S 22 +S 31   (12d-20)
 
         [0173]    There are total 6 inputs (segmented inputs from 3 pictures) but with 8 outputs via 8 equations. It is certain that the 8 outputs are not independent. There may be as many as 2 redundant equations for operation using input formats in sample-by-sample in the pixel streams. In reconstructing S 1  to S 3 , there are 6 unknown (S 11  to S 32 ) with 8 equations relating 8 Y&#39;s (stored data files) and 6 S&#39;s (segmented substreams from 3 original photo data). There are two redundancy in  FIG. 14B  for the stored data while using conventional K-muxing methods featuring both data privacy and redundancy. In order to reconstruct the 6 S&#39;s (segmented substreams from the 3 original photos), we will need any 6 from all 8 Y&#39;s (stored data files). For applications where privacy is not critical in a stored data set, we may use all the input files, the 6 S&#39;s (segmented substreams from an original information data), as the primary storage files while the redundancy or parity files may be selected from the 8 Y&#39;s. 
         [0174]      FIG. 14C  depicts a configuration also nearly identical to that shown in  FIG. 14  except one of inputs to the K-muxing  130  is a known digital file for authentication, diagnostic or/and an excess key. One of the two parts of S 0  inputs, S 01  and S 02 , is set to zero; S 0 =[C 0 ,  0 ]. We keep the polynomial  128  the same as that in  FIG. 14  and operated in the domain only of X=[X 1 , X 2 , X 3 , X 4 ], where X 1 =1, X 2 =j, X 3 =−1, and X 4 =−j. The three remaining inputs, S 1   106   a , S 2   106   b  and S 3   106   c , are segmented separately into [S 11 , S 12 ], [S 21 , S 22 ], [S 31 , S 32 ], respectively. The 4 complex inputs to the K-Muxing  130  are formulated pixel-by-pixel or sample-by-sample in the pixel streams according to equation (10-1) to (10-4). More specifically in a format of sample-by-sample in the pixel streams for the 4 inputs, A 1 =S 1 =S 11 +j S 12 , A 2 =S 2 =S 21 +jS 22 , A 3 =S 3 =S 31 +jS 32 , and A 4 =S 0 =C 0 . 
         [0175]    Under these conditions, equations (12a-1) to (12d-2) become 
         [0000]        Y 1 r=C 0 +S 11+ S 21+ S 31   (12a-11)
 
         [0000]        Y 1 q= 0+ S 12+ S 22 +S 32   (12a-21)
 
         [0000]        Y 2 r=C 0− S 12− S 21 +S 32   (12b-11)
 
         [0000]        Y 2 q= 0+ S 11− S 22 −S 31   (12b-21)
 
         [0000]        Y 3 r=C 0− S 11+ S 21− S 31   (12c-11)
 
         [0000]        Y 3 q= 0− S 12 +S 22 −S 32   (12c-21)
 
         [0000]        Y 4 r=C 0+ S 12− S 21− S 32   (12d-11)
 
         [0000]        Y 4 q= 0− S 11− S 22 +S 31   (12d-21)
 
         [0176]    There are total 7 inputs (segmented inputs from 3 pictures) but with 8 outputs via 8 equations. It is certain that the 8 outputs are not independent. There may be a redundant equation for operation using input formats in sample-by-sample in the pixel streams. In reconstructing S 1  to S 3  to a user community where C 0  is known to them, there are 6 unknown (S 11  to S 32 ) with 8 equations relating 8 Y&#39;s (stored data files) and 6 S&#39;s (segmented substreams from 3 original photo data). There are two redundancy in  FIG. 14C  for the stored data while using conventional K-muxing methods featuring both data privacy and redundancy. In order to reconstruct the 6 S&#39;s (segmented substreams from the 3 original photos), we will need any 6 from all 8 Y&#39;s (stored data files). 
         [0177]    On the other hand in reconstructing S 1  to S 3  to a user community where CO is not known to them, there are 7 unknown (C 0  and S 11  to S 32 ) with 8 equations relating 8 Y&#39;s (stored data files) and C 0  as well as 6 S&#39;s (segmented substreams from 3 original photo data). There is one redundancy in  FIG. 14C  for the stored data while using conventional K-muxing methods featuring both data privacy and redundancy. In order to reconstruct the 6 S&#39;s (segmented substreams from the 3 original photos), we will need any 7 from all 8 Y&#39;s (stored data files). 
         [0178]    In some scenarios where only 6 of the stored Ys are available in reconstructing S 1  to S 3  to a user community where C 0  is known to them, there are 6 unknown (S 11  to S 32 ) with 6 equations relating 6 available Y&#39;s (stored data files) to 6 S&#39;s (segmented substreams from 3 original photo data). The 6 S&#39;s can then be reconstructed. 
         [0179]    For applications where privacy is not critical in a stored data set, we may use all the input files, the 6 S&#39;s (segmented substreams from an original information data), as the primary storage files while the redundancy or parity files may be selected from the 8 Y&#39;s. 
         [0180]      FIG. 14D  depicts a configuration also nearly identical to that shown in  FIG. 14  except all inputs in complex number formats to the K-muxing  130  are connected to digital streams representing “real” numbers. The imaginary parts of the inputs are set to zeros; so that S=[S 1 ,  0 ], S 2 =[S 2 ,  0 ], S 3 =[S 3 ,  0 ], and S 0 =[S 0 ,  0 ]. We keep the polynomial  128  the same as that in  FIG. 14  and operated in the domain only of X=[X 1 , X 2 , X 3 , X 4 ], where X 1 =1, X 2 =j, X 3 =−1,and X 4 =−j. The 4 inputs to the K-Muxing  130 , S 1   106   a , S 2   106   b  and S 3   106   c , S 0   106   d  are formatted into 4 separated pixel streams, respectively. The 4 complex inputs are formulated pixel-by-pixel or sample-by-sample in the pixel streams according to equation (10-1) to (10-4). More specifically in a format of sample-by-sample in the pixel streams, the 4 inputs are set so that A 1 =S 1 , A 2 =S 2 , A 3 =S 3 , and A 4 =S 0 . 
         [0181]    Under these conditions, equations (12a-1) to (12d-2) become 
         [0000]        Y 1 r=S 0+ S 1 +S 2 +S 3   (12a-12)
 
         [0000]        Y 1 q= 0+0+0+0=0   (12a-22)
 
         [0000]        Y 2 r=S 0−0− S 2+0   (12b-12)
 
         [0000]        Y 2 q= 0+ S 1−0− S 3   (12b-22)
 
         [0000]        Y 3 r=S 0− S 1+ S 2− S 3   (12c-12)
 
         [0000]        Y 3 q =0−0+0−0=0   (12c-22)
 
         [0000]        Y 4 r=S 0+0− S 2−0   (12d-12)
 
         [0000]        Y 4 q= 0− S 1−0+ S 3   (12d-22)
 
         [0182]    There are total 4 inputs (real number inputs from 4 pictures) but with 8 outputs via 8 equations. Two of them, (12a-22) and (12c-22) are zeros, and another two pairs [(12b-12), (12b-22)] and [(12d-12), (12d-22) are identical. As a result, the remaining are 4 independent outputs. In reconstructing S 1 , S 2 , S 3  and S 0  to a user community where SO is used as a file for diagnostic, authentications, or/and identification key and known to them, there are 3 unknown (S 1  to S 3 ) with 4 equations relating 4 Y&#39;s (stored data files) and 3 S&#39;s (streams from 3 original photo data). There is a redundancy in  FIG. 14D  for the stored data while using conventional K-muxing methods featuring both data privacy and redundancy. In order to reconstruct the 3 S&#39;s (segmented substreams from the 3 original photos), we will need any 3 from all 4 Y&#39;s (stored data files). 
         [0183]    On the other hand in reconstructing S 1  to S 3  to a user community where SO is not known to them, there are 4 unknown (S 0  and S 1  to S 3 ) with 4 equations relating 4 Y&#39;s (stored data files) to S0 as well as 3 S&#39;s (streams from 3 original photo data). There is no redundancy in  FIG. 14D  for the stored data while using conventional K-muxing methods featuring only data privacy. 
         [0184]    In some scenarios where only 3 of the 4 stored Ys are available in reconstructing S 1  to S 3  to a user community where S 0  is known to them, there are 3 unknown (S 1  to S 3 ) with 3 equations relating 3 available Y&#39;s (stored data files) to 3 S&#39;s (streams from 3 original photo data). The 3 S&#39;s can then be reconstructed. 
         [0185]    For applications where privacy is not critical in a stored data set, we may use all the input files, the 4 S&#39;s (streams from an original information data), as the primary storage files while the redundancy or parity files may be selected from the 4Y&#39;s. 
       FFT, Butler Matrix and Array Radiation Patterns 
       [0186]    The polynomial  128  back to  FIG. 14  generating 4-to-4 FFT, the X variable is selected over a finite field of [X] on the unity circle in a complex plane; where the adjacent X-samples are spaced by a rotation of π/2. We shall examine the formulation in terms of radiation patterns of a 4 element array with a uniform element spacing of a half wavelengths The weighting parameters between the output [Y&#39;s] and the [A&#39;s] in the four linear Equation (11a) to (11d) are tabulated in Table 1, and the corresponding phases and phase progressions of the weighting parameters are in Table 2. 
         [0000]    
       
         
               
               
             
               
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                   
                 complex weighting parameters 
               
             
          
           
               
                 X 
                 Y (X) 
                 A0 
                 A1 
                 A2 
                 A3 
               
               
                   
               
               
                 X1 = 1 
                 Y (1) 
                 1 
                 1 
                 1 
                 1 
               
               
                 X2 = j 
                 Y (j) 
                 1 
                 j 
                 −1 
                 −j 
               
               
                 X3 = −1 
                 Y (−1) 
                 1 
                 −1 
                 1 
                 −1 
               
               
                 X4 = −j 
                 Y (−j) 
                 1 
                 −j 
                 −1 
                 j 
               
               
                   
               
             
          
         
       
     
         [0187]    Table 2 
         [0188]    For an array forming multiple beams, the corresponding geometries are shown in panel A of  FIG. 15 . The transmitting linear array features 4 radiating elements  1516  with a uniform spacing of half wavelength. The beam forming network  1522 , implemented with functions of those of a 4-to-4 FFT, features 4 inputs  1512  and 4 outputs  1514 . A first inputs is fed by a stream of data of Y(1). Similarly, a 2 nd , a 3 rd , and a 4 th  inputs are , respectively connected to 3 other data streams indicated as Y(j), Y 9 - 1 ), and Y(−j). These 4 streams of data are radiated concurrently from all 4 elements  1516  of the transmitting array. 
         [0189]    The BFN  1522  is programmed or configured to generated four orthogonal wavefronts WFV 0 , WFV 1 , WFV 2 , and WFV 3 ; where 
         [0000]      WFV0=[1, 1,1, 1] T ,   (11-1)
 
         [0000]      WFV1=[1 , j, − 1, − j ] T ,   (11-2)
 
         [0000]      WFV2=[1, −1,1, −1] T ,   (11-3)
 
         [0000]      WFV3=[1, − j, − 1,  j]   T ,   (11-4)
 
         [0000]    and 
         [0000]      ¼ WFV i,   T ×WFV j*= 0 when i≠j
 
         [0000]      ¼ WFV i,   T ×WFV j*= 1 when i=j.
 
         [0190]    Their relative phases are tabulated in Table 2. Y(1) is riding the first wavefront WFV 0  corresponding to a beam with a beam peak at the boresite or Θ=0° indicated by the arrow direction of Y(1). We refer the direction of the beam peak as the pointing direction. The 2 nd  beam and the 4 th  beam generated by the BFN  1522  for the Y(j) and Y(−j) streams, respectively, feature a beam pointing direction at 0=30 degree and 0=−30 degree. The 3 rd  beam generated by the BFN  1522  for the Y(−1) stream features two beam pointing directions at 0=90 degree and 0=−90 degree. In fact, the peak at 0=−90 degree is a grating lobe of the main beam at 0=90 degree. The simulated results array gain vs azimuthal angle Θ for the four radiation patterns are depicted on panel B of  FIG. 15 . The vertical axis are relative radiated power levels of antenna gain in dB, and the horizontal axis shows azimuthal angles Θ in degrees. Beam  1  for Y(1) data stream is pointed at the boresite, or Θ=0°, beam  2  for Y(j) data stream is pointed at the direction of Θ=−30° and beam  4  for Y(j) data stream is pointed at the direction of 0=30°. It is also indicated that beam  3  actually is pointed in both ±90° away from the boresite; the end-fire directions. 
         [0191]    Furthermore the four beams feature unique orthogonal beam (OB) radiation patterns. Among the 4 OB beams, a peak of one beam is always at a direction which is aligned exactly with nulls of radiation patterns of other 3 OB beams. An OB beam features a radiation pattern with nulls in the directions always aligned with the peaks of other 3 OB beams. As an example, the OB beam for Y(1) or Beam  1  features a peak at Θ=0° which is also in the direction of a null of all 3 other beams, Beam  2  for Y(j), Beam  3  for Y(−1), and Beam  4  for Y(−j). 
         [0192]    For the data storage applications, data at the outputs of the BFN  1522 , which are wavefront multiplexed or K-muxed, is stored over distributed storage. Data retrievals are via “propagation via space” performing wavefront demultiplexing or K-demuxing. The propagation via space will be in forms of s/w emulations. 
         [0193]    For antenna engineers, it is common to refer the pointing directions in a UV coordinates. For a one-dimension scan linear array, various pointing directions may be shown in different values of u; where u=sin Θ. When Θ is set to [−90°, −30°, 0°, 30°, 90°], the corresponding u shall become [−1, −V2, 0, V2, 1]. The difference in the “u” coordinate for the beam pointing directions between adjacent scanned beams generated by the array with the BFN  1522 , or Δu, is ½. Since the element spacing among the 4 elements  1516  of the array is set at a half wavelength, the grating lobes will appear at directions with Δu=2. The grating lobes for beams pointed at various direction, their respective grating lobes are in imaginary space. Only beams pointed near end-fired directions Θ=±90° as Beam  3  in panel B of  FIG. 15 . 
         [0194]    For an array forming multiple beams via Butler Matrixes, the corresponding geometries are shown in panel A of  FIG. 16 . The transmitting linear array features  4  radiating elements  1516  with a uniform spacing of half wavelength. The beam forming network  1522 , implemented by a 4-to-4 Butler Matrix or programmed in s/w in a digital beam forming (DBF) network to function as a Butler matrix , features 4 inputs  1512  and 4 outputs  1514 . A first inputs is fed by a stream of data of Y(1 R). Similarly, a 2 nd , a 3 rd , and a 4 th  inputs are, respectively connected to 3 other data streams indicated as Y(2 R), Y(2 L), and Y(1 L). These 4 streams of data are radiated concurrently from all  4  elements  1516  of the transmitting array. 
         [0195]    The corresponding far field radiation patterns are depicted in panel B of  FIG. 16 . The four beams feature OB radiation patterns; and 4 peaks at ±14.48°, and ±48.59°. The corresponding u shall become [−¾, −¼, ¼, ¾]. The spacing in u between the pointing directions of two adjacent beams or Δu, is also ½; identical to that among the 4 OB radiation patterns from the configuration in  FIG. 15 . In fact, the 4 OB radiation patterns in  FIG. 15  and those in  FIG. 16  shall be identical if an additional phase gradient of π/4 among the 4 element  1516  after the 4-to-4 FFT is implemented. As a result, the four OB beams shall be biased or rotated in pointing directions by a δu where δu=−¼. More specifically, Y(1) shall be pointed from the original direction u=0 to a new direction u=−¼ or 0° to −14.48°. The beam pointing direction for Y(j) stream shall be rotated from u=−½ (or −30° from the boresite) to u=−¾ (or −48.59° from the boresite), and that for the beam pointing direction for Y(−1) stream shall be rotated from u=±1 (or ±90° from the boresite, or the end-fired directions) to u=¾ (or 48.59° from the boresite). The beam pointing direction for Y(j) stream shall be rotated from u=½ (or 30° from the boresite) to u=¼ (or 14.48° from the boresite), The OB pattern features among the 4 beams in the new pointing directions shall remain true. 
         [0196]    On the other hand, Butler matrixes are linear devices. Therefore superposition principle is applicable for both the homogeneity and additivity properties.  FIG. 16A  depicts a functional diagram of a 4-to-4 Butler Matrix  1442 , featuring 4 inputs  1402  and 4 outputs  1404 . The 4 inputs are labeled as 1 R, 2 R, 2 L and 1 L; and the 4 outputs are A, B, C and D. The 4-to-4 Butler Matrix  1442  comprises of four 90° hybrids  1424  and two 45° fixed phase shifters  1426 . 
         [0197]    The 4 inputs  1402  can be connected to 4 independent data flows. A first input stream connected to the 1 R port will appear in all 4 output ports [A,B, C, D] featuring a unique phase progression with a phase difference Δφ of −45° or −π/4 among adjacent ports. The unique phase progression is referred to a wavefront; mathematically expressed in similar forms of equations (11-1) to (11-4). Similarly a second input stream connected to the 2 R port will appear in all 4 output ports [A,B, C, D] featuring a unique phase progression with a phase difference Δφ of − 135 ° or −3 π/4 among adjacent ports. A third input stream connected to the 2 L port will appear in all 4 output ports [A,B, C, D] featuring a unique phase progression with a phase difference Δφ of 135° or 3 π/4 among adjacent ports. A fourth input stream connected to the 1 L port will appear in all 4 output ports [A,B, C, D] featuring a unique phase progression with a phase difference Δφ of 45° or π/4 among adjacent ports. The phase distributions of the outputs  1404  according to ports of the inputs  1402  are summarized in Table 3. Each input ports of the 4 inputs  1402  is associated with a unique wavefront. There are 4 wavefronts generated by the 4-to-4 Butler matrix, and they are orthogonal to one another. 
         [0000]    
       
         
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                   
                 A 
                 B 
                 C 
                 D 
                 Δφ 
               
               
                   
                   
               
             
             
               
                   
                 1R 
                 −π/4 
                 −π/2 
                 −3π/4 
                 −π 
                 −π/4 
               
               
                   
                 2R 
                 −π/2 
                 −5π/4 
                 0 
                 −3π/4 
                 −3π/4 
               
               
                   
                 2L 
                 −3π/4 
                 0 
                 −5π/4 
                 −π/2 
                 3π/4 
               
               
                   
                 1L 
                 −π 
                 −3π/4 
                 −π/2 
                 −π/4 
                 π/4 
               
               
                   
                   
               
             
          
         
       
     
         [0198]    When we add a section of phase biasing  1428  in front the 4 inputs  1402  of the 4-to-4 Butler matrix  1442  as shown in  FIG. 16B , the new phase distribution is depicted in Table-4. A phase reference, port A of the 4 outputs  1404 , is used. However, the phase progressions or Δφ among the 4 outputs  1404  for each of the 4 inputs  1402  remain identical to those in Table-3. 
         [0000]    
       
         
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE 4 
               
               
                   
                   
               
               
                   
                   
                 A 
                 B 
                 C 
                 D 
                 Δφ 
               
               
                   
                   
               
             
             
               
                   
                 1R 
                 1 
                 −π/4 
                 −2π/4 
                 −3π/4 
                 −π/4 
               
               
                   
                 2R 
                 1 
                 −3π/4 
                 π/2 
                 −π/4 
                 −3π/4 
               
               
                   
                 2L 
                 1 
                 3π/4 
                 −2π/4 
                 π/4 
                 3π/4 
               
               
                   
                 1L 
                 1 
                 π/4 
                 π/2 
                 3π/4 
                 π/4 
               
               
                   
                   
               
             
          
         
       
     
         [0199]    The pointing directions in  FIG. 15  and those in  FIG. 16  shall become identical if an additional phase gradient of π/4 among the 4 element  1516  after the 4-to-4 FFT in  FIG. 15  is implemented. As a result, the four OB beams in  FIG. 15  shall be biased or rotated in pointing directions by a δu where δu=−¼. More specifically, Y(1) shall be pointed from the original direction u=0 to a new direction u=−¼ or 0° to −14.48° . The beam pointing direction for Y(j) stream shall be rotated from u=−½ (or −30° from the boresite) to u=−¾ (or −48.59° from the boresite), and that for the beam pointing direction for Y(−1) stream shall be rotated from u=±1 (or ±90° from the boresite, or the end-fired directions) to u=¾ (or 48.59° from the boresite). 
         [0200]    In many other embodiments, the EC polynomial can be programmed to functions as other K-muxing transforms.  FIG. 16C  depict another example of using EC polynomial  128  for K-muxing function. It is a 4-to-4 K-muxing  130  with 4 real inputs  1302  and 4 real outputs  1304 . The polynomial chosen is a two dimensional one; as written in Equation (14), and the 4 sampling points for four outputs are (1, 1), (1, −1), (−1, −1), and (−1, 1) in a XY plane 
         [0000]        Z  ( X, Y )= A   0   +A   1    X+A   2    Y+A   3    XY    (14)
 
         [0000]    or 
         [0000]        Z   1   =Z (1, 1)= A   o   +A   1   +A   2   +A   3    (14-1)
 
         [0000]        Z   2   =Z (−1, 1)= A   0   −A   1   +A   −A   3    (14-2)
 
         [0000]        Z   3   =Z (−1, −1)= A   0   −A   1   −A   2   +A   3    (14-3)
 
         [0000]        Z   4   =Z (1, −1)= A   0   +A   1   −A   2   −A   3    (14-4)
 
         [0201]    These equations between the 4 inputs [As] and the 4 outputs [Z] can be written in a matrix form; 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     Z 
                     ] 
                   
                   = 
                   
                     
                       [ 
                       H 
                       ] 
                     
                     * 
                     
                       [ 
                       As 
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   15 
                   ) 
                 
               
             
             
               
                 where 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     [ 
                     Z 
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           Z 
                           1 
                         
                         , 
                         
                           Z 
                           2 
                         
                         , 
                         
                           Z 
                           3 
                         
                         , 
                         
                           Z 
                           4 
                         
                       
                       ] 
                     
                     T 
                   
                 
               
               
                 
                   ( 
                   
                     15 
                      
                     a 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     [ 
                     As 
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           A 
                           0 
                         
                         , 
                         
                           A 
                           1 
                         
                         , 
                         
                           A 
                           2 
                         
                         , 
                         
                           A 
                           3 
                         
                       
                       ] 
                     
                     T 
                   
                 
               
               
                 
                   ( 
                   
                     15 
                      
                     b 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     [ 
                     H 
                     ] 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               1 
                             
                             
                               1 
                             
                             
                               1 
                             
                             
                               1 
                             
                           
                           
                             
                               1 
                             
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               1 
                             
                             
                               
                                 - 
                                 1 
                               
                             
                           
                           
                             
                               1 
                             
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               1 
                             
                           
                           
                             
                               1 
                             
                             
                               1 
                             
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               
                                 - 
                                 1 
                               
                             
                           
                         
                         ] 
                       
                        
                       
                         
 
                       
                       [ 
                       H 
                       ] 
                     
                      
                     
                         
                     
                      
                     is 
                      
                     
                         
                     
                      
                     a 
                      
                     
                         
                     
                      
                     4 
                      
                     
                       -to- 
                     
                      
                     4 
                      
                     
                         
                     
                      
                     Hadamard 
                      
                     
                         
                     
                      
                     matrix 
                   
                 
               
               
                 
                   ( 
                   
                     15 
                      
                     c 
                   
                   ) 
                 
               
             
           
         
       
     
         [0202]    It is clear that the EC polynomial  128  can be programmed to functions as a Hadamard transform for K-muxing  130 . 
       Cloud Storage of Medical Records via K-Muxing 
       [0203]      FIG. 17  depicts the same block diagram as that of  FIG. 14 , except the inputs  1302  are connected to medical records  1060  of patients instead of digital photos. The medical record  1060  comprises of personal data and information associated with personal data. Storage via conventional K-muxing features privacy and redundancy. The medical record  1060  can be sorted out into multiple categories through a sorting process  1080 . In this example, let us assume the medical records  1060  are sorted and grouped into 8 folders; from S 11   1062 A to S 02   1068 B. Two of them S 11   1062 A and S 21   1064 A are personal data. In addition, S 31   1066 A and S 01   1068 A may be key information associated to personal data. The remaining four files; S 12   1062 B, S 22   1064 B, S 32   1066 B, and S 02   1068 B belong to a category of public information. 
         [0204]      FIG. 17  depicts a block diagram using a polynomial  128  for RS code, as a version k-muxing  130  among medical records. The polynomial  128  is sampled at multiple Xs on a unity circle in a complex X-plane, where the amplitudes of the sampled X&#39;s always equal to unity. 
         [0000]        Y  ( X )= A   0   +A   1    X+A   2    X   2   +A   3    X   3    (10)
 
         [0000]    where
       The complex input [A 0 ] comprising inputs for digital data of S 01   1168 A and S 02   1168 B which are converted as a stream S 01 +j S 02 ,   The complex input [A 1 ] comprising inputs for digital data of S 11   1162 A and S 12   1162 B which are converted as a stream S 11 +j S 12 ,   The complex input [A 2]  comprising inputs for digital data of S 21   1164 A and S 22   1164 B which are converted as a stream S 21 +j S 22 ,   The complex input [A 3 ] comprising inputs for digital data of S 31   1166 A and S 32   1166 B which are converted as a stream S 31 +j S 32 ,   [A 1 , A 1 , A 2 , A 3 ] are the 4 inputs  1302  of a K-muxing  130 .       
 
         [0210]    We shall program the polynomial  128  to function as 4-to-4 FFT. Corresponding 4 complex outputs  1304  of the K-muxing  130  comprise the following 8 aggregated real number data flows; 
         [0000]        Y 1 r=S 01+ S 11+ S 21 +S 31   (12a-1)
 
         [0000]        Y 1 q=S 02+ S 12 +S 22 +S 32   (12a-2)
 
         [0000]        Y 2 r=S 01 −S 12 −S 21+ S 32   (12b-1)
 
         [0000]        Y 2 q=S 02+ S 11− S 22 −S 31   (12b-2)
 
         [0000]        Y 3 r=S 01− S 11 +S 21 −S 31   (12c-1)
 
         [0000]        Y 3 q=S 01− S 12 +S 22− S 32   (12c-2)
 
         [0000]        Y 4 r=S 01 +S 12 −S 21 −S 32   (12d-1)
 
         [0000]        Y 4 q=S 02 −S 11 −S 22+ S 31   (12d-2)
 
         [0211]    Assuming any one of the 8 real inputs is unavailable, we only need 4 stored files for local repairs.