Variable response rotary input control for a computer peripheral device

A user input device that includes a rotary input control is described herein. The rotary input control includes first and second ferritic substrates; first and second permanent magnets extending between the first and second ferritic substrates to form a magnetic circuit; one or more magnetizing coils wrapped around the first permanent magnet; and a wheel defining a central volume within which the first and second ferritic substrates, the first and second permanent magnets and the one or more magnetizing coils are positioned. The user input device also includes a control system configured to direct current to the one or more magnetization coils to change a magnetization of the first permanent magnet to adjust a resistance profile of the rotary input control.

BACKGROUND

Physical computer peripheral interface devices can include keyboards, mice, joysticks, wheels, etc., that can be physical devices that a user manipulates to interface with a computer device. Physical computer peripheral interface devices can include wheel input elements that a user can manipulate. For example, computer mice can include scroll wheels that can be used to pan a viewing window across an image or document displayed by a computer device in response to rotating the scroll wheel around an axis. Interface wheels can operate across a plurality of resistance profiles. For example, a mouse scroll wheel may operate selectively between a free-wheeling mode and a ratcheting mode each corresponding to a respective resistance profile. Mechanisms for more efficiently switching between one or more resistance profiles are desirable.

SUMMARY

This disclosure describes various mechanisms by which the feedback response of a rotary input control may be changed in an energy efficient and reliable manner.

A user input device is disclosed and includes the following: a rotary input control, comprising: a wheel; and an electropermanent magnet assembly, comprising: a magnetizing device, and a permanent magnet coupled to the magnetizing device and emitting a magnetic field; and a control system configured to modulate an amount of electrical energy supplied to the magnetizing device to change a resistance profile of the rotary input control, the modulation switching the permanent magnet from a first state in which the magnetic field has a first magnetic flux to a second state in which the magnetic field has a second magnetic flux greater than the first magnetic flux, the magnetic field having a first polarity in both the first and second states. In some aspects, the electropermanent magnet assembly further comprises ferritic substrates positioned at opposing ends of the electropermanent magnet assembly, each ferritic substrate comprising a first plurality of teeth protruding radially from the ferritic substrate and toward the wheel. The wheel may define a central opening within which the electropermanent magnet assembly is disposed and wherein the wheel comprises a second plurality of teeth protruding from the wheel and into the central opening. In some embodiments, the user input device is a computer mouse.

In some aspects, the resistance profile is a ratcheting resistance profile when the permanent magnet is in the first state, the resistance profile being generated by a magnetic flux emitted by the electropermanent magnet assembly that flows through the first plurality of teeth to interact with corresponding ones of the second plurality of teeth protruding from the wheel. The permanent magnet may be a first permanent magnet and the electropermanent magnet assembly further comprises a second permanent magnet, the first and second permanent magnets being aligned and cooperating with magnetic poles of the ferritic substrates to form a magnetic circuit. The user input device may further comprise a shaft that rotatably couples the electropermanent magnet assembly to the wheel. The permanent magnet can be a first permanent magnet and the electropermanent magnet assembly further comprises a second permanent magnet, wherein the shaft extends between the first and second permanent magnets. In some implementations, when in the first state the resistance profile applies no force to the wheel, and when in the second state the resistance profile applies a ratcheting force to the wheel. In some cases, in the first state the resistance profile is applied by interaction between a magnetic field emitted by the electropermanent magnet assembly and magnetically attractable materials of the wheel.

Another user input device is disclosed and includes the following: a rotary input control, comprising: a magnetizing coil; a first permanent magnet extending through the magnetizing coil; a second permanent magnet, the first permanent magnet and the second permanent magnet being configured to set a resistance profile for the wheel by cooperatively emitting a magnetic field that is operable to oppose rotation of the wheel; and a control system configured to switch between three or more different resistance profiles of the rotary input control by varying an amount of electrical energy supplied to the magnetizing coil. In some cases, the user input device can be a computer mouse. The control system may include a capacitor configured to deliver a current to the one or more magnetization coils to control the amount of electrical energy supplied by the magnetizing coil. The control system can comprise an analog feedback loop. The user input device can further include a shaft about which the wheel rotates that extends between the first permanent magnet and the second permanent magnet. In some aspects, the wheel can define a central volume within which the first and second permanent magnets and the magnetizing coil are positioned. Some embodiments may further comprise a first ferritic substrate comprising a first plurality of teeth and a second ferritic substrate comprising a second plurality of teeth, wherein the first and second permanent magnets extend between the first and second ferritic substrates to form a magnetic circuit. The wheel may be mechanically decoupled from the first and second permanent magnets in certain embodiments.

In certain embodiments, a user input device may comprise: a rotary input control, comprising: a wheel; and an electropermanent magnet assembly, comprising: a magnetizing coil, a first permanent magnet extending through the magnetizing coil, and a second permanent magnet adjacent to the first permanent magnet; and a controller configured to set a resistance profile of the rotary input control by regulating an amount of electrical energy supplied to the magnetizing coil in accordance with a predetermined calibration curve associated with the electropermanent magnet assembly. In some aspects, the predetermined calibration curve defines an amount of resistance to rotation of the wheel resulting from supplying different amounts of electrical energy to the magnetizing coil. The electropermanent magnet assembly can further comprise a first ferritic substrate at a first end of the first and second permanent magnets and a second ferritic substrate at a second end of the first and second permanent magnets, the first and second ferritic substrate comprising radially protruding teeth.

DETAILED DESCRIPTION

While certain embodiments are described, these embodiments are presented by way of example only, and are not intended to limit the scope of protection. The apparatuses and systems described herein may be embodied in a variety of other forms. Furthermore, various omissions, substitutions, and changes in the form of the example methods and systems described herein may be made without departing from the scope of protection.

A peripheral input device used as an interface between a user and a computer device can include a rotary input control as a physical element. The user may rotate the input control to cause a corresponding command to be sent to the computer device. An example of such an input control is a scroll wheel that can be located between the left and right buttons on top of a peripheral input device. Scroll wheels can be used to pan a field of view of a computer display. For example, a scroll wheel can be used by a user to scroll through a view of a document displayed on a computer screen. Other possible controls are compatible with the described embodiments that can include, e.g., a rotary dial or rotary encoder. However, for the purpose of simplicity examples of a scroll wheel will be used, but this should not limit the contemplated scope of the described embodiments.

A scroll wheel may have different modes of operation. For example, one mode of operation can be a free-wheeling mode wherein the scroll wheel can be rotated around an axis with a relatively constant and low coefficient of friction (which can be referred to as a first resistance profile). Using such a mode, a user can swiftly pan their view over a document with a single finger movement to rotate the wheel. Another mode can be a ratcheted mode wherein the scroll wheel encounters periodic segments of relatively high friction with lower friction segments between (which can be referred to as a resistance profile different from the first resistance profile). Such a mode can allow a user to have greater control when panning through a document as a single finger movement to rotate the wheel may result in a metered panning of a view.

Some peripheral input devices allow a user to selectively enable a different resistance profile for application to a scroll wheel to change the behavior of the scroll wheel according to a corresponding computer application, intended use, or user preference, for example. Different mechanisms are disclosed that can be used to change the resistance profile applied to a wheel of a peripheral input device. Each of the mechanisms provide different power usage, noise, user feel, and actuation time characteristics. In some embodiments, the resistance profile can be changed in accordance with parameters provided by an active application. For example, the resistance profile could increase sharply to signify a brief pause/stop to scrolling to emphasize a particular feature. Additional force applied to overcome the increased resistance profile can allow scrolling to continue and could in certain instances initiate a change back to the initial resistance profile.

FIG.1shows an exemplary user input device100suitable for use with the described embodiments and taking the form of a wireless mouse. Wireless mouse100includes a housing102and input buttons102and104. Positioned between input buttons102and104is a rotary input control150taking the form of a scrolling wheel. Rotary input control150can include a mechanism that can be used to implement a ratcheting resistance profile for rotation of rotary input control150around axis152. Rotary input control150can include or be coupled to indentations154having a “see-saw” cross-sectional profile. The mechanism can include an electropermanent magnetic actuator for changing a resistance profile associated with rotation of rotary input control150.

FIGS.2A-2Bshow an exemplary electropermanent magnet200. In particular, electropermanent magnet200includes a first permanent magnet202and a second permanent magnet204. First permanent magnet202can have a higher intrinsic coercivity than second permanent magnet204. In some embodiments, permanent magnet202can take the form of a rare earth (e.g., Neodymium Iron Boron or Samarium Cobalt) magnet and second permanent magnet204can take the form of a Ferromagnetic (e.g., Alnico or ferrite) magnet. The lower intrinsic coercivity of second permanent magnet204allows for a magnetizing device taking the form of magnetizing coil206to emit a magnetic field of sufficient strength to reverse a polarity of the magnetic field emitted by second permanent magnet204without affecting the magnetization of first permanent magnet202. For example, in some embodiments, an intrinsic coercivity of first permanent magnet202can be over ten times greater than an intrinsic coercivity of second permanent magnet204. The lower intrinsic coercivity of second permanent magnet204also reduces the amount of electrical energy expended to flip the polarity of second permanent magnet204, thereby allowing for more efficient operation of electropermanent magnet200. First permanent magnet202and second permanent magnet204are each positioned between and in direct contact or at least close contact with ferritic substrates208. Ferritic substrates208can be formed from a ferritic material such as mild steel, having an even lower intrinsic coercivity than second permanent magnet204. Ferritic substrates208helps guide the magnetic fields emitted by first permanent magnet202and second permanent magnet204. In some embodiments a size and shape of ferritic substrates208can be adjusted to produce a magnetic field having a desired size and shape.

FIG.2Ashows dashed lines210depicting a magnetic flux emitted by electropermanent magnet200that show how with both first and second permanent magnets202and204oriented in the same direction, magnetic flux is released from electropermanent magnet200to create well defined north and south poles. This magnetic field is symmetrical, as depicted, when the strengths of the magnetic fields emitted by the two permanent magnets are about the same.

FIG.2Bshows how electropermanent magnet200can be shifted from a first state in which a magnetic field extends out of electropermanent magnet200to a second state in which the magnetic field is contained within electropermanent magnet200. Shifting electropermanent magnet200from the first state to the second state can be performed by reversing the polarity of first permanent magnet202so that it is oriented in the opposite direction as the polarity of second permanent magnet204. The magnetic flux represented by dashed lines210and cooperatively generated by both permanent magnets202/204remains substantially contained within and circulating through ferritic substrates208, first permanent magnet202and second permanent magnet204. This results in electropermanent magnet200emitting little to no magnetic field. It should be noted that in some embodiments, electropermanent magnet200can have more than two states. For example, by varying an amount of energy supplied by magnetizing coil206during a re-magnetizing operation, the size and strength of the field emitted by electropermanent magnet200can be adjusted to provide a desired strength. It should be appreciated that the described state variation can be applied to any of the embodiments described herein.

FIG.3Ashows a perspective view of an exemplary implementation in which an electropermanent magnet is configured to alter a resistance profile of a rotary input control150compatible with the device depicted inFIG.1. The electropermanent magnet300is disposed within a central opening defined by ferromagnetic wheel302. Ferromagnetic wheel302includes multiple teeth304protruding into the central opening and toward electropermanent magnet300. Electropermanent magnet300includes a first permanent magnet306and a second permanent magnet308. Magnetizing coils310and312are wrapped around different portions of second permanent magnet308and configured to reverse a polarity of the magnetic field emitted by second permanent magnet308in order to change a resistance profile of rotary input control150. It should be noted that while a specific magnetizing coil configuration is shown it should be appreciated that a remagnetizing magnetic field can be generated in other ways such as through the application of a magnetic field using a strong permanent magnet. Ferritic substrates314each includes radially protruding teeth316that are spaced at the same interval as teeth304of ferromagnetic wheel302. Radially protruding teeth316concentrate the magnetic field emitted by electropermanent magnet300so that rotation of ferromagnetic wheel302generates a resistance profile that provides a user with a varying amount of resistance, where the variation in resistance occurs at a rate that corresponds to a speed at which ferromagnetic wheel302is rotating. The variation in resistance is caused by interaction between the magnetic field emitted by electropermanent magnet300and ferromagnetic materials within the teeth of ferromagnetic wheel302.

FIGS.3B-3Cshow a support structure for rotary input control150.FIG.3Bshows a side view of rotary input control150elevated above a support surface315by a support structure317. The central opening of ferromagnetic wheel302is covered by a non-magnetic bearing assembly318that includes a self-lubricated axle320that can be configured to stabilize ferromagnetic wheel302during use by engaging a bearing of housing102(not depicted). In some embodiments, support surface315can take the form of a wall of an input device housing, such as housing102as depicted inFIG.1. In some embodiments, support structure317can integrated or somehow incorporated into the wall of the input device housing.

FIG.3Cshows an exploded view of rotary input control150and support structure317. In particular, teeth304do not extend axially through the central opening defined by ferromagnetic wheel302but instead leave space for a portion of bearing assembly318to engage ferromagnetic wheel302by an interference fit. The interference fit provides a simple way for bearing assembly318to be axially aligned with ferromagnetic wheel302. Alternatively, ferromagnetic wheel302could also be adhesively coupled to one side of ferromagnetic wheel302.FIG.3Calso shows how electropermanent magnet300can be coupled to support structure316as well as how a shaft322extends through a central region of electropermanent magnet300. In particular, shaft322can extend between first permanent magnet306and second permanent magnet308. Shaft322engages an opening defined by self-lubricated axle320to couple ferromagnetic wheel302to support structure317. It should be noted that in some embodiments, bearing assembly318and support structure317can both be constructed of polymer material to avoid any unwanted interference with electropermanent magnet300.

FIGS.4A-4Bshow cross sectional views of rotary input control150in which a polarity of the magnetic fields emitted by permanent magnets306and308are oriented in the same direction.FIG.4Ashows how a magnetic flux emitted from radially protruding teeth316interacts with the ferromagnetic material making up teeth304. In the depicted position, each of teeth304are positioned between two adjacent radially protruding teeth304, which results in a resistance to rotation of ferromagnetic wheel302in either direction being low. However, when radially protruding teeth316are aligned with a respective one of teeth304, as shown inFIG.4B, rotation of ferromagnetic wheel302becomes more difficult due to rotation in either direction moving teeth304farther away from a respective one of radially protruding teeth316. In this way, a resistance profile can provide a ratcheting feedback to a user without the need for any movement of electropermanent magnet300. In some embodiments, ferromagnetic wheel can include a tactile ribbed layer that improves a grip of a user's finger on rotary input control150.

FIG.4Cshows another cross-sectional view of rotary input control150in which a polarity of permanent magnet308has been reversed. This results in the magnetic flux402being contained within ferritic substrates314since the polarity of the permanent magnets allows magnetic flux402to circulate within the magnetic circuit defined by permanent magnets306/308and ferritic substrates314. This results in there being little to no interaction between electropermanent magnet300and ferromagnetic wheel302, which allows a user to experience no tactile feedback during rotation of rotary input control150.

FIG.5Ashows a graph illustrating a first input contour502and a second input contour504indicating an amount of torque applied by the electropermanent magnet as a function of applied magnetomotive force (MMF) to a permanent magnet. First input contour502shows how torque output of the electropermanent magnet increases when the MMF is in a first direction and second input contour504shows how torque output is reduced when the MMF is applied in a second direction opposite the first direction. First input contour502illustrates how a minimum MMF of about 700 A is needed to shift the polarity of the electropermanent magnet sufficiently to generate a noticeable amount of torque in response to rotation of a rotary input control by a user. The contour begins with a gradual slope since the magnetizing field applied opposes magnetic flux flowing through the electropermanent magnet and transitions to a linear profile from about 600 A to 900 A. The dotted lines show how torques of 0.9 and 1.2 mNm can be achieved by supplying different amounts of MMF. In this way, a resistance profile of the rotary input control can be tuned to a desired level, making it possible to switch between three or more different operating states, that include at least: a free-wheeling state, a first ratcheting state and a second ratcheting state.

FIG.5Bshows another graph illustrating input contours T1, T2, T3and T4. The input contours represent how a peak saturation of the electropermanent magnet degrades over time. Degradation of the electropermanent magnet can be caused by many factors that include degradation of various components such as the magnetizing coils, capacitors for supplying charge to the electropermanent magnet, magnetic substrate degradation due to heat damage, and the like. Consequently, to achieve the same amount of torque a controller responsible for supplying electrical energy to the magnetizing coils can be increased as the magnetic material of the switchable polarity permanent magnet degrades after undergoing a certain amount of polarity switches. In some embodiments, the controller can include circuitry for achieving a desired amount of torque regardless of the state of degradation of the magnetic materials making up the electropermanent magnet. In some embodiments, the controller associated with the electropermanent magnet can include computer readable memory that stores analytics related to tracking aging of the components of the electropermanent magnet over time. In some embodiments, these analytics can be stored, accessed and/or manipulated through a cloud based portal. The control system can take many forms including a linear continuous current control system, a feed forward control system or a digital feedback loop with a switch mode current source. Each different type of control system has its own advantages and disadvantages. For example, a linear continuous current control system benefits from providing little to no EMI, is easy to integrate into an existing system, and is relatively inexpensive to produce. A switched mode continuous current control is able to save energy when a lower amount of electrical energy is needed to change a magnetization of the electropermenant magnet but tends to be relatively large and includes expensive components. Finally, a feed forward control system also gains battery life when relatively lower amounts of electrical energy are needed to change the magnetization of the electropermanent magnet but should be recalibrated periodically over its useful lifetime to achieve consistent resistance profile implementation and tends to be more costly to implement.

FIG.5Cshows a flow chart506illustrating a method for calibrating a control system. Factory calibration is important to the proper functioning of the EPM and corresponding control system as the initial factory calibration determines the initial input contours which only tend to change slightly over time. If the determination of the amount of magnetomotive force (MMF) needed to achieve desired amounts of torque is even slightly off the resulting over or under magnetized permanent magnet of the EPM can severely impact performance of the rotary input control feedback. This is due in part to needing a very precise amount of MMF to achieve a desired amount of torque output due to the steep slope of the linear portion of the input contours. Periodic recalibration can be helpful in some instances including where various components in the electropermanent magnet assembly degrade over time changing the amount of charge needed to achieve a desired magnetic field strength. The periodic recalibration can be more or less useful depending on the type of control system being used. Flow chart506illustrates a method for calibrating or recalibrating an amount of resistance provided by a rotary control wheel. At508, an estimation of free-wheeling friction can be made by asking a user to spin the rotary control while the electropermanent magnetic assembly is in a first state in which a magnetic field strength emitted by the electropermanent magnetic assembly is minimized. An RPM of the rotary control can then be tracked using a position sensor to measure a rate of decay of the RPM. This measurement can then be used to establish a new baseline resistance to rotation caused by factors such as bearing wear, additional friction caused by the build of contamination within and proximate to the rotary control wheel. Detection of a higher baseline resistance can be used to reduce an amount of resistance needed to be supplied by the electropermanent magnet assembly to generate a desired amount of resistance to rotation. At510, the user can be asked to spin the rotary control again. During the rotation of the rotary input control the electropermanent magnet can be applied at different torque levels to observe a resulting amount of decay to the RPM. In this way, changes to the decay rate for the tested different torque levels can be used to generate a new torque curve allowing for a desired amount of torque to be generated at the rotary input control. In some embodiments, the user might be asked to spin the rotary input control multiple time to get accurate readings from a sufficiently large number of different torque settings. For example, a first amount of charge could be applied to the electropermanent magnet to determine a saturation point for the torque curved, while second, third and sometime more amounts of energy could be applied to identify a slope of a linear portion of the torque curve. In this way, a detailed torque curve can be determined to assist the control system in achieving an amount of torque necessary for many different uses. It should be noted that in some cases the torque curve can also be referred to as a calibration curve when the torque curve is updated to provide an accurate amount of resistance to rotation of the rotary control wheel.

FIG.6shows an exemplary linear continuous current controller for regulating current to one or more magnetizing coils of an electro permanent magnet. Digital/Analog converter602can be configured to receive an input signal from micro-controller604and convert the input signal into a current setting606that is received by error amplifier608where it is compared to an amount of current607being generated by the system. Current setting606is supplied for a duration sufficient to provide a desired amount of electrical energy. In some embodiments, digital/analog controller602can be replaced by a pulse width modulator and integrator/filter combination that generates the current setting606from the input signal. A difference between the current being supplied to the magnetizing coil607and current setting606is amplified by error amplifier608and then used to at least partially control operation of digital control & current steering modules610. Digital control & current steering modules610are configured to receive input signals from micro capacitor604and then control operation of bipolar junction transistor (BJT)612based on inputs from microcontroller604and error amplifier608. In this way, an amount of current received at magnetizing coil614from tank capacitor611can be controlled in accordance with current setting606. Because the control system is electronic, the controller can be configured to change the resistance profile generated by an associated electropermanent magnet in response to user inputs or in response to cues provided by an application being manipulated by the user input device. For example, rotation of the rotary input control could be temporarily paused by actuating magnetizing coil614

FIG.7Ashows a side view of an electropermanent magnet assembly700for changing a resistance profile of a rotary input control. In particular, electropermanent magnet assembly700includes an electropermanent magnet200disposed within a housing702formed from magnetically neutral materials such as polymer or ceramic based materials. Electropermanent magnet200can be similar to or the same as the previously described electropermanent magnet200described inFIGS.2A-2Band is depicted in a first state in which little to know magnetic field is emitted from electropermanent magnet200. Housing702can be positioned upon a supporting surface and biased away from wheel704by biasing mechanism706. Biasing mechanism706can be configured to prevent housing702from contacting wheel704while electropermanent magnet200is in the first state where electropermanent magnet200is not emitting a magnetic field.

FIG.7Bshows how when electropermanent magnet200is in a second state a magnetic field emitted from electropermanent magnet200extends through one or more walls of housing702. The magnetic field is then able to interact with magnetically attractable materials incorporated within wheel704and/or support structure708associated with biasing mechanism706and generate a force that overcomes the force applied by biasing mechanism706to push a corner of housing702into at least periodic contact with wheel704. Wheel704includes an irregular or rigid exterior surface that interacts with the corner of housing702to provide ratcheting feedback to a user during rotation of wheel704. It should be appreciated that by increasing or decreasing the strength of the field emitted by electropermanent magnet200a resistance profile associated with wheel704can be fine-tuned or changed in order to suit a given circumstance. For example, for some embodiments, it can be beneficial to configure electropermanent magnet200to press the corner of housing702into wheel704to such an extent that wheel704is completely prevented from moving.

FIG.8shows a system800for operating a host computing device (e.g., host computing device810), according to certain embodiments. System800can be used to implement any of the host computing devices or peripheral interface devices discussed herein and the myriad embodiments defined herein or within the purview of this disclosure but not necessarily explicitly described. System800can include one or more processors802that can communicate with a number of peripheral devices (e.g., input devices) via a bus subsystem804. These peripheral devices can include storage subsystem806(comprising memory subsystem808and file storage subsystem810), user interface input devices814, user interface output devices816, and network interface subsystem812. User input devices814can be any of the input device types described herein (e.g., keyboard, computer mouse, remote control, etc.). User output devices816can be a display of any type, including computer monitors, displays on handheld devices (e.g., smart phones, gaming systems), or the like, as would be understood by one of ordinary skill in the art. Alternatively or additionally, a display may include virtual reality (VR) displays, augmented reality displays, holographic displays, and the like, as would be understood by one of ordinary skill in the art.

In some examples, internal bus subsystem804can provide a mechanism for letting the various components and subsystems of computer system800communicate with each other as intended. Although internal bus subsystem804is shown schematically as a single bus, alternative embodiments of the bus subsystem can utilize multiple buses. Additionally, network interface subsystem812can serve as an interface for communicating data between computer system800and other computer systems or networks. Embodiments of network interface subsystem812can include wired interfaces (e.g., Ethernet, CAN, RS232, RS485, etc.) or wireless interfaces (e.g., Bluetooth®, BLE, ZigBee®, Z-Wire®, Wi-Fi, cellular protocols, etc.).

In some cases, user interface input devices814can include a keyboard, a presenter, a pointing device (e.g., mouse, trackball, touchpad, etc.), a touch-screen incorporated into a display, audio input devices (e.g., voice recognition systems, microphones, etc.), Human Machine Interfaces (HMI) and other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and mechanisms for inputting information into computer system800. Additionally, user interface output devices816can include a display subsystem, a printer, or non-visual displays such as audio output devices, etc. The display subsystem can be any known type of display device. In general, use of the term “output device” is intended to include all possible types of devices and mechanisms for outputting information from computer system800.

Storage subsystem806can include memory subsystem808and file storage subsystem810. Memory subsystems808and file storage subsystem810represent non-transitory computer-readable storage media that can store program code and/or data that provide the functionality of embodiments of the present disclosure. In some embodiments, memory subsystem808can include a number of memories including main random access memory (RAM)818for storage of instructions and data during program execution and read-only memory (ROM)820in which fixed instructions may be stored. File storage subsystem810can provide persistent (i.e., non-volatile) storage for program and data files, and can include a magnetic or solid-state hard disk drive, an optical drive along with associated removable media (e.g., CD-ROM, DVD, Blu-Ray, etc.), a removable flash memory-based drive or card, and/or other types of storage media known in the art.

Most embodiments utilize at least one network that would be familiar to those skilled in the art for supporting communications using any of a variety of commercially available protocols, such as TCP/IP, UDP, OSI, FTP, UPnP, NFS, CIFS, and the like. The network can be, for example, a local area network, a wide-area network, a virtual private network, the Internet, an intranet, an extranet, a public switched telephone network, an infrared network, a wireless network, and any combination thereof.

The various embodiments illustrated and described are provided merely as examples to illustrate various features of the claims. However, features shown and described with respect to any given embodiment are not necessarily limited to the associated embodiment and may be used or combined with other embodiments that are shown and described. Further, the claims are not intended to be limited by any one example embodiment.

Although the present disclosure provides certain example embodiments and applications, other embodiments that are apparent to those of ordinary skill in the art, including embodiments which do not provide all of the features and advantages set forth herein, are also within the scope of this disclosure. Accordingly, the scope of the present disclosure is intended to be defined only by reference to the appended claims.