Abstract:
An OCDMA system is disclosed that provides for storage and retrieval of OCDMA data while maintaining OCDMA encoding and signaling information. The system includes a wavelength demultiplexer that optically receives an OCDMA signal having a plurality of wavelengths of light. A plurality of light detectors is optically interconnected with the wavelength demultiplexer, with each of the light detectors being associated with a unique wavelength of light. Each of the light detectors respectively communicates with a plurality of storage volumes. For example, each storage volume is associated with a unique wavelength of light and is configured for storing optical data electronically converted from an optical data stream having a unique wavelength of light. Such a process may substantially eliminate the need for OCDMA conversion during electronic storage of the OCDMA data. Stored OCDMA data may be rapidly retrieved and configured as an OCDMA signal because OCDMA coding is maintained.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This patent application is related to U.S. Non Provisional patent application Ser. No. 11/317,135 that is entitled “Dynamic Temporal Duration Optical Transmission Privacy”, that was filed Dec. 23, 2005 and the entire contents of which are incorporated by reference herein. 
     FIELD OF THE INVENTION 
     The present invention generally relates to the field of storing and retrieving data through an optical network and, more particularly, to storing data from optical data channels of an Optical Code Division Multiple Access (OCDMA) signal to data storage volumes such that the OCDMA signaling and formatting information are retained during storage and regenerated during retrieval. 
     BACKGROUND OF THE INVENTION 
     Optical networks use optical signaling and formatting techniques, such as OCDMA, to support multiple data channels over a single fiber optic cable. The optical communications thereof are typically implemented by transmitting data through fiber-optic links because light is less prone to optical dispersion through fiber-optic links as opposed to other mediums, such as air. These optical communications use light to convey data to an intended receiver through the fiber-optic link, through “on-off keying” of the wavelength. For example, a binary signal (i.e., a signal of logical 1&#39;s and logical 0&#39;s) is transmitted through a fiber-optic link with the light switching on and off. 
     Demand on communications has dictated that optical fiber be shared among users. In this regard, a single optical fiber is often shared by multiple binary signals. One method of sharing involves assigning specific time periods to individual users and is called Time Division Multiplexing (“TDM”). During a period of time in TDM, a single user transmits data and other users wait for their time period. Another method of sharing involves assigning specific wavelengths of light to individual users and is called Wavelength Division Multiplexing (“WDM”). In WDM, each user has a specific wavelength of light and may transmit data on that wavelength at any time, but no other user may use that wavelength. Optical Code Division Multiple Access (“OCDMA”) is yet another method to share the optical fiber among a number of users. In OCDMA, each user is assigned a unique code that is composed of temporal and wavelength components. This unique OCDMA signature may be thought of as a unique identifier or thumbprint on a data stream. For a user to receive a data stream, the user must detect a data stream having an appropriate OCDMA signature. 
     To store such optical network communications, the data therein is typically decoded and converted to electronic data and stored in a storage element using a conventional disk block format. The optical to electronic conversion results in the removal of the original optical signaling and formatting information used to transfer the data over the network. 
     SUMMARY OF THE INVENTION 
     The systems and methods presented herein allow for OCDMA formatting information to be stored in a storage unit along with the user data. In this regard, the OCDMA formatting may be regenerated upon data retrieval. In one embodiment of the invention, the OCDMA signaling employs a two-dimensional coding technique allowing individual channels of optical data and protection of the data while resident on the data storage system. 
     In a first aspect, an OCDMA storage system includes an optical communications source comprising one or more OCDMA encoders and an optical coupler optically interconnected to the one or more OCDMA encoders, as well as a wavelength demultiplexer optically interconnected with the optical communications source via the optical coupler. The OCDMA storage system also includes a plurality of light detectors. Each of the light detectors is optically interconnected with the wavelength demultiplexer and is associated with a unique wavelength of light. Additionally, the OCDMA storage system includes a storage volume unit comprising a plurality of storage volumes with each light detector being uniquely associated with a respective storage volume. 
     The OCDMA storage system may include a fiber optic communication link between the demultiplexer and the optical coupler. Additionally, the optical communications source may include a plurality of optical data streams, wherein each optical data stream includes a plurality of data elements and where each data element is associated with a particular wavelength. In such as case, the data elements corresponding with the same first wavelength from the plurality of optical data streams are stored in a first storage volume of the plurality of storage volumes and the data elements corresponding with the same second wavelength from the plurality of optical data streams are stored in a second storage volume of the plurality of storage volumes. 
     In a second aspect, a method of storing data in a plurality of storage volumes includes the steps of demultiplexing an Optical Code Division Multiple Access (“OCDMA”) signal into a plurality of optical data streams and associating each optical data stream with its own storage volume. Each optical data stream is wavelength specific. 
     The method may include a step of converting each optical data stream to a respective electronic data stream. For example, the step of converting each optical data stream may include a step of detecting each received wavelength of light. In this regard, the method may further include a step of storing each electronic data stream with a wavelength specific storage volume. 
     The method may further include a step of receiving the OCDMA signal from an optical network. The OCDMA signal may include a plurality of data elements wherein each data element is associated with a particular wavelength for a particular optical data stream. The data elements corresponding with the same first wavelength from the OCDMA signal may be stored in a first storage volume of the plurality of storage volumes and the data elements corresponding with the same second wavelength from the OCDMA signal may be stored in a second storage volume of the plurality of storage volumes. 
     In a third aspect, an OCDMA data retrieval system includes a plurality of light generators, wherein each light generator is associated with a unique wavelength of light. The OCDMA data retrieval system also includes a plurality of storage volumes communicatively coupled to the plurality of light generators. In this regard, each light generator is uniquely associated with one of the storage volumes. 
     A multiplexer optically interconnects with the light generators. The multiplexer may be optically interconnected with an optical network and configured for transferring a multiplexed OCDMA signal to the optical network. The multiplexed OCDMA signal may include a plurality of data elements, wherein each data element is associated with a particular wavelength. In this regard, the data elements corresponding with the same first wavelength from the multiplexed OCDMA signal are retrieved from a first storage volume of the plurality of storage volumes. Additionally, the data elements corresponding with the same second wavelength from the multiplexed OCDMA signal are retrieved from a second storage volume of the plurality of storage volumes. The OCDMA data retrieval system may also include a fiber-optic link between the plurality of light generators and the multiplexer. 
     In a fourth aspect, a method of retrieving OCDMA data from a storage element communicatively coupled to an optical network includes retrieving OCDMA data from a plurality of storage volumes of the storage element and converting retrieved OCDMA data to light using a plurality of light generators. Each light generator is communicatively coupled to a corresponding one of the plurality of storage volumes and each storage volume maintains data associated with one wavelength of light. 
     The method may include a step of multiplexing a plurality of wavelengths of light into an OCDMA signal in response to converting retrieved OCDMA data. Additionally, the method may include a step of transferring the OCDMA signal to the optical network. In this regard, the method may further include a step of performing an OCDMA conversion of the OCDMA signal to extract data channels. 
     The OCDMA signal includes a plurality of data elements. In this regard, each data element is associated with a particular wavelength for a particular optical data stream. Additionally, the data elements corresponding with the same first wavelength from the OCDMA signal are retrieved from a first storage volume of the plurality of storage volumes and the data elements corresponding with the same second wavelength from the OCDMA signal are retrieved from a second storage volume of the plurality of storage volumes. 
    
    
     
       BRIEF DESCRIPTION OF THE INVENTION AND THE SEVERAL VIEWS OF THE DRAWINGS 
         FIG. 1  is a block diagram of an exemplary system for storing OCDMA data. 
         FIG. 2  is a block diagram of an exemplary system for retrieving OCDMA data. 
         FIG. 3  is a diagram of an exemplary OCDMA signature code. 
         FIG. 4  is a diagram of another exemplary OCDMA signature code. 
         FIG. 5  is a diagram of another exemplary OCDMA signature code. 
         FIG. 6  is a diagram of an optical data stream using the OCDMA signature codes of  FIGS. 3-5 . 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a block diagram of system  100  that stores OCDMA data. In this embodiment, system  100  includes wavelength demultiplexer  201 , a plurality of light detectors  102   1 . . . n  (wherein n is an integer greater than 1), and nonvolatile storage volume unit  106 . System  100  is optically coupled to optical network  120  via fiber-optic cable  300 . More specifically, system  100  is optically coupled to optical coupler  305  via fiber-optic cable  300  to store data from a plurality of data producers  302   1 . . . k  (wherein k is an integer greater than 1). Examples of storage volume unit  106  include rotating disk drives and flash memory cards, each having a plurality of logical partitions (i.e., storage volumes  107   1 . . . n ). 
     Each data producer  302  is generally an electronic device capable of electronically generating data. For example, each data producer  302  may be an embedded computer system executing a software algorithm. In this regard, each data producer  302  may require that its output be stored to nonvolatile storage volume unit  106 . As shown herein, each data producer  302  includes a corresponding OCDMA encoder  303  (e.g., data producer  302   1  includes OCDMA encoder  303   1 , data producer  302   2  includes OCDMA encoder  303   2 , etc.). However, data producers  302   1 . . . k  may each host multiple OCDMA encoder  303  units. 
     Each OCDMA encoder  303  converts the electronically generated data from its corresponding data producer  302  into an optical format (i.e., an OCDMA signal, such as OCDMA data stream  500  of  FIG. 6 ). In this regard, OCDMA encoder  303  is generally programmed with a unique OCDMA signature code that determines the spread sequence for a given data channel (e.g., channel “A” OCDMA signature code  505  of  FIG. 3 ). This inherent signature code aspect of OCDMA allows for data privacy while the data resides on storage volume unit  106 . Timing information of the OCDMA signature codes may also be stored with storage volume unit  106 , for reasons explained below. 
     The maximum number k of OCDMA encoders  303  allowed for a given implementation of system  100  depends on the maximum number n of OCDMA signature codes supported by the OCDMA coding technique. Those skilled in the art are readily familiar with various OCDMA coding techniques. 
     Optical coupler  305  is the common collection point for OCDMA encoders  303   1 . . . k . Point-to-point fiber optic cable  301  optically connects a corresponding OCDMA encoder  303  to optical coupler  305  (e.g., point-to-point fiber optic cable  301   1  optically connects OCDMA encoder  303   1  to optical coupler  305 , point-to-point fiber optic cable  301   2  optically connects OCDMA encoder  303   2  to optical coupler  305 , etc.). Optical coupler  305  combines optical signals from the OCDMA encoders  303   1 . . . k  and generates a single OCDMA data stream  500 . 
     A wavelength demultiplexer  201  is configured for receiving OCDMA data stream  500  from a fiber optic network. For example, wavelength demultiplexer  201  may couple to optical coupler  305  via fiber-optic cable  300  to receive OCDMA data stream  500 . Upon receiving OCDMA data stream  500 , wavelength demultiplexer  201  may separate OCDMA data stream  500  into its individual wavelengths of light λ 1 . . . n . Wavelength demultiplexers, such as wavelength demultiplexer  201 , are readily understood devices by those skilled in the art. 
     Once demultiplexed, each wavelength of light λ is transferred to a corresponding light detector  102 . For example, wavelength demultiplexer  201  may optically couple to each light detector  102  to transfer an individual wavelength of light λ to each light detector  102 . In this regard, each light detector  102  may receive an optical data stream associated with the assigned wavelength of light λ. That is, each light detector  102  may receive a portion (labeled f E 1 . . . n ) of OCDMA data stream  500  that corresponds to a single wavelength of light λ. Each light detector  102  may subsequently convert the optical data f E from its assigned wavelength of light to a corresponding electronic data stream  112 . Generally, the maximum number n of wavelengths of light λ for a given implementation of system  100  depends on the OCDMA coding scheme employed. That is, the OCDMA coding scheme may have an established number of wavelengths of light that determines the number of light detectors  102  to be used with system  100 . The number n of wavelengths of light λ are exemplarily shown on the y-axis of OCDMA data stream  500  in  FIG. 6 . 
     Upon conversion of the optical data f E 1 . . . n  to electronic data streams  112   1 . . . n , each electronic data stream  112  is transferred to a corresponding storage volume  107  within storage volume unit  106  (e.g., electronic data stream  112   1  is stored with storage volume  107   1 , electronic data stream  112   2  is stored with storage volume  107   2 , etc.). Timing information, as mentioned above, of a particular electronic data stream  112  is also stored with the corresponding storage volume  107 . For example, data for a particular channel within OCDMA data stream  500  may be dispersed across a plurality of wavelengths. As such, each electronic data stream  112 , being stored according to wavelength, may use timing information of the other electronic data streams such that data may be retrieved from storage volume unit  106  at a later date. That is, the timing information is used to extract the electronic data streams  112  from the storage volumes  107  in a manner that replicates the original OCDMA signal such that the individual data channels may thereafter be extracted therefrom. 
     Data privacy is achieved with such storage since the electronic data streams  112   1 . . . n  are stored in raw format according to wavelengths of light λ 1 . . . n  (i.e., electronic data streams  112   1 . . . n  are respectively stored with corresponding storage volumes  107   1 . . . n  without OCDMA decode conversion). Accordingly, the retrieval of data generally requires knowledge of the same OCDMA signature codes used during the encoding process. Generally, the disk block structure employed by the storage volume unit  106  is application dependent (e.g., Redundant Array of Independent Disk—“RAID”—storage systems, Non Volatile Random Access Memory—“NVRAM”). 
       FIG. 2  is a block diagram of exemplary system  200  for retrieving OCDMA data. System  200  includes wavelength multiplexer  109 , light generators  108   1 . . . n  and storage volume unit  106  discussed above, which further includes storage volumes  107   1 . . . n . Wavelength multiplexer  109  is configured for multiplexing the individual wavelengths of light generated by light generators  108   1 . . . n . In this regard, wavelength multiplexer  109  may reconstruct OCDMA data stream  500  for access by data consumers  402   1 . . . j  (where j is an integer greater than 1). Generally, data consumers  402   1 . . . j  may be any electronic devices capable of retrieving stored data. For example, a data consumer  402  may be an embedded computer system executing a software algorithm. In this regard, each data consumer  402  may require that its input be retrieved from nonvolatile storage volume unit  106 . 
     Each of electronic data streams  114   1 . . . n  are retrieved from storage volume unit  106  via corresponding light generators  108   1 . . . n . For example, electronic data streams  114   1 . . . n  are each associated with wavelengths of light λ 1 . . . n . In this regard, the OCDMA signature codes of OCDMA data stream  500  may not be required to decode the data. Rather, light generators  108   1 . . . n  may retrieve electronic data streams  114   1 . . . n  from associated storage volumes  107   1 . . . n  based on wavelengths of light for direct conversion to corresponding optical data f E 1 . . . n , when directed by data consumers  402   1 . . . n . In this regard, each electronic data stream  114  may have timing information configured therewith such that electronic data streams  114   1 . . . n  may be synchronously retrieved from storage volumes  107   1 . . . n . Such may allow for OCDMA data stream  500  to be reconstructed to its form prior to storage. Again, since electronic data streams  114   1 . . . n  maintain data according to wavelengths of light λ 1 . . . n , a certain level of data privacy is generally assured. 
     Each light generator  108  receives an electronic data stream  114  and converts it into an optical data stream f E for the assigned wavelength of light λ (e.g., light generator  108   1  may convert electronic data stream  114   1  to optical data f E 1 , light generator  108   2  may convert electronic data stream  114   2  to optical data f E 2 , etc.). As similarly described hereinabove, the maximum number n of wavelengths of light λ for a given implementation of system  200  generally depends on the OCDMA coding scheme employed. Again, the number n of wavelengths of light λ are shown on the y-axis of OCDMA data stream  500  in  FIG. 6 . 
     Upon conversion of electronic data streams  114   1 . . . n  to optical data streams f E 1 . . . n , wavelength multiplexer  109  multiplexes the individual wavelengths of light λ 1 . . . n  generated by light generators  108   1 . . . n . In this regard, wavelength multiplexer  109  reconstructs the OCDMA data stream  500  for access by data consumers  402   1 . . . n . For example, since the OCDMA coding scheme is retained with storage volume unit  106 , wavelength multiplexer  109  may multiplex the generated individual wavelengths of light λ 1 . . . n  and thereby reconstruct the OCDMA data stream  500  for access by data consumers  402   1 . . . n . As such, wavelength multiplexer  109  may couple to optical network  120  via fiber-optic cable  300  for access by data consumers  402   1 . . . n . More specifically, wavelength multiplexer  109  may couple to optical splitter  405  via fiber-optic cable  300  for access by data consumers  402   1 . . . n . 
     Similar to data producers  302   1 . . . k  and their corresponding OCDMA encoders  303   1 . . . k  of  FIG. 1 , each data consumer  402  includes a corresponding OCDMA decoder  403  (e.g., data consumer  402   1  includes OCDMA decoder  403   1 , data consumer  402   2  includes OCDMA decoder  403   2 , etc.). OCDMA decoders  403  are used to extract data from OCDMA data stream  500 . As stated above, knowledge of the OCDMA signature code is generally required by OCDMA decoders  403  to decode data within OCDMA data stream  500 . 
     Each OCDMA decoder  403  converts the optical data signal produced by optical splitter  405  into electrically formatted data available to the data consumer  402 . For example, optical splitter  405  “splits” OCDMA data stream  500  into individual optical streams with one optical stream per OCDMA decoder  403  (i.e., each OCDMA decoder  403  receives all data of OCDMA data stream  500 , generally in equal portions of the overall optical intensity of OCDMA data stream  500 ). Point-to-point fiber optic cables  401  optically connect optical splitter  405  to each OCDMA decoder  403  (e.g., point-to-point fiber optic cable  401   1  optically connects optical splitter  405  to OCDMA decoder  403   1 , point-to-point fiber optic cable  401   2  optically connects optical splitter  405  to OCDMA decoder  403   2 , etc.). With the OCDMA decoders  403  optically interconnected with optical splitter  405 , each data consumer  402  may thereby extract data from OCDMA data stream  500  via OCDMA decoder  403 . Similar to system  100  of  FIG. 1 , the maximum number j of OCDMA decoders  403  for a given implementation of system  200  depends on the OCDMA signature codes used. 
     Although each data consumer  402  is shown as being configured with a single corresponding OCDMA decoder  403 , data consumers  402   1 . . . j  may each host multiple OCDMA decoder  403  units. Additionally, multiple OCDMA decoders  403  may be programmed with the same OCDMA signature code. 
     The optical format of optical data stream  500  used with systems  100  and  200  are now described herein. Specifically,  FIGS. 3 ,  4 , and  5  are diagrams of exemplary OCDMA signature codes  505 ,  506 , and  507 , whereas  FIG. 6  is a diagram of optical data stream  500  using the OCDMA signature codes  505 ,  506 , and  507 . In this regard, OCDMA signature codes  505 ,  506 , and  507  illustrate how OCDMA data stream  500  may be encoded and/or decoded. 
     Each OCDMA signature code is a 2-dimensional construct that uniquely identifies a data channel in an OCDMA network (e.g., OCDMA network  120 ). For example, OCDMA signature code  505  for a logical “1-bit” for Channel A is represented by spread pattern imposed on chips C 0  . . . C m  (wherein m is an integer greater than 1) and wavelengths λ 1 . . . n  (i.e., optical data streams f E 1 . . . n  associated at those wavelengths). OCDMA signature code  506  for a logical “1-bit” of Channel B differs from OCDMA signature code  505  of Channel A with respect to chip and wavelength spread. Similarly, Channel C&#39;s OCDMA signature code  507  differs from OCDMA signature codes  506  and  505  with respect to chip and wavelength spread. This “distance” in coding (i.e., differences in chip occupations) allows for channel separation such that only an OCDMA decoder  403  with knowledge of its proper OCDMA signature code can decode data from OCDMA data stream  500 . For example, decoder  403   1  may be designated as Channel A and therefore may have knowledge of OCDMA signature code  505 . As such, decoder  403   1  may use OCDMA signature code  505  to extract data from OCDMA data stream  500 . Similarly, encoder  303   1  may use OCDMA signature code  505  to encode data for coupling into OCDMA data stream  500  via optical coupler  305 . 
       FIG. 6  depicts OCDMA data stream  500  with channels A, B, and C in a multiplexed fashion. For example, bit 0  depicts channels A and C as being active and containing a logical 1-bit, bit 1  depicts channels A and B as being active and containing a 1-bit, bit 2  depicts channels A, B, and C as being active with logical 1-bits, and bit q  depicts channel A as being active and containing a logical 1-bit. Bit q  is intended to illustrate OCDMA data stream  500  as having a plurality of bits (i.e., q is an integer greater than 1). With channels being defined within OCDMA data stream  500  by OCDMA signatures  505 ,  506 , and  507 , various forms of data may be transmitted via channels A, B, and C, respectively. For example, streaming video data from a camera output could be broadcast to several data consumers  402  and/or stored with storage volume unit  106  simultaneously via a designated channel (e.g., channels A, B, and/or C). 
     OCDMA data stream  500  also illustrates logical 0-bits interspersed with logical 1-bits. For example, when a logical 0-bit from a particular channel (e.g., channels A, B, or C) is transmitted via optical data stream  500 , the bit comprises logical 0&#39;s (e.g., no light transmission) at all chips for that channel. However, those skilled in the art should readily recognize that the invention is not intended to be limited to logical 0-bits that include no light transmission for all chip/wavelength combinations for a particular bit. Rather, other embodiments may configure logical 0-bits with a particular code, such as described with respect to the logical 1-bits. 
     Additionally, those skilled in the art should readily recognize that OCDMA data stream  500  may in fact be a continuous data stream populated by more or less channels than those shown herein. For example, the maximum number n of wavelengths λ (y-axis) and the number of chips C 0  . . . m per bit for a given implementation typically depends on the OCDMA coding scheme employed. As such, the chip/wavelength spread of a particular OCDMA coding scheme may dictate the number of wavelengths and chips per bit for a given OCDMA storage system and/or a given OCDMA retrieval system (e.g., system  100  and system  200 , respectively). 
     While the above embodiments have been shown and described in sufficient detail so as to enable one skilled in the art to make and use the invention, the invention is not intended to be limited to these embodiments. Those skilled in the art should readily recognize that certain features may be implemented in different ways. For example, certain steps may be implemented optically and/or electronically (e.g., such as with optoelectronic components). Additionally, such features may be controlled via firmware and/or software. Those skilled in the art are readily familiar with optoelectronics, software and firmware. 
     The foregoing description of the present invention has been presented for purposes of illustration and description. Furthermore, the description is not intended to limit the invention to form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, and skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain best modes known as practicing the invention and to enable others skilled in the art to utilize the invention in such or other embodiments with various modifications required by the particular application(s) or use(s) of the present invention. It is intended that the appended claims, therefore, be construed to include alternative embodiments to the extent permitted by the prior art.