Patent ID: 12228769

To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation.

DETAILED DESCRIPTION

Embodiments herein describe optically combining multiple optical signals so these signals propagate in the same direction in the same optical mode and polarization before performing supercontinuum generation. As mentioned above, combining optical signals after performing supercontinuum generation is difficult to achieve using bulk free-space interferometer optics and is often not robust to vibrations or shock. In the embodiments herein, at least two optical signals are combined at the input of a PIC either off-chip using telecommunication components (e.g., commercially available wavelength division multiplexers (WDM)) or on-chip using optical combiners. These strategies are relatively easy to implement, low cost, and robust to vibrations and movement. Moreover, because the optical combining is done before supercontinuum generation and the optical signals co-propagate with the same optical mode, the optical interference is readily available at the output of the PIC which can simply be detected on a photodetector after appropriate optical filtering.

In one embodiment, the techniques discussed herein are used to combine a reference laser with a frequency comb so that supercontinuum generation can then be performed to increase the frequency range of the frequency comb so that it includes the frequency of the reference laser. The stabilized or locked frequency comb can then be converted into a high-precision electrical clocking signal.

The embodiments herein also include an optical bench and filters for filtering and detecting the optical signal resulting from performing supercontinuum generation. For example, the optical bench can include a holder for aligning lenses, a filter, and a photodiode on a photonic chip containing a supercontinuum generation waveguide. The alignment tolerances on coupling light from the PIC into the photodetector are much less stringent in comparison to interferometer optics and is accomplished by the passive alignment afforded by the fabrication tolerances of the holder.

FIG.1is a chart100that illustrates locking a reference laser115to a comb tooth110in a frequency comb105, according to one embodiment described herein. A frequency comb is a laser source whose spectrum includes a series of discrete, equally spaced frequency lines—i.e., comb teeth110. Frequency combs can be generated by a number of mechanisms, including periodic modulation (in amplitude and/or phase) of a continuous-wave laser, four-wave mixing in nonlinear media, or stabilization of the pulse train generated by a mode-locked laser. In this example, one of the two degrees of freedom for the frequency comb105is being stabilized (or locked to) the reference laser115.

The chart100illustrates a beat120that is the difference between the reference laser115and the closest tooth110of the frequency comb105. When detected using a photodiode, the beat120(also referred to as a beat note or a heterodyne signal) between the reference laser115and the tooth110can be detected and used to adjust the frequency comb105so that the tooth110aligns with the reference laser115(e.g., has the same frequency or is offset by a fixed value). Put differently, the beat120or beat note is an error signal for creating a lock between the reference laser115and the frequency comb105. In one embodiment, the reference laser115may be stabilized using a spectroscopy technique that precisely aligns the reference laser115to a known frequency using, for example, an atomic vapor cell. In another embodiment, the reference laser115may be stabilized to an optical cavity. That way, aligning the frequency comb105to the reference laser115ensures the tooth110of the frequency comb105has a known frequency.

However, when generated, the reference laser115may have a frequency that is outside the frequency range of the frequency comb105. Put differently, the reference laser115may be outside the optical bandwidth of frequency comb105. As just one example, the reference laser115may be a 1064 nm Iodine clock laser but the frequency comb is a 1550 nm laser with a frequency range of approximately +/−25 nm (e.g., an envelope from 1525 to 1575 nm). As shown by chart100, the reference laser115should have a frequency within the envelope of the frequency comb105in order for the reference laser115to be aligned with one of the teeth110.

In the case where the reference laser115is outside the optical bandwidth of the frequency comb105, nonlinear processes (e.g., second harmonic generation or supercontinuum generation) can be used to extend the wavelength of the frequency comb105to the wavelength of the reference laser115so they overlap as shown in chart100. One of the most efficient ways to implement these nonlinear processes is using a photonic chip or photonic integrated circuit (PIC). However, as discussed above, optically combining the PIC-based supercontinuum generation with the optical reference is much more challenging compared to, for example, fiber-based supercontinuum generation where light sources can easily be combined using fiber optic components. The embodiments below describe various techniques for combining the two signals before the supercontinuum generation which leads to beatnote generation directly out of the PIC.

FIG.2is a block diagram of optically combining the reference laser and a frequency comb before performing supercontinuum generation, according to one embodiment described herein. In this example, the frequency comb is generated by a mode-locked laser205. However, the embodiments herein are not limited to any particular technique for generating the frequency comb.

A first polarization maintaining single-mode optical fiber210A transmits the reference laser from a laser source201(e.g., a laser source stabilized to an atomic or optical reference) to a combiner215while a second polarization maintaining single-mode optical fiber210B transmits the frequency comb generated by the mode-locked laser205to the combiner215. In this embodiment, the combiner215is separate from a PIC220that includes a supercontinuum generator225. That is, the combiner215(e.g., a 50:50 directional coupler, Y junction, or WDM) can be a separate optical component that combines the reference laser and the frequency comb. Different implementations of the combiner215are discussed inFIGS.4A and4B.

The combiner215outputs an optical signal that is a combination of the reference laser and the frequency comb. The combiner215can then transfer this optical signal to the PIC220using either an optical fiber (as shown inFIG.4A) or a waveguide on the PIC (as shown inFIG.4B). In one embodiment, the output of the combiner215, which may be another polarization maintaining fiber or waveguide, guides the frequency comb and the reference wavelengths in the same spatial mode such that once supercontinuum light at the reference laser wavelength is generated, there will be an interferometric overlap between the two light sources (i.e., the signals are interferometrically combined at the output of the PIC220).

The supercontinuum generator225in the PIC220extends the wavelength of the frequency comb to include the wavelength of the reference laser. The resulting optical signal is then detected using a photodiode (PD)230which can be processed by a computing device to detect the beat or beat note as shown inFIG.1between the reference laser and at least one tooth in the frequency comb.

The embodiments herein generally describe performing supercontinuum generator using a supercontinuum generator in a PIC, but are not limited to any particular type of platform or structure. In one embodiment, the supercontinuum generator225is a waveguide. For example, the PIC220may be a nonlinear optical integrated photonic platform that includes a supercontinuum generation waveguide formed from silicon nitride (SiN), Tantala (Ta2O5), lithium niobate (LiNbO3), lithium niobate on SiN, aluminum nitride, gallium phosphide, silicon, gallium arsenide, or any heterogeneous combination of these platforms.

FIG.3is block diagram of combining a reference laser and a frequency comb before performing supercontinuum generation, according to one embodiment described herein. Like inFIG.2, the first optical fiber210A transmits the reference laser generated by the laser source201to a combiner310while the second optical fiber210B transmits the frequency comb generated by the mode-locked laser205to the combiner310. In this embodiment, the combiner310(e.g., a 50:50 directional coupler, Y junction, or WDM) is part of a PIC305. That is, the combiner310is integrated into the same PIC305that also includes the supercontinuum generator225. Put differently, combining the reference laser and the frequency comb is performed in the same PIC305that performs the supercontinuum generation, unlike inFIG.2where the optical signals are combined in a separate optical component.

However, in bothFIGS.2and3, the optical signals are combined before supercontinuum generation is performed. Example implementations of integrating the combiner310into the PIC305are discussed inFIG.5.

Like inFIG.2, the optical signal produced by the supercontinuum generator225is then detected by the PD230. The electrical output of the PD230is then processed by a computing device (e.g., analog or digital servo loops, a digital processor, FPGA, counter, etc.) to detect the beat or beat note between the reference laser and at least one tooth in the frequency comb.

Optically combining the reference laser and the frequency comb as shown inFIGS.2and3to the same waveguide simplifies obtaining the heterodyne (beat) signal, reduces linear loss, and provides a high signal-to-noise ratio beat signal through implicit mode-matching by the waveguide of the PIC. Another non-limiting advantage includes providing spatial mode filtering by the waveguide when both sources are at the input in the same fiber which eliminates any mode-matching optics at the output. Moreover, polarization-maintaining optical fibers210and waveguide can be used to ensure co-polarized light sources. By combining the signals before performing supercontinuum generation, another non-limiting advantage includes using all the comb light and all the reference laser light as opposed to a 90:10 or 50:50 coupler at the output of supercontinuum generation.

Moreover, the embodiments herein are agnostic to the choice of the frequency comb wavelength and clock laser wavelength. That is, by using supercontinuum generation, any choice of frequency comb wavelength and reference laser wavelength can be overlapped so the beat note can be detected. Some example wavelengths for the reference laser include 1064 nm (Iodine), 1157 nm (Ytterbium), 1068 nm (Aluminum ion), 1378 nm and 1396 nm (Strontium), or 689 and 698 nm (Strontium). Some example wavelengths for the frequency comb include 2 um (Thulium), 1.5 um (Erbium), 1.064 um (Ytterbium), 1.030 um (Ytterbium), 800 nm (Titanium: Sapphire). Any combinations of these wavelengths (and others) can be used in the various embodiments discussed herein.

FIG.4Ais a block diagram of combining a reference laser and a frequency comb using a WDM405, according to one embodiment described herein. The WDM405includes two inputs that receive the optical fibers210A and210B that transmit the reference laser and the frequency comb. The WDM405also has an output that couples to a third optical fiber410which is coupled to a waveguide in the PIC220. For example, the optical fiber410may be butt coupled to an edge of the PIC220or may be coupled to a top surface of the PIC220using a grating coupler.

In one embodiment, the WDM405is an off-the-shelf optical component. For example, the wavelength/frequency of the reference laser and the frequency comb may share the same wavelength/frequency of telecommunication signals. For example, the 1064 nm and the 1550 nm wavelengths are often used in the telecommunication industry. Thus, if the reference laser and the frequency comb are at these wavelengths, a commercial WDM405used in telecommunications can be used to combine the reference laser and a frequency comb. This can greatly reduce cost.

Further, aligning optical fibers210to the inputs of an off-the-shelf WDM405is a relatively easy task compared to aligning fibers210to the PIC220where there may be a very large mode size mismatch. Thus,FIG.4Ahas the advantage of aligning only one optical fiber (e.g., fiber410) to the PIC220while the embodiment inFIG.5(where the combiner is integrated into the PIC) aligns two optical fibers to the PIC. Once transmitted into the PIC, the waveguides in the PIC220mode match the reference laser and the frequency comb.

FIG.4Bis a block diagram of optically combining the reference laser and a frequency comb using a PIC450, according to one embodiment described herein. As shown, the PIC450is separate from the PIC220. In one embodiment, the PIC450is a different photonic platform than the PIC220. As mentioned above, the PIC220may include a platform that can perform supercontinuum generation—e.g., a generator225formed from SiN, lithium niobate, aluminum nitride, tantala, etc. The PIC450, in contrast, may be a photonic platform with similar core sizes as the optical fibers210(e.g., glass). As such, the mode size of the waveguides in the PIC450may be the same as (or very similar to) the mode size of the optical fibers210. This makes aligning the optical fibers210to the PIC450much easier than aligning fibers to the PIC220which may have waveguides with much smaller mode sizes. Thus, likeFIG.4A,FIG.4Bhas the advantage of having to align only one optical signal into the PIC220in contrast toFIG.5.

In this example, the PIC450includes an optical combiner460, which may be a Y junction, 50:50 directional coupler, or an on-chip WDM. The output of the optical combiner460can be aligned with a waveguide in the PIC220. For example, an optical interface of the PIC450may be butt coupled to an optical interface at an edge of the PIC220. In one embodiment, there may be a small gap between the PICs450and220that permit free-space transmission of the optical signal from the PIC450to the PIC220. In one embodiment, one or more lenses may be used to transmit the optical signal from the PIC450to the PIC220.

Thus,FIGS.4A and4Billustrate different implementations of the combiner215inFIG.2that is separate from the PIC220that includes the supercontinuum generator225.

FIG.5is a block diagram of combining a reference laser and a frequency comb generated by a mode-locked laser205using a PIC505that performs supercontinuum generation, according to one embodiment described herein. In this example, the optical fibers210that transmit the reference laser and the frequency comb are aligned with the PIC505. This could occur at an edge of the PIC505—e.g., by butt coupling or using one or more lenses—or could occur at a top surface of the PIC505using grating couplers.

The PIC505includes an optical combiner510, which may be a Y junction, 50:50 directional coupler, or an on-chip WDM. In this example, the optical combiner510may be formed using the same material (or materials) that form the supercontinuum generator225.

The optical combiner510combines the reference laser and the frequency comb, and then outputs the combined optical signal to the supercontinuum generator225. The supercontinuum generator225can then expand the spectral envelope of the frequency comb so that it overlaps with the frequency of the reference laser as discussed above. The resulting optical signal can then be detected by the PD230and the beat between the reference laser and one of the teeth in the frequency comb can be used to lock the frequency comb to the reference laser.

Thus,FIG.5illustrates one implementation of the combiner310inFIG.3that is integrated into the same PIC305that also includes the supercontinuum generator225.

FIG.6illustrates filtering an optical signal output by supercontinuum generation, according to one embodiment described herein. While the previous embodiments illustrate directly coupling the PD230to an output of the PIC,FIG.6illustrates an optical system for filtering the optical signal output by supercontinuum generation before it is detected by the PD230. As discussed inFIG.1, the frequency comb includes many different teeth, but in order to lock the frequency comb to the reference laser, the beat between the reference laser and only one of the teeth is needed. The presence of the rest of the comb light does not provide any additional signal but contributes to the noise floor via the photon shot-noise. As a result, optical filtering of the PIC output can improve the signal-to-noise (SNR) ratio.

Instead,FIG.6illustrates passing the output signal produced by the supercontinuum generator225through a narrow bandpass filter615to remove some of the teeth. That is, the filter615may remove all but one, two, three, etc. of the teeth in the comb that are closest to the reference laser. When detected by the PD230, this filtered optical signal can generate a high SNR beat note for frequency comb stabilization. It may be preferred to filter out all but the one of the teeth in the frequency comb that is closest to the reference laser, but this may be difficult to achieve.

FIG.6also includes a collimating lens610for collimating the optical signal transmitted by the PIC605before it passes through the filter615. Collimating the optical signal may enable the use of a spectrally narrower bandpass filter615, which then increases the SNR of the resulting electrical signal. After passing through the filter615, a focusing lens620focuses the filtered optical signal onto the PD230where it is then detected.

The lens610, filter615, and lens620can be used in any of the embodiments discussed above inFIGS.2-5. That is, the optical filtering shown inFIG.6can be used regardless of whether the reference laser and the frequency comb were combined using a separate combiner or combined using a combiner integrated on the PIC605that includes the supercontinuum generator225.

FIGS.7A and7Billustrate an optical bench700for filtering an optical signal output by supercontinuum generation, according to one embodiment described herein. That is,FIGS.7A and7Billustrate a holder715for supporting and aligning the optical components illustrated inFIG.6.FIG.7Aillustrates a plan view of the optical bench700whileFIG.7Billustrates a cross-sectional view.

As shown, the PIC605is mounted on a base705. Further, the base705can be attached to a V-groove710that aligns an optical fiber to the PIC605. In this example, there is one optical fiber aligned to an edge of the PIC605which corresponds to the embodiments inFIGS.2and4Awhere the reference laser and the frequency comb are combined by a separate combiner (e.g., a WDM). However, if implementing the embodiments inFIGS.3and5, there could be two V-grooves that permit the two optical fibers transmitting the reference laser and the frequency comb to be aligned to the PIC605.

As shown by the cross section inFIG.7B, the holder715includes receptacles for holding the PD230, the lens620, the filter615, and the lens610in optical alignment. For example, these optical components can be epoxied to the holder715. In one embodiment, the holder715is a monolithic assembly. Further, the holder715may passively align the components within it—i.e., the PD230, the lens620, the filter615, and the lens610. For example, the alignment tolerances can be relaxed enough that the components can be glued or epoxied into the holder715without active alignment.

The PIC605may be mounted on the base705(e.g., using epoxy) and aligned to an optical fiber in the V-groove710in a separate manufacturing step. This partial component can then be mounted on a support surface740of the holder715. While introducing light into the PIC605using the optical fiber, a technician can slide the base705on the support surface until the optical signal exiting an edge of the PIC605opposite the edge coupled to the V-groove710is detected by the PD230. That is, the technician can align the PIC605with the lens610so that the optical signal passes through filter615, the lens620, and is detected by the PD230. In this example, the PIC605is actively aligned to the optical components in the holder715to maximize light coupled into the PD230. Once aligned, the base705can be attached to the support surface740(e.g., using epoxy) so that the PIC605remains fixedly attached to the holder715and aligned with the optical components therein.

The optical bench700includes leads720that connect the PD230to a printed circuit board (PCB)725. The PCB725can be coupled to a computing device that detects the beat or beat note and adjusts the mode-locked laser to lock the frequency comb to the reference laser. In one embodiment, the PCB725can also include a transimpedance amplifier.

In other scenarios, the filter615may be spectrally broader in which case the optical signal generated by the PIC605does not have to be collimated before passing through the filter615. In that example, the lens610and the lens620may be omitted from the optical bench700. The optical signal emitted by the PIC605can pass through the filter615and be detected by the PD230without using any lenses.

The holder715can be a monolithic aluminum-nitride optical assembly. Aluminum nitride can be machined to create the holder715and is also a very rigid material with a high thermal conductivity to minimize thermal gradients. However, other suitable materials for the holder715include glass, copper tungsten, ceramic, and the like.

FIG.8illustrates filtering an optical signal output by supercontinuum generation using a PIC805, according to one embodiment described herein. InFIG.8, the output of the supercontinuum generator225is coupled to an integrated filter810. The filter810can perform the narrow bandpass filtering performed by the filter615inFIG.6. The filter810can be a microresonator or an arrayed waveguide grating.

Performing the filtering on the PIC805eliminates aligning bulk optics to the PIC805. For example, the filtered optical signal generated by the integrated filter810can be detected using the PD230with or without a focusing lens815and have the same performance as the optical system illustrated inFIG.6but with fewer optical components.

FIG.9illustrates using a grating coupler910to output an optical signal produced by supercontinuum generation, according to one embodiment described herein. In this example, the grating coupler910in the PIC905is coupled to the output of the supercontinuum generator225. Instead of an edge coupling as shown inFIGS.7A and7B, the grating coupler910enables vertical detection of the output optical signal. For example, the PD230can rest on a top surface of the PIC905, facing the grating coupler910.

The grating coupler910can provide some filtering of the optical signal since different wavelengths come out in different directions. The PD230can be arranged to detect only the desired wavelengths (e.g., the reference laser and at least one tooth in the frequency comb that has a similar wavelength as the reference laser) and not detect undesired wavelengths (e.g., teeth in the frequency comb that are farther from the reference laser). However, inFIG.9, the filter615is disposed between the grating coupler910and the PD230to perform additional filtering, but this is optional. Further, instead of using an external filter615, the PIC905could include an integrated filter810like inFIG.8that is disposed between the supercontinuum generator225and the grating coupler910.

FIG.10illustrates combining more than two optical signals, according to one embodiment described herein. As shown, a PIC1005receives multiple reference lasers generated by different laser sources201A-C along with the frequency comb generated by the mode-locked laser205. The reference lasers can be combined with the frequency comb using an optical combiner as discussed in, e.g.,FIGS.3and5. For example, some applications may want to perform a clock comparison of reference lasers generated by different clock systems. Put differently, the reference lasers can each be generated by a different laser locking system or technique. The reference lasers can be combined by the PIC1005, pass through the supercontinuum generator225so that the reference lasers are all within the envelope of the frequency comb and then split out the signals so their beats relative to a tooth within the frequency comb can be separately measured by the PDs230A-C. By evaluating the beats, the system can compare the frequency instabilities between the frequency comb and each of the reference lasers.

The PIC1005includes a demultiplexer1010to split out the signals for the different PDs230A-C. That is, the demultiplexer1010can separate out various colors on the PIC1005to obtain multiple beat notes.

WhileFIG.10illustrates evaluating three reference lasers, the system could instead evaluate the frequency instabilities of two reference lasers, four reference lasers, etc.

In another embodiment, instead of combining the optical signals within the PIC1005, they could instead be combined using a separate combiner such as a different PIC or a WDM as discussed inFIGS.2,4A, and4B. In that case, only one optical fiber may be aligned to the PIC1005. Also, instead of directly detecting the three output signals using the PDs230A-C, the system could include one or more lenses and the filters discussed inFIGS.6-8that filter the optical signals before they are detected by the PDs230A-C.

FIG.11illustrates combining more than two optical signals, according to one embodiment described herein. As shown, a PIC1105receives multiple reference lasers generated by the laser sources201A and201B along with the frequency comb generated by the mode-locked laser205. The reference lasers can be combined with the frequency comb using an optical combiner as discussed in, e.g.,FIGS.3and5.

In one embodiment, the reference laser is frequency doubled relative to the reference laser. The resulting beats could be used to fully stabilize the frequency comb. Because the reference lasers are separated by an octave, they should beat with two different teeth in the frequency comb also separated by an octave. That is, the PD230A can detect a beat between the reference laser generated by the laser source201A and a first tooth in the frequency comb while the PD230B detects a beat between the reference laser generated by the laser source201B and a second tooth in the frequency comb. For example, a laser system can generate both 1064 nm and 532 nm reference lasers that can be heterodyned with two different teeth in the frequency comb.

Advantageously, by using reference lasers that are separated by one (or more) octaves, the frequency comb can be fully stabilized without having to detect a carrier envelope offset frequency (FCEO) of the frequency comb.

WhileFIG.11illustrates evaluating two reference lasers, the system could any two harmonics of the reference laser within the comb bandwidth to fully stabilize the comb.

In another embodiment, instead of combining the optical signals within the PIC1105, they could be instead be combined using a separate combiner such as a different PIC or a WDM as discussed inFIGS.2,4A, and4B. In that case, only one optical fiber may be aligned to the PIC1105. Also, instead of directly detecting the two output signals using the PDs230A-B, the system could include one or more lenses and the filters discussed inFIGS.6-8that filter the optical signals before they are detected by the PDs230A-B.

The preceding description is provided to enable any person skilled in the art to practice the various embodiments described herein. The examples discussed herein are not limiting of the scope, applicability, or embodiments set forth in the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments. For example, changes may be made in the function and arrangement of elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described with respect to some examples may be combined in some other examples. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method that is practiced using other structure, functionality, or structure and functionality in addition to, or other than, the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).

As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing and the like.

The methods disclosed herein comprise one or more steps or actions for achieving the methods. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims. Further, the various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and/or software component(s) and/or module(s), including, but not limited to a circuit, an application specific integrated circuit (ASIC), or processor. Generally, where there are operations illustrated in figures, those operations may have corresponding counterpart means-plus-function components with similar numbering.

As will be appreciated by one skilled in the art, the embodiments disclosed herein may be embodied as a system, method, or computer program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments presented in this disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block(s) of the flowchart illustrations and/or block diagrams.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other device to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the block(s) of the flowchart illustrations and/or block diagrams.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device provide processes for implementing the functions/acts specified in the block(s) of the flowchart illustrations and/or block diagrams.

The flowchart illustrations and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flowchart illustrations or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

The following claims are not intended to be limited to the embodiments shown herein, but are to be accorded the full scope consistent with the language of the claims. Within a claim, reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. No claim element is to be construed under the provisions of 35 U.S.C. § 112(f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.” All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims.