System and method of video multiplexing

In one or more embodiments, a display may receive a command that includes configuration information associated with a video stream, receive a video frame and may determine if the video frame is a synchronization frame. If the video frame is the synchronization frame, the display may reset one or more counters and may provide the video frame to another display or a repeater. If the video frame is not the synchronization frame, the display may determine if the video frame is to be displayed. If the video frame is to be displayed, the display may display the video frame and may provide the video frame to the other display or the repeater. If the video frame is not to be displayed, the display may provide the video frame to the other display or the repeater.

BACKGROUND

Field of the Disclosure

This disclosure relates generally to information handling systems and more particularly to displaying information via multiple displays.

Description of the Related Art

SUMMARY

In one or more embodiments, an information handling system may provide a command, that include configuration information associated with a video stream, to each of multiple displays and may provide multiple video frames to a first display of the multiple displays. For example, the first display may be configured to receive the command, receive a video frame of the multiple video frames, and determine if the video frame is a synchronization frame. If the video frame is the synchronization frame, the first display may reset one or more counters and provide the video frame to a second display of multiple displays or a repeater. If the video frame is not the synchronization frame, the first display may determine if the video frame is to be displayed. If the video frame is to be displayed, the first display may display the video frame and provide the video frame to the second display or the repeater. If the video frame is not to be displayed, the first display may provide the video frame to the second display or the repeater.

In one or more embodiments, receiving the command that includes the configuration information associated with the video stream may include receiving the command from the information handling system or another repeater. In one or more embodiments, receiving the video frame may include receiving the video frame the information handling system or another repeater. For example, the other repeater may interpose the information handling system and the first display. In one or more embodiments, determining if the video frame is the synchronization frame may include determining if the video frame includes at least one pattern. In one example, the at least one pattern may include multiple colors. In another example, the command may include the at least one pattern. In one or more embodiments, determining if the video frame is to be displayed may include determining if a frame count associated with the video frame matches a parity associated with the command.

DETAILED DESCRIPTION

As used herein, a reference numeral refers to a class or type of entity, and any letter following such reference numeral refers to a specific instance of a particular entity of that class or type. Thus, for example, a hypothetical entity referenced by ‘12A’ may refer to a particular instance of a particular class/type, and the reference ‘12’ may refer to a collection of instances belonging to that particular class/type or any one instance of that class/type in general.

In one or more embodiments, distributing video content to displays may be accomplished via storage and replacement of the video content or may accomplished be via networking downloads of the content. For example, a display may be equipped with a processor system that may handle signal decoding and video rendering. For instance, this may increase resource utilization of the display.

In one or more embodiments, a content source device may be coupled to multiple displays. For example, the multiple displays may be coupled via a daisy chain topology. For instance, the content source may be coupled to a first display, the first display may be coupled to a second display, the second display may be coupled to a third display, etc., and content for the third display may be distributed by the content source to the third display via the first display and the second display. In one or more embodiments, the video interface may include one or more of DisplayPort, HDMI (High-Definition Multimedia Interface), and DVI (Digital Visual Interface), among others. For example, a last display may be considered a sink device, and one or more displays between the sink device and the content source may be considered branch devices. For instance, each branch device may include a video input port and a video output port.

In one or more embodiments, one or more displays between the content source and sink device may receive a video stream via respective one or more input ports and relay the video stream via respective one or more output ports. For example, one or more branch devices may relay the video stream. In one or more embodiments, a repeater may be utilized. For example, a distance between the content source and a display or a distance between two displays may be greater than a specification recommends or requires. For instance, a repeater may be utilized between the content source and a display and/or between two displays.

In one or more embodiments, a video stream may include multiple portions. For example, each of the multiple portions of the video stream may be displayed by a respective display of multiple video displays. For instance, a synchronization frame may precede each portion of the video stream, which may indicate to a respective display to display a number of frames that are subsequent to the synchronization frame. In one or more embodiments, a synchronization frame may a start of a new video frame sequence. For example, the new video frame sequence may include content to be displayed via one or more displays. For instance, the content to be displayed may include different portions to be displayed by respective different displays.

In one or more embodiments, a synchronization frame may include a pattern. In one example, a first display may determine that a video stream includes a first pattern, and the first display may display a first number of frames that follow a synchronization frame that includes the first pattern. In another example, a second display may determine that the video stream includes a second pattern, and the second display may display a second number of frames that follow a synchronization frame that includes the first second. In one or more embodiments, a video processor (e.g., a scalar) may determine if a synchronization frame includes a specific pattern. For example, the video processor may determine if the synchronization frame includes the specific pattern via determining if the synchronization frame includes specific pixel values in one or more portions of the synchronization frame. For instance, the video processor may determine if the synchronization frame includes the specific pattern via determining if the synchronization frame includes specific pixel values in each of four corners of the synchronization frame. In one or more embodiments, determining if a frame is a synchronization frame may include determining that a frame includes the specific pattern. For example, if a frame is determined to be a synchronization frame, a frame count may be reset.

In one or more embodiments, an allocation of frames may be static or dynamic. In one example, frames may be assigned to a display may be pre-defined and/or known to the display. In one instance, a video processor may utilize frames of a video stream at designated frame counts. In another instance, a video processor may utilize a first frame of every five frames of a video stream. In another example, different video content may utilize different frame rates. For instance, a first display may utilize a first two frames of every five frames of a video stream for a period of time, and a second display may utilize a third frame of every five frames of the video stream for the period of time.

In one or more embodiments, one or more commands may be provided to one or more displays. In one example, a command format may include a regular frame update. For instance, the regular frame update may include a number of frames per cycle and a starting frame count (e.g., R(5,2) may indicate to display every second frame in a five-frame cycle). In a second example, a command format may include an on-demand update. For instance, the on-demand update may include a starting frame count and a number of frames that may follow (e.g., D(10, 2) may indicate to display two frames that follow frame ten). In another example, a command format may include a broadcast update. For instance, the broadcast update may indicate that all frames are to be displayed.

In one or more embodiments, one or more commands may be provided via an out-of-band method, process, and/or system. For example, one or more commands may be provided via one or more of a DisplayPort AUX channel, a monitor control command set, a display data channel, an Ethernet, and an inter-integrated circuit bus, among others. In one instance, DisplayPort AUX channel or a display data channel/command interface may be utilized to transport a frame assignment command. In another instance, a monitor control command set may be utilized as a command protocol to pack multiple commands.

In one or more embodiments, multiple displays may share an amount of bandwidth for video content. For example, the amount of bandwidth for the video content may include a frame rate of a resolution. For instance, DisplayPort version 1.4 may accommodate one hundred and twenty frames per second with 3840×2160 resolution. In one instance, each of the multiple displays may equally share a frame rate. In another instance, a first display of the multiple displays may utilize a first frame rate and a second display of the multiple displays may utilize a second frame rate, where the first frame rate may be less than the second frame rate. In this example, adding each frame rate of the multiple displays may equal one hundred and twenty frames per second.

Turning now toFIG. 1, an exemplary information handling system is illustrated, according to one or more embodiments. An information handling system (IHS)110may include a hardware resource or an aggregate of hardware resources operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, and/or utilize various forms of information, intelligence, or data for business, scientific, control, entertainment, or other purposes, according to one or more embodiments. For example, IHS110may be a personal computer, a desktop computer system, a laptop computer system, a server computer system, a mobile device, a tablet computing device, a personal digital assistant (PDA), a consumer electronic device, an electronic music player, an electronic camera, an electronic video player, a wireless access point, a network storage device, or another suitable device and may vary in size, shape, performance, functionality, and price. In one or more embodiments, components of IHS110may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display, among others. In one or more embodiments, IHS110may include one or more buses operable to transmit communication between or among two or more hardware components. In one example, a bus of IHS110may include one or more of a memory bus, a peripheral bus, and a local bus, among others. In another example, a bus of IHS110may include one or more of a Micro Channel Architecture (MCA) bus, an Industry Standard Architecture (ISA) bus, an Enhanced ISA (EISA) bus, a Peripheral Component Interconnect (PCI) bus, HyperTransport (HT) bus, an inter-integrated circuit (I2C) bus, a serial peripheral interface (SPI) bus, a low pin count (LPC) bus, an enhanced serial peripheral interface (eSPI) bus, a universal serial bus (USB), a system management bus (SMBus), and a Video Electronics Standards Association (VESA) local bus, among others.

In one or more embodiments, IHS110may include firmware that controls and/or communicates with one or more hard drives, network circuitry, one or more memory devices, one or more I/O devices, and/or one or more other peripheral devices. For example, firmware may include software embedded in an IHS component utilized to perform tasks. In one or more embodiments, firmware may be stored in non-volatile memory, such as storage that does not lose stored data upon loss of power. In one example, firmware associated with an IHS component may be stored in non-volatile memory that is accessible to one or more IHS components. In another example, firmware associated with an IHS component may be stored in non-volatile memory that may be dedicated to and includes part of that component. For instance, an embedded controller may include firmware that may be stored via non-volatile memory that may be dedicated to and includes part of the embedded controller.

As shown, IHS110may include a processor120, a volatile memory medium150, non-volatile memory media160and170, an I/O subsystem175, and a network interface180. As illustrated, volatile memory medium150, non-volatile memory media160and170, I/O subsystem175, and network interface180may be communicatively coupled to processor120.

In one or more embodiments, one or more of volatile memory medium150, non-volatile memory media160and170, I/O subsystem175, and network interface180may be communicatively coupled to processor120via one or more buses, one or more switches, and/or one or more root complexes, among others. In one example, one or more of volatile memory medium150, non-volatile memory media160and170, I/O subsystem175, and network interface180may be communicatively coupled to processor120via one or more PCI-Express (PCIe) root complexes. In another example, one or more of an I/O subsystem175and a network interface180may be communicatively coupled to processor120via one or more PCIe switches.

In one or more embodiments, the term “memory medium” may mean a “storage device”, a “memory”, a “memory device”, a “tangible computer readable storage medium”, and/or a “computer-readable medium”. For example, computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive, a floppy disk, etc.), a sequential access storage device (e.g., a tape disk drive), a compact disk (CD), a CD-ROM, a digital versatile disc (DVD), a random access memory (RAM), a read-only memory (ROM), a one-time programmable (OTP) memory, an electrically erasable programmable read-only memory (EEPROM), and/or a flash memory, a solid state drive (SSD), or any combination of the foregoing, among others.

In one or more embodiments, one or more protocols may be utilized in transferring data to and/or from a memory medium. For example, the one or more protocols may include one or more of small computer system interface (SCSI), Serial Attached SCSI (SAS) or another transport that operates with the SCSI protocol, advanced technology attachment (ATA), serial ATA (SATA), a USB interface, an Institute of Electrical and Electronics Engineers (IEEE) 1394 interface, a Thunderbolt interface, an advanced technology attachment packet interface (ATAPI), serial storage architecture (SSA), integrated drive electronics (IDE), or any combination thereof, among others.

Volatile memory medium150may include volatile storage such as, for example, RAM, DRAM (dynamic RAM), EDO RAM (extended data out RAM), SRAM (static RAM), etc. One or more of non-volatile memory media160and170may include nonvolatile storage such as, for example, a read only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM, NVRAM (non-volatile RAM), ferroelectric RAM (FRAM), a magnetic medium (e.g., a hard drive, a floppy disk, a magnetic tape, etc.), optical storage (e.g., a CD, a DVD, a BLU-RAY disc, etc.), flash memory, a SSD, etc. In one or more embodiments, a memory medium can include one or more volatile storages and/or one or more nonvolatile storages.

In one or more embodiments, network interface180may be utilized in communicating with one or more networks and/or one or more other information handling systems. In one example, network interface180may enable IHS110to communicate via a network utilizing a suitable transmission protocol and/or standard. In a second example, network interface180may be coupled to a wired network. In a third example, network interface180may be coupled to an optical network. In another example, network interface180may be coupled to a wireless network.

In one or more embodiments, network interface180may be communicatively coupled via a network to a network storage resource. For example, the network may be implemented as, or may be a part of, a storage area network (SAN), personal area network (PAN), local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wireless local area network (WLAN), a virtual private network (VPN), an intranet, an Internet or another appropriate architecture or system that facilitates the communication of signals, data and/or messages (generally referred to as data). For instance, the network may transmit data utilizing a desired storage and/or communication protocol, including one or more of Fibre Channel, Frame Relay, Asynchronous Transfer Mode (ATM), Internet protocol (IP), other packet-based protocol, Internet SCSI (iSCSI), or any combination thereof, among others.

In one or more embodiments, processor120may execute processor instructions in implementing one or more systems, flowcharts, methods, and/or processes described herein. In one example, processor120may execute processor instructions from one or more of memory media150-170in implementing one or more systems, flowcharts, methods, and/or processes described herein. In another example, processor120may execute processor instructions via network interface180in implementing one or more systems, flowcharts, methods, and/or processes described herein.

In one or more embodiments, processor120may include one or more of a system, a device, and an apparatus operable to interpret and/or execute program instructions and/or process data, among others, and may include one or more of a microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), and another digital or analog circuitry configured to interpret and/or execute program instructions and/or process data, among others. In one example, processor120may interpret and/or execute program instructions and/or process data stored locally (e.g., via memory media150-170and/or another component of IHS110). In another example, processor120may interpret and/or execute program instructions and/or process data stored remotely (e.g., via a network storage resource).

In one or more embodiments, I/O subsystem175may represent a variety of communication interfaces, graphics interfaces, video interfaces, user input interfaces, and/or peripheral interfaces, among others. For example, I/O subsystem175may include one or more of a touch panel and a display adapter, among others. For instance, a touch panel may include circuitry that enables touch functionality in conjunction with a display that is driven by a display adapter.

As shown, non-volatile memory medium160may include an operating system (OS)162, and applications (APPs)164-168. In one or more embodiments, one or more of OS162and APPs164-168may include processor instructions executable by processor120. In one example, processor120may execute processor instructions of one or more of OS162and APPs164-168via non-volatile memory medium160. In another example, one or more portions of the processor instructions of the one or more of OS162and APPs164-168may be transferred to volatile memory medium150, and processor120may execute the one or more portions of the processor instructions of the one or more of OS162and APPs164-168via volatile memory medium150.

As illustrated, non-volatile memory medium170may include information handling system firmware (IHSFW)172. In one or more embodiments, IHSFW172may include processor instructions executable by processor120. For example, IHSFW172may include one or more structures and/or functionalities of one or more of a basic input/output system (BIOS), an Extensible Firmware Interface (EFI), a Unified Extensible Firmware Interface (UEFI), and an Advanced Configuration and Power Interface (ACPI), among others. In one instance, processor120may execute processor instructions of IHSFW172via non-volatile memory medium170. In another instance, one or more portions of the processor instructions of IHSFW172may be transferred to volatile memory medium150, and processor120may execute the one or more portions of the processor instructions of IHSFW172via volatile memory medium150.

In one or more embodiments, processor120and one or more components of IHS110may be included in a system-on-chip (SoC). For example, the SoC may include processor120and a platform controller hub (not specifically illustrated).

Turning now toFIG. 2A, an example of an information handling system and multiple displays is illustrated, according to one or more embodiments. As shown, IHS110may be coupled to a display210A. In one or more embodiments, IHS110may be or include a content source device. For example, IHS110may provide a video stream to display210A. For instance, the video stream may include multiple frames.

As illustrated, display210A may be coupled to a display210B, which may be coupled to a display210C. As shown, display210C may be coupled to a display210D. In one or more embodiments, display210A may receive the video stream from IHS110and may provide the video stream to display210B. For example, display210A may display one or more portions of the video stream. In one or more embodiments, display210B may receive the video stream from display210A and may provide the video stream to display210C. For example, display210B may display one or more portions of the video stream. In one or more embodiments, display210C may receive the video stream from display210B and may provide the video stream to display210D. For example, display210C may display one or more portions of the video stream. In one or more embodiments, display210D may receive the video stream from display210C. For example, display210D may display one or more portions of the video stream.

Turning now toFIGS. 2B and 2C, examples of an information handling system, a repeater, and multiple displays are illustrated, according to one or more embodiments. As shown inFIG. 2B, IHS110may be coupled to a repeater220A, which may be coupled to display210A. In one or more embodiments, a distance between IHS110and display210A may be greater than a specification recommends or requires. For example, IHS110may provide a video stream to repeater220A, and repeater220A may provide the video stream to display210A. As illustrated inFIG. 2C, display210B may be coupled to a repeater220B, which may be coupled to display210C. In one or more embodiments, a distance between display210B and display210C may be greater than a specification recommends or requires. For example, display210B may provide a video stream to repeater220B, and repeater220B may provide the video stream to display210C. In one or more embodiments, any number of repeaters and/or any number of displays may be utilized in various configurations.

Turning now toFIG. 2D, an example block diagram of a display is illustrated, according to one or more embodiments. As shown, display210may include a control unit230. In one or more embodiments, control unit230may be configured to implement one or more systems, flowcharts, methods, and/or processes described herein. In one or more embodiments, control unit230may be or include a scalar and/or a video processor. As illustrated, display210may include an input240coupled to control unit230and may include an output250coupled to control unit230. In one example, input240may include a HDMI interface, a DVI interface, or a DisplayPort interface, among others. In another example, output250may include a HDMI interface, a DVI interface, or a DisplayPort interface, among others. In one or more embodiments, display210may receive a video stream from IHS110, a repeater220, or another display210via input240. In one or more embodiments, control unit230may receive the video stream from input240. In one or more embodiments, control unit230may process video stream. For example, processing the video stream may include displaying one or more frames and/or one or more portions of the video stream. In one or more embodiments, control unit230may provide the video stream to output250. For example, output250may provide the video stream to a repeater220or another display210. In one or more embodiments, output250may not output the video stream to a repeater220or another display210. For example display210D may not output the video stream to a repeater220or another display210. In one or more embodiments, display210may include one or more screens (not specifically illustrated) that may provide light emissions, based at least on one or more frames of the video stream, to one or more persons and/or one or more cameras.

Turning now toFIG. 3A, an example of a video stream is illustrated, according to one or more embodiments. As shown, a video stream310may include multiple frames, such as frames320A-320H. As illustrated, display210may receive video stream310. In one or more embodiments, a frame320may be a synchronization frame or a content frame.

Turning now toFIG. 3B, an example of a synchronization frame is illustrated, according to one or more embodiments. As shown, a synchronization frame320may include multiple patterns, such as patterns330-333. In one or more embodiments, a pattern may include one or more pixels. In one example, pattern330may include one or more red pixels, pattern331may include one or more green pixels, pattern332may include one or more blue pixels, and pattern333may include one or more black pixels. In another example, pattern330may include one or more black pixels, pattern331may include one or more red pixels, pattern332may include one or more green pixels, and pattern333may include one or more blue pixels. In one or more embodiments, a pattern may include multiple colors. For example, the pattern may include multiple pixels associated with multiple colors.

In one or more embodiments, display210may receive one or more commands that includes a synchronization pattern and configures display210. For example, display210may receive the one or more commands that includes the synchronization pattern and configures display210via one or more of a DisplayPort AUX channel, a monitor control command set, a display data channel, an Ethernet, and an I2C bus, among others. For instance, the one or more commands may include a marker and/or a data sequence that may be utilized by display210to correlate and/or associate a video frame as a synchronization frame, which was configured outside a video stream.

Turning now toFIG. 3C, an example of a content frame is illustrated, according to one or more embodiments. As shown, a content frame320may include content340. For example, content340may include an image. In one or more embodiments, display210may display content340. For example, display210may display content340via its screen(s).

Turning now toFIG. 4, an example method of operating an information handling system is illustrated, according to one or more embodiments. At410, a command may be provided to a display of multiple displays. For example IHS110may provide a command to a display of multiple displays. In one or more embodiments, the command may include an address. For example, the command may include an address associated with a display of displays210A-210D. In one instance, IHS110may provide a command, addressed to display210A, to display210A. In another instance, IHS110may provide a command, addressed to display210C, to display210A, and one or more displays and/or one or more repeaters may repeat and/or relay the command to display210C. In one or more embodiments, the command may include one or more patterns associated with a synchronization frame. For example, the command may include one or more of patterns330-333.

In one or more embodiments, a command format may include an update. In one example, a command format may include a regular frame update. For instance, the regular frame update may include a number of frames per cycle and a starting frame count (e.g., R(5,2) may indicate to display every second frame in a five-frame cycle). In a second example, a command format may include an on-demand update. For instance, the on-demand update may include a starting frame count and a number of frames that may follow (e.g., D(10, 2) may indicate to display two frames that follow frame ten). In another example, a command format may include a broadcast update. For instance, the broadcast update may indicate that all frames are to be displayed.

In one or more embodiments, one or more commands may be provided via an out-of-band method, process, and/or system. For example, one or more commands may be provided via one or more of a DisplayPort AUX channel, a monitor control command set, a display data channel, an Ethernet, and an inter-integrated circuit bus, among others. In one instance, DisplayPort AUX channel or a display data channel/command interface may be utilized to transport a frame assignment command. In another instance, a monitor control command set may be utilized as a command protocol to pack multiple commands.

At415, it may be determined if there is another display to send the command. For example, IHS110may determine if there is another display to send the command. If there is another display to send the command, the method may proceed to410, according to one or more embodiments. If there is not another display to send the command, a synchronization frame may be provided, at420. In one example, IHS110may provide a synchronization frame to display210A. In another example, IHS110may provide a synchronization frame to repeater220A.

At425, content frames may be provided. In one example, IHS110may provide content frames to display210. In another example, IHS110may provide content frames to repeater20A. At430, it may be determined if there is a change in content distribution. For example, IHS110may determine if there is a change in content distribution. In one or more embodiments, a change in content distribution may include a number of frames per second allocation to one or more displays and/or a static frame allocation to one or more frames, among others. If there is not a change in content distribution, the method may proceed to420, according to one or more embodiments. If there is a change in content distribution, the method may proceed to410, according to one or more embodiments.

Turning now toFIG. 5, an example method of operating a display is illustrated, according to one or more embodiments. At510, a command may be received. For example, display210may receive a command. In one instance, display210may receive the command from IHS110. In a second instance, display210may receive the command from another display210. In one instance, display210may receive the command from repeater220. In one or more embodiments, display210may receive the command via one or more of a DisplayPort AUX channel, a monitor control command set, a display data channel, an Ethernet, and an inter-integrated circuit bus, among others.

At515, a video frame may be received. For example, display210may receive a video frame. In one instance, display210may receive the video frame from IHS110. In a second instance, display210may receive the video frame from another display210. In another instance, display210may receive the video frame from repeater220. At520, it may be determined if the video frame is a synchronization frame. For example, display210may determine if the video frame is a synchronization frame. In one or more embodiments, determining if the video frame is a synchronization frame may include determining if the video frame includes one or more patterns. For example, determining if the video frame is a synchronization frame may include determining if the video frame includes one or more of patterns330-333.

If the video frame is a synchronization frame, a reset may be performed, at525. For example, display210may perform the reset. In one or more embodiments, performing the reset may include resetting one or more counters of display210. For example, a frame count may be reset. In one or more embodiments, the method may proceed to540.

If the video frame is not a synchronization frame, it may be determined if the video frame is to be displayed, at530. For example, display210may determine if the video frame is to be displayed. In one or more embodiments, determining if the video frame is to be displayed may include utilizing one or more counters. For example, the one or more counters may include a frame count. In one or more embodiments, determining if the video frame is to be displayed may include determining if a current frame count matches a parity associated with the command. For example, the parity associated with the command may include every Nth frame. In one instance, the parity associated with the command may be five, and display210may display every fifth frame and may not display other video frames.

If the video frame is to be displayed, the content frame may be displayed at535. For example, display210may display the content frame. For instance, display210may display the content frame its screen(s). If the content frame is not to be displayed, the contented frame may be provided. In one example, display210may provide the content frame to another display210. In another example, display210may provide the content frame to repeater220. In one or more embodiments, the method may proceed to515. In one or more embodiments, another command may be received, and the method may proceed to510. For example, method element510may be performed at any time, and the method may proceed to515after the method completes method element540.

In one or more embodiments, one or more of the method and/or process elements and/or one or more portions of a method and/or processor elements may be performed in varying orders, may be repeated, or may be omitted. Furthermore, additional, supplementary, and/or duplicated method and/or process elements may be implemented, instantiated, and/or performed as desired, according to one or more embodiments. Moreover, one or more of system elements may be omitted and/or additional system elements may be added as desired, according to one or more embodiments.

In one or more embodiments, a memory medium may be and/or may include an article of manufacture. For example, the article of manufacture may include and/or may be a software product and/or a program product. For instance, the memory medium may be coded and/or encoded with processor-executable instructions in accordance with one or more flowcharts, systems, methods, and/or processes described herein to produce the article of manufacture.