The present invention relates to data storage systems, and more particularly, to tape reels having spring-like clips coupled thereto, e.g., for protecting tape stored on the tape reels.
In magnetic storage systems, data are read from, and written onto, a magnetic recording medium utilizing magnetic transducers. Data are written on the magnetic recording medium by moving a magnetic recording transducer to a position over the medium where the data are to be stored. The magnetic recording transducer then generates a magnetic field, which encodes the data into the magnetic medium. Data are read from the medium by similarly positioning the magnetic read transducer and then sensing the magnetic field of the magnetic medium. Read and write operations may be independently synchronized with the movement of the medium to ensure that the data can be read from, and written to, the desired location on the medium.
In the near future, with the adoption of improved media, the cost of storing information (on a per byte basis) on tape is expected to decline by a factor of five or more with respect to magnetic disk. Also, short-term and long-term reliability will continue to favor tape-based storage. Furthermore, as more mass storage is allocated to cloud networks, most storage will be in large libraries, rather than on individual drives, which is a consideration favoring tape-based storage. One historical disadvantage of tape-based storage with respect to disk-based storage was the relatively large volumetric overhead required to store cartridge shells that encase the individual reels of tape, in addition to other components thereof.
Embodiments of the invention relate to a product. One embodiment includes a reel, a tape coupled to the reel, and a spring-like clip coupled to a free end of the tape. The clip is selectively positionable in a wrapped position where the clip wraps around a portion of the tape when the tape is wound onto the reel, thereby holding the portion of the tape in place on the reel.
Another embodiment includes a spring-like clip for a spool of tape, one end of the clip being attached to one end of the tape, and another end of the clip having an engagement feature that allows the clip to be pulled from the spool. The clip is configured to curve around the spool to hold the tape in place.
Other embodiments of the invention relate to a system. In one embodiment, a system includes a plurality of tape reels, and a tape drive configured for reading data from tape stored on at least one of the plurality of tape reels. At least some of the tape reels have a tape wound thereon and a spring-like clip coupled to a free end of the tape. The clip is selectively positionable in a wrapped position where the clip wraps around a portion of the tape when the tape is wound onto the reel, thereby holding the portion of the tape in place on the reel.
Other aspects and embodiments of the present invention will become apparent from the following detailed description, which, when taken in conjunction with the drawings, illustrate by way of example the principles of the invention.
The following description is made for the purpose of illustrating the general principles of the present invention and is not meant to limit the inventive concepts claimed herein. Further, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations.
Unless otherwise specifically defined herein, all terms are to be given their broadest possible interpretation including meanings implied from the specification as well as meanings understood by those skilled in the art and/or as defined in dictionaries, treatises, etc.
It must also be noted that, as used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless otherwise specified.
The following description discloses several preferred embodiments of tape drive systems having tape reels that incorporate a clip, as well as operation and/or component parts thereof. According to different embodiments, the clip may not only protect the tape, but also to facilitate the tape end transfer, e.g., in a tape drive, without requiring a large volumetric overhead as seen in conventional products.
In one general embodiment, a product includes a reel, a tape coupled to the reel, and a spring-like clip coupled to a free end of the tape. The clip is selectively positionable in a wrapped position where the clip wraps around a portion of the tape when the tape is wound onto the reel, thereby holding the portion of the tape in place on the reel.
In another general embodiment, a spring-like clip for a spool of tape is provided. One end of the clip is attached to one end of the tape, and another end of the clip having an engagement feature that allows the clip to be pulled from the spool. The clip is configured to curve around the spool to hold the tape in place.
In another general embodiment, a system includes a plurality of tape reels, and a tape drive configured for reading data from tape stored on at least one of the plurality of tape reels. At least some of the tape reels have a tape wound thereon and a spring-like clip coupled to a free end of the tape. The clip is selectively positionable in a wrapped position where the clip wraps around a portion of the tape when the tape is wound onto the reel, thereby holding the portion of the tape in place on the reel.
Tape drive data rates have increased, and currently are capable of exceeding 200 MB/s. However, because tape is a linear medium, accessing a desired data location typically requires a large amount of time. Thus a tape-based data storage system may spend a relatively small fraction of its time actually reading data from and/or writing data to the tape, while the great majority of the time is spent loading/unloading and winding the tape.
As a result, in conventional products, loading and unloading the tape can require greater than ten seconds, and locating a piece of data can require more than a minute. This is economically inefficient, as the majority of the time is spent using only motor control, e.g., to wind the tape, and as a result, the expensive portion of the drive, e.g., the recording heads, actuator, read and/or write electronics, etc. are left idle and are not effectively utilized. As a result, the large amount of time in which tape drives are idle creates a need for a plurality of drives to operate simultaneously in order to achieve a high rate of input/output operations per second (IOPS). However, adding more drives, tape transport mechanisms, etc. is an unfavorable solution as it is inefficient.
In sharp contrast, the embodiments and/or methods described and/or suggested herein preferably allow a single drive, e.g., including a single read/write mechanism, to overlap operations of two or more tapes, as will be discussed in further detail below. Thus, a single set of heads, actuators and/or drive electronics with multiple reels and reel drivers may be used to efficiently achieve high IOPS at lower cost. Performing a first tape read, write and/or locate while locating a position on a second tape allows the system throughout to be increased significantly. In different approaches, such a system can be constructed for either single spool or dual spool tape configurations as will be discussed in further detail below.
As shown by the partial top down view of
The linear media (i.e., tape) may preferably be wound on tape reels 102, also referred to herein as spools. According to an exemplary embodiment, at least some of the tape reels 102, preferably having tape wound thereon, may further include a spring-like clip (e.g., see 706 of
The tape reels 102 may lie on a lower surface 304, such as a “floor,” of a rest area for storing the reels when the reels are not in use. According to different approaches, the rest area may have one level, more than one level, etc., as explained below, and may further include, but is not limited to, ramps to preferably provide for the movement of linear media between the levels. The rest area is preferably a horizontal surface on which the tape reels rest; however in other approaches, the rest area may incorporate a vertical, angled, terraced, stacked, etc. surface, or combinations thereof. In such alternate approaches, the tape reels may be attached to and/or supported by the rest area by using hooks, lips, magnets, shelves, sleeves, posts, etc. or some other design to counteract the force of gravity on the tape reels if desired.
As shown, a tape supply reel 220 and a take-up reel 221 are provided to support a tape 222. One or more of the reels may form part of a removable cartridge and are not necessarily part of the tape drive 104. The tape drive, such as that illustrated in
Although a tape drive 104 may be capable of both reading and writing linear media, it may be preferable for a given drive or drives to perform only one of these operations (i.e., reading or writing) for an extended period of time. Additionally, there may be a cost advantage in having separate linear media drives due to the reduced amount of electronics, heads, etc. Moreover, since the sequential write method provides higher effective random write performance, system cost may be reduced by combining a number of write drives with a larger number of read-only drives. Thus, it may be preferable for at least a subset, a majority, all, etc. of the drives in a linear storage media tier to be optimized for writing or reading exclusively.
Guides 225 guide the tape 222 across the tape head 226. Such tape head 226 is in turn coupled to a controller assembly 228 via a cable 231. The controller 228 typically controls head functions such as servo following, writing, reading, etc. The controller may operate under logic known in the art, as well as any logic disclosed herein. The cable 231 may include read/write circuits to transmit data to the head 226 to be recorded on the tape 222 and to receive data read by the head 226 from the tape 222. An actuator 232 controls the position of the head 226 relative to the tape 222.
An interface 234 may also be provided for communication between the tape drive and a host (integral or external) to send and receive the data and for controlling the operation of the tape drive and communicating the status of the tape drive to the host, all as will be understood by those of skill in the art.
The tape on the selected tape reel or pair of tape reels may be accessed by the mobile robots 110, which may be miniature remote-controlled vehicles that move via contact with a surface (such as an upper surface 302, used interchangeably with the term “ceiling,” as shown in
A contiguous tape may be stored on a single reel, and may include a pin or other end piece that enables threading of the tape in the tape drive. In other approaches, the tape may be coupled to a pair of reels, e.g., in a tape cartridge. According to one embodiment, magnetic tape may be included in miniature tape reels 102 which have only a fraction of the tape length of a standard tape cartridge, thereby decreasing seek time. Such shorter length may be, e.g., less than about ⅕th the tape length of a standard Linear Tape Open (LTO) tape cartridge, or less than about 1/251 the tape length of a standard tape cartridge, or less than about 1/50th the tape length of a standard tape cartridge, etc. In some approaches, a length of tape on the plurality of tape reels 102 may be less than about 50 meters for each tape reel 102. However, in other approaches, a length of tape on the plurality of tape reels 102 may be less than about 25 meters, or 20 meters or less, etc. for each tape reel 102, depending on the desired embodiment. It should be noted that, as used herein, the term “about” with reference to some stated value refers to the stated value±10% of said value.
The seek time of tape-based systems using such tape reels may also or alternatively be decreased by increasing the locate speed, e.g., to about 20 meters per second (m/s) or faster. “Locate time” refers to the time required for the tape to wind to the beginning of a data set (or file) after the tape is loaded in the tape drive. If the tape length is reduced to about 20 m or less and the locate speed is about 20 m/s, the average locate time is (20 m/20 m/s)/2=0.5 s. In addition to decreasing the seek time in the drive, the system seek time may be reduced by structuring the tape library to achieve a mean load time of about 0.5 s. “Load time” refers to the time between a first time, when a request reaches the tape library, and a second time, when the relevant tape reel(s) are loaded in the tape drive.
According to one embodiment, the tape system is configured such that the average seek time is less than about 2 seconds, preferably about 1 second or less. The seek time is the delay between a first time when a request to access data is received by the tape library, and a second time when the tape library begins to provide the data to the requester.
With continued reference to
According to one embodiment, a diameter of each of the plurality of tape reels 102 may be less than about 100 mm, such as less than about 50 mm, less than about 40 mm, less than about 30 mm.
In some approaches, a single tape drive 104 is available for reading and/or writing tape on the tape reels 102. Depending on the frequency with which files are read, a plurality of tape drives 104 may be available for reading and/or writing tape on the tape reels 102, as shown in
In one approach, the Linear Media Storage Module 100 may be configured to permit the mobile robot 110 to locate, retrieve, and transport any one selected tape reel 102 to the tape drive 104, and to initialize reading of the tape by the tape drive 104 within about five seconds of receiving a request to read data from the tape of the selected tape reel 102, more preferably within about 2 seconds, and ideally less than about 1 second. In a further approach, the system may include at least one winding station 114 for performing coarse locate operations (prelocating) on the reels to position the tape near the data position for a subsequent read/write operation, prior to the reels being mounted to the at least one linear media drive. In a preferred approach, coarse locate operations may include locating desired portions of the tape stored on a given tape reel in a minimized time.
In several embodiments, several mobile robots 110 move unconstrained along the surface, e.g., two, five, or more. In other embodiments, only a single robot may be present on a given level. It may be advantageous for the mobile robots 110 to be unconnected by cables to any other part of the Linear Media Storage Module 100. This design favors fast robot motion, and facilitates the mobile robots 110 being capable of moving between levels, rooms, enclosures, etc. Also, when multiple mobile robots 110 are used, any problem with cables getting tangled together from different robots 110 is eliminated when the mobile robots 110 are controlled wirelessly, e.g., via a robot controller 112.
According to one approach, a robot controller may be in communication with, and may control and/or manage the mobile robots 110. In various approaches, the robot controller may control and/or manage normal operating conditions, high traffic conditions, damage situations, overflow, high priority requests. etc. or any other situation which would be apparent to one skilled in the art upon reading the present description. Additionally, the robot controller may be connected to a host, a user, an administrator, computing device, etc. which may provide requests to be processed by the robot controller.
Thus, a plurality of mobile robots may be used in a system, e.g., the linear storage media tier, which may utilize the plurality of robots in overlapping operations to increase data throughput of the system. This is possible because a first robot can be returning a first tape from the drive to the rest location, while a second robot is delivering a second tape from its rest location to the drive. Therefore, a system may include at least one, at least two, multiple, etc. mobile robots for transporting the linear storage media between the rest area and the at least one linear media drive. The mobile robots may preferably transport the linear storage media by retrieving at least one tape reel and moving it to a desired location e.g., a winding station a drive, the rest area, etc. According to various approaches, the mobile robots may include, but are not limited to, any mobile robot described and/or suggested herein, depending on the desired embodiment.
In other approaches, winding stations compatible with single spools may include a take-up reel which can be dismounted from the winding station along with the storage spool, and taken to a drive as if a dual spool. When a single spool is placed in the winding station, one end of the tape thereon may be attached to a temporary take-up reel. This may allow the single spool to be coarse located in the winding station and then transported to a given drive while maintaining the coarse located data position. As will be discussed in further detail below, a coarse locate operation may quickly wind the tape until reaching a position believed to be slightly before a desired location on a magnetic tape where a read and/or write operation will commence. Moreover, once the tape from the single spool has been rewound and the temporary take-up reel is empty, the temporary take-up reel may be transported back to one of the winding station, e.g., to be used for the next coarse located single spool.
As a result, multiple winding stations may be used for a given drive. This approach may be advantageous where high throughput is desirable, but where the locating operations are slow. Further, incorporating winding stations allows more flexibility for embodiments having multiple drives, as the location operation is not tied to a particular drive, and a located tape may be mounted on the first free drive. A further advantage occurs with dual spools, in that extra winders may be used to rewind spool pairs to the middle of the tape, thus reducing the mean locate time for subsequent 10 operations. The winding stations may even be disposed on the mechanism used to deliver tapes to the drive (e.g. a robot).
Other operations may be overlapped as well. For example, with continued reference to
Moreover, the coarse locate operations may be conducted while other reels are being read and/or written to, thereby overlapping operations. For example, which is in no way intended to limit the invention, a tape reel may have a particular data set written thereon up to a certain location between ends of the tape medium at a certain wrap, which can be defined as a set of tracks written to the tape medium, in one direction, at the same time. To prepare the tape reel for writing thereon, the coarse locate operation may quickly wind the tape until reaching a position believed to be slightly before the end of the written data. If the winding station has a head, the winding station may then proceed in a slower fashion until the end of the written data is located. If the winding station does not have a head, the media drive that subsequently receives the tape reel can quickly find the end of data on the tape because of the pre-positioning. Thus, the coarse locate operation may locate the end of written data faster than is possible using the drives directly, without passing the end of the written data, thereby preventing unnecessary time delay in locating the end of the written data.
In another example, which is in no way intended to limit the invention, coarse locate operations may be used to reduce the total time from receipt of a read request until the data are returned to the host from a tape reel. The coarse locate operations may utilize the mapped location of data written to the reels which may be stored in a map of a mapping module. This may preferably reduce the read access time to a block of data stored on a given reel (explained in further detail below). Thus, coarse locate operations of the at least one winding station may overlap locating operations with reading and robot motion, which may result in a further increase to the utilization of the system.
To keep track of where data are stored, particularly in relation to corresponding data, some sort of mapping scheme is desirable. Such a mapping scheme may preferably be capable of identifying the physical location of the current version of each logical block, of which the information is also referred to herein as meta-data. According to different approaches, the mapping scheme may store the physical locations of data in terms of the magnetic indexes recorded during tape manufacture and/or the length along the tape where the data were written, e.g., which may be determined by the number of reel revolutions, longitudinal position (LPOS) information, etc. According to one approach, the mapping scheme may use mapping tables. The mapping tables keep track of where the data and/or meta-data are stored, preferably such that any data may be located and accessed after it is written. Thus, mapping tables may preferably be accessed and/or updated with each write and/or read request. However, the mapping tables may be accessed and/or updated after each write request has been completed, before each read request is processed, at timed intervals, upon request (e.g., from a user), etc. depending on the desired embodiment. Mapping tables may be stored on the tape itself, a tape cartridge, a database such as a tape library database, etc.
The mobile robots 110 may have predetermined “resting” locations, as shown by mobile robots 110, according to one embodiment. As shown in
The mobile robots 110 may move in straight line increments, or may move more naturally in arcing patterns between positions on the surface, according to various embodiments. Also, the mobile robots 110 may avoid objects in their path according to any method as would be understood by one of skill in the art upon reading the present descriptions.
In some previous tape library geometries, a library gripper accesses an array of tape reels and/or tape cartridges, through motion of a first carriage along a rail or pair of rails. The first carriage in turn holds another set of rails or guides which enables motion of a second carriage holding the gripper. The scheme enables the gripper to access anywhere in two dimensions, where the tape reels or tape cartridges are located. Alternately, in some previous designs, the second carriage has been replaced by a rotary motion which operates about the axes of the first carriage. This scheme limits the flexibility of the library, because grippers (or robots) may interfere with one another. For example, if the grippers use the same set of rails, then they cannot move past each other. Also, there is generally no available space in tape libraries for the installation of an additional set of rails, so this scheme is severely limited in its functionality. In addition, these previous designs do not facilitate easy recovery of access to the tape reels and/or tape cartridges when a gripper fails.
In various embodiments, various systems herein use “unconstrained” robots, which facilitate access to the tape reels and/or tape cartridges. Here, the term “unconstrained” indicates that movement is not constrained to rails, tracks, guideways, pathways, etc., but instead movement is free in at least two dimensions, e.g., along a surface. Thus, unconstrained mobile robots are easily added or removed from the surface, and they can easily maneuver around each other along the surface, since they are not fixed to a rail or track.
In other approaches, gantry-type robotic accessors may be used to transport tape reels and/or cartridges.
In yet other approaches, any type of transport mechanism may be used to move tape reels and/or cartridges.
As shown in
In one approach, the mobile robot 110 may have three wheels 306, 308; two rear wheels 308 and one front (maneuvering) wheel 306 or ball. In another three-wheel configuration, the mobile robot 110 may have two front wheels 308, and a rear (maneuvering) wheel 306 or ball. For sake of clarity, a maneuvering wheel in this discussion indicates a wheel whose direction of positioning or rotation with respect to the robot body is not fixed. Of course, the mobile robot 110 may have any number of wheels 306, 308 or other apparatus for causing movement of the mobile robot 110 as would be known to one of skill in the art. For example, one embodiment of the mobile robot 110 may have two drive wheels and two (maneuvering) wheels or balls. Steering of the robot may be accomplished in any known manner, such as by independently driving two of the wheels with a caster-type maneuvering wheel, steering using the maneuvering wheel, and driving and steering with the maneuvering wheel, etc.
The mobile robot 110 may have a reel gripper 312, which when the mobile robot 110 is positioned above a desired tape reel 102 or set of tape reels 102, may grab, attract (for example, magnetically), secure, or otherwise take hold of the tape reel 102 such that it may be loaded into the mobile robot 110 and transported to a tape drive or back from a tape drive to the tape reel's storage location. In one approach, the mobile robot 110 may include a reel gripper 312 which may move the reels 102 vertically from a horizontal rest area 304, for engagement with the at least one mobile robot 110 thereabove. Moreover, according to various approaches, the reel gripper 312 may include a retractable arm, a magnet, a suction device, etc.
With continued reference to
In one approach, the plurality of tape reels 102 may be spaced from and located within a distance of about 15 cm from the upper surface, e.g., 15±1.5 cm, less than about 20 cm, less than about 10 cm, less than about 5 cm, or any value in the foregoing ranges.
The Linear Media Storage Module 100 may also comprise a controller 112 for directing movement of the mobile robot 110. The controller 112 may be on board the mobile robot 110, or away from the robot 110 (as shown in
According to one illustrative embodiment, a Linear Media Storage Module 100 comprises at least one tape drive 104 configured for reading data from tape stored on one of a plurality of tape reels 102, at least one mobile robot 110 having a volume of less than about 1000 cubic inches (and in some approaches less than about 900 in3, less than about 750 in3, less than about 500 in3, less than about 250 in3, less than about 100 in3, less than about 50 in3) configured for selectively retrieving one or more of the plurality of tape reels 102 and transporting the one or more retrieved tape reels 102 to the tape drive 104. The mobile robot 110 moves along a surface, and is preferably not mechanically constrained to move along a pre-determined trackway or path (i.e., it is unconstrained). In some approaches, the mobile robot 110 may be mechanically unconstrained and may be able to move autonomously across the surface via any desired path.
To assist in navigation of the mobile robot 110, at least one of the lower and upper surfaces may include an optical pattern usable for navigation of the mobile robot 110, and the mobile robot 110 may be configured for recognizing the optical pattern.
As shown in
The floor 304 may be planar, as shown in
The design of the mobile robot 110 may include additional features, abilities, etc., as would be understood by one of skill in the art upon reading the present descriptions. In one embodiment, a mobile robot 110 is shown in
To pick up the tape reel(s) 102, a simple platform-type reel gripper 312 may be lowered and raised by a solenoid or motor (not shown). If the tape reels 102 are topped by a magnetic plate, the tape reels 102 may be gripped to the simple platform-type reel gripper 312 by energizing electromagnets 502. One or more cameras 504 may allow for navigation of the mobile robot 110. A camera 504 may be placed above each reel holding position 506, enabling the mobile robot 110 to determine its position and to deliver a tape reel 102 directly into a tape drive. The mobile robot 110 need not be made precisely, because the cameras 504 may simultaneously image the tape reels 102 and location grid (or the tape reel chucks on the drive) to precisely position the tape reels 102, in some approaches.
To enable multiple mobile robots 110 to work in the same work space, such as the same floor, there are preferably no cables attached to the mobile robots 110. The mobile robot 110 uses little power, and a peak speed of about 2 m/s in some embodiments is sufficient to pick up the tape reel 102 and bring it to the drive within a half second. For a 150 gram mobile robot 110, the corresponding kinetic energy would be about 0.3 Joule. This amount of energy may be supplied by a rechargeable battery, through inductive coupling, etc., but a capacitor, with its extremely long lifetime, may be preferable. In one embodiment, an 80 volt, 1000 μF electrolytic capacitor which includes 3.2 Joules, yet is only 16 mm diameter by 40 mm long may be used. The mobile robot 110 may be recharged at its parking position, or at the tape drive when it loads the tape reel 102. In addition, the robot may also obtain power for operation and/or charging via contacting a surface which includes power distribution capability of a type known in the art. The robot may also obtain power for operation and/or control information via a tether.
As shown in
As shown in
In one embodiment, the Linear Media Storage Module 100 may comprise a plurality of tape drives 104, where each tape drive 104 is positioned on the floor supporting the tape reels, the floor being below the surface on which the mobile robots 110 maneuver by a distance sufficient to allow movement of the mobile robots 110 therebetween (between the tape reels and the surface).
In large multilayer Linear Media Storage Modules 128, mobile robots 110 may move between floors using ramps 604. This enables the mobile robots 110 themselves to load different floors with tape reels, and to rebalance the work load by optimally locating the mobile robots 110 and organizing the tape reels. The relative number of mobile robots 110, tape reels, and tape drives 104 may be determined by the access frequency of the files, data, etc.
According to one approach, multiple surfaces having a spaced and stacked configuration may be used, and the mobile robot 110 is configured to travel between the multiple surfaces. In this approach, at least one ramp 604 may be provided, connecting at least two of the multiple surfaces, thereby permitting the mobile robot 110 to travel between the multiple surfaces. In various approaches, there may be no cable coupled between the mobile robot 110 and any other component of the system, thereby facilitating travel of the mobile robot 110 between the multiple surfaces.
As illustrated in
The library can be configured to have “spare” tape drives 104 and mobile robots 110 ready to be put into use upon failure of other tape drives and mobile robots, according to one embodiment. In another embodiment, when extra tape drives 104 or mobile robots 110 are to be used, due to some factor, such as an increased work load, failed mobile robots and/or tape drives, etc., the Linear Media Storage Module 100 may allow adding or removing tape drives, tape reels, and/or mobile robots by the user after manufacture of the Linear Media Storage Module 100.
As mentioned above, conventional tape libraries implement tape cartridges for storing tape in a tightly packed array. However, any portion of the tape cartridge volume that does not contain a tape stored therein creates an overhead penalty, reducing the overall volumetric data density of the system.
In contrast to such conventional products, a clip may be implemented in combination with a tape reel according to any of the embodiments described and/or suggested herein. Moreover, the clip may serve the dual purpose of protecting tape stored on the tape reel, and facilitating the tape end transfer, e.g., to a tape drive, without incurring a volumetric overhead penalty. As a result, the tape reels may be stored within a tightly packed array, e.g., as shown in
Looking to
With continued reference to
Additionally the product 700 includes a spring-like clip 706 which is coupled to a free end of the tape 704. With reference to the present description, the “free end” of the tape 704 is defined as the end of the tape 704 that is unwound from the reel 702 first. In other words, the free end of the tape 704 is the end of the tape 704 which is opposite the end coupled to the reel 702, as described above. Thus, one end of the tape 704 is preferably coupled to the reel 702, while the other end of the tape 704 (the free end) is coupled to the spring-like clip 706.
Moreover, it should also be noted that “spring-like” is intended to mean that at least a portion of the clip 706 is resiliently deformable. Thus, under zero external tension, the clip preferably returns to its at rest shape, e.g., a rounded shape as shown in
This resiliently deformable characteristic may result from different designs and/or materials used to form the spring-like clip 706. Specifically, the durability of the clip 706 material preferably allows a sufficient number of deformations (e.g., above 100,000) while retaining the ability to rebound to a rounded shape. Additionally, the design of the clip 706 preferably results in embodiments of the clip 706 having low inertia values, thereby allowing for the clip 706 to be used in a high-speed, high-throughput storage system.
According to an exemplary embodiment, which is in no way intended to limit the invention, the strain for fully straightening a clip having a thickness of about 0.05 mm, and a 19 mm diameter is about 1.3×10−3. Furthermore, a steel clip with a Young's modulus of about 200 GPa, the stress associated with this strain may be about 260 MPa. If the stress in the clip is less than 40-60% of the ultimate tensile strength, the clip will not fail from fatigue. However, this stress value is well below the yield strength of most resiliently deformable materials. Moreover, coupling a clip to and/or decoupling a clip from a tape reel preferably does not include fully straightening the clip against the clip's bias towards a rounded shape, but may include the clip assuming a relatively less-curved geometry when pulled by an engagement feature, thereby permitting the clip to be passed to a take-up reel. Thus, the actual stress exerted on the clip in various embodiments described herein is preferably lower than the yield strength of the resiliently deformable materials used in the various clips.
According to some approaches, the clip 706 may include a metal such as steel, e.g., PH 15-7 steel, PH 17-7 steel, spring steel, 300 series stainless steel etc.; CuBe; etc. However, in other approaches, the clip 706 may include a moldable plastic, and/or any other resiliently deformable material. Moreover, in some approaches, thermal treatment may be performed on the clip material in the desired shape of the clip 706, thereby helping attain the appropriate spring-like properties of the clip 706. In further approaches, the clip 706 may be magnetically permeable to protect the underlying tape from stray magnetic fields.
In different approaches, the clip 706 may be coupled to the free end of the tape 704 using any of the methods described above for coupling the tape 704 to the reel 702. However, in a preferred approach, the clip 706 may be coupled to the free end of the tape 704 in a manner that would prevent the junction between the tape and the spring-like clip 706 from causing damage to the tape. Thus, according to an illustrative embodiment, the clip 706 may be coupled to the free end of the tape 702 by a tape leader 708, e.g., using an adhesive.
Looking to
It follows that the tape leader 708 may have a length, as measured between the clip 706 and the tape 704, of at least one circumference of an outer surface of the tape 704 when the tape 704 is wound completely on the reel 702. Moreover, the tape leader may have a preferred width that is about the same dimension as the average width of the tape to which the tape leader 708 is coupled. Thus, the tape leader 708 may be able to cover the whole outer surface of the tape 704, when wound on the reel 702. However, according to other approaches, the tape leader 708 may have a length and/or width that is shorter or longer than the aforementioned dimensions, depending on the desired embodiment.
The tape leader 708 preferably includes a flexible material, e.g., such that it may be wrapped onto the reel in a similar fashion as the tape. However, according to various embodiments, the tape leader 708 may be made of any conventional materials e.g., that would not cause damage to the tape when coming into contact therewith, as would be appreciated by one skilled in the art upon reading the present description. Moreover, depending on the desired embodiment, the tape leader 708 may have a thickness from about 0.013 mm to about 0.064 mm, but could be higher or lower depending on the desired embodiment.
With continued reference to
Referring again to
Furthermore, according to other approaches, the width of the clip 706, as measured perpendicular to its length, may also vary, depending on the desired embodiment. Thus, according to various embodiments, the width of the clip 706 may be in a range from about 20% of a width of the tape 704 to about 100% of a width of the tape 704, as measured in the same direction as the width of the clip 706. Such embodiments may allow the clip 706 to be positioned within the reel flanges when positioned in a wrapped position.
According to yet another embodiment, the width of the clip 706 may be greater than a width of the tape 704, as measured in the same direction, e.g., thereby providing more protection for the tape 704. In such an approach, the clip 706 may encircle the outer edges of the reel flanges. However, in another approach, e.g., as shown in
The dimensions, e.g., the width and/or length, of the clip may depend on the size of a given tape when wrapped on a reel. For example, a clip designed to wrap around about a full circumference of an outer surface of a first tape may have a length and/or width different from that of a clip designed to wrap around about a full circumference of an outer surface of a second tape. Thus, dimensions of the embodiments described and/or suggested herein are not to be limited to any one tape storage platform, but rather are intended to include any tape and/or tape reel design available in the industry.
With continued reference to
In an exemplary embodiment, which is in no way intended to limit the invention, the stiffness of the clip 706 may vary along a length thereof between the free end of the clip and the end coupled to the tape 704 (opposite the free end of the clip). According to one approach, a free end of the clip 706 may have a greater stiffness than an end of the clip 706 coupled to the tape 704. This allows the region of the clip 706 closer to the tape 704 to flex more freely, thereby beneficially reducing the bending experienced at the interface of the clip 706 and the tape 704. As a result, this varied stiffness of the clip 706 may desirably reduce the wear experienced by the tape 704, which may otherwise result from placing the clip 706 into a wrapped position (e.g., see 7A), and removing it therefrom (e.g., see
According to one approach, the varied stiffness of the clip 706 as described above may result from the clip 706 having a varied thickness, e.g., tapered thickness, along its length, where larger thickness of the clip corresponds to greater stiffness values thereof. According to various embodiments, the thickness of the clip 706, e.g., anywhere along the length thereof, may be from about 0.025 mm to about 0.51 mm, but may be higher or lower depending on the desired embodiment, material of construction (e.g., plastic material may be thicker than a metal design), etc. Thus, according to an exemplary embodiment, which is in no way intended to limit the invention, the free end of the clip 706 may have a thickness of about 0.20 mm, while the end of the clip 706 coupled to the tape leader 708 may have a thickness of about 0.05 mm, where the thickness of the clip is gradually tapered about evenly from the free end of the clip 706 to the opposite end thereof, coupled to the tape leader 708.
In addition to tapering the thickness of the clip 706, other designs may be incorporated to reduce wear experienced by the tape 704, depending on the desired embodiment. According to one approach, at least one surface of the clip 706, and in some approaches both surfaces of the clip 706, may have a surface feature for reducing surface friction of the clip 706 between the clip 706 and an abutting surface, e.g., the tape 704 and/or the tape leader 708, e.g., by reducing the surface area of the clip 706 in contact with the tape 704 and/or tape leader 708. The surface feature may include any number or type of textures, patterns, material combinations, voids, etc. that may desirably reduce the surface friction of the clip 706 and/or facilitate clip unloading. Moreover, the surface feature of the clip 706 may be formed using molds, stamps, etching, etc., depending on the desired embodiment.
Additionally, as illustrated in
Furthermore, according to additional approaches, the bent portion 712 may also assist in preventing the free end of the clip 706 from catching on a transfer mechanism (e.g., see
Looking still to
The engagement feature 710 preferably enables high speed automated engagement and/or disengagement of the clip 706 from the reel 702. Thus, the engagement feature 710 is preferably able to be easily and reliably engaged by a mechanism (e.g., a transfer mechanism) to disengage of the clip 706 from the reel 702, and transfer the clip 706 onto a take-up reel, e.g., see 810 of
According to some approaches, the engagement feature 710 may include at least one of a hole and a barb (e.g., see
In still further approaches, the engagement feature 710 may include a barb or hook formed by folding a portion of the clip 706 back towards itself, e.g., as depicted in
Various types of tape threading systems known in the art may be adapted for use with the products and/or systems described herein, according to various embodiments. For example, if tape reels are used individually (not as pairs), a standard threader mechanism may be used to thread the tape reel onto the tape drive, according to one embodiment. Moreover, for tape reels having a spring-like clip, a threader mechanism capable of removing the spring-like clip before accessing the tape may preferably be used, as will soon become apparent.
According to various embodiments, an engagement feature may be used to assist in the coupling and/or decoupling of a clip from a wound body of tape. As described above, a transfer mechanism may be usable to engage and/or disengage a clip from a reel using an engagement feature of the clip.
Looking to
Furthermore, it should be noted that the bent portion 712 of the clip 706 is illustrated as preventing the transfer mechanism 714 from becoming wedged between the body of the clip 706 and the engagement feature 710. As described above, this desirably prevents the transfer mechanism 714 from becoming unable to disengage the engagement feature 710, thereby preserving the functionality of the system in which the transfer mechanism 714 and/or engagement feature 710 are located.
According to another approach,
As previously mentioned, the representational in use diagrams shown in
Referring now to
In another embodiment, as shown in
In a further approach, during the loading process described above, it may be beneficial to detect the rotational orientation of the reel 702, e.g., such that an engagement feature of a clip coupled to the reel 702 may be located. This location may be accomplished using a beam of light that is reflected off of a feature on the clip. This feature may include a small reflector positioned at an angle with respect to the circumference of the clip that reflects the light beam into a detector, e.g., a bent portion 712 as presented in
Therefore, according to one approach, an optical detector 845, of a type known in the art, may be used as a part of the process of attaching the end of the tape 806 to the take-up reel 810, as described above. The optical detector 845 is preferably used for detecting an orientation of a clip having a bent portion 712 and/or the engagement feature 710, e.g., as described above with reference to
Referring still to
According to one approach which is in no way intended to limit the invention, the mechanism 714 may be a transfer mechanism for engaging an engagement feature of the clip. Once the transfer mechanism has engaged the engagement feature, it may pull the clip from the wrapped position on the tape reel 702 as described above, and load the clip onto the take-up reel 810, all of which preferably occurs in less than about 100 milliseconds, but could be slower. Upon loading the clip onto the take-up reel 810, a winding process may initiate, e.g., to perform a preliminary locate operation, as described above. This rapid operation of the loading and/or unloading of a clip imposes additional forces on the clip that may be taken into account when designing the thickness, length, material composition, etc. of the clip, depending on the desired embodiment.
Moreover, in other approaches, the system may include a controller (e.g., see 228 of
Looking now to
In another embodiment, rather than moving the library reel 702 and carriage 816, the take-up reel 810 and its motor may be moved to thread the tape drive 104. In yet another embodiment, if the tape 806 is stored on a pair of reels, the mobile robot may position the two reels directly on the tape drive 104, where the tape 806 may be located before threading.
However, as described above, an alternative approach to storing a tape on a single reel is to use a pair of reels. Storing the tape on pairs of reels has an advantage in that after loading, the tape is ready to be used and does not need to be wound onto another inboard reel. Also, when the tape is finished being used, both reels may be removed with the tape, and the tape does not need to be unwound from the inboard reel in order to be removed.
According to another exemplary embodiment, as shown in
According to various embodiments, a new system architecture with increased throughput for random input/output (IO) includes an apparatus for performing read/write or locate operations on a first tape while performing a winding operation (e.g., coarse locate) on a second tape, and is described herein. As a result, the number of data blocks read/written per second by the drive (throughput) may be increased by a factor of two or more, while the cost is kept to a minimum. While a tape drive may be occupied with the essential task of reading and/or writing data from a particular tape, other tapes may also be loading/unloading and locating/unlocating to and from the data position. This function may be assimilated into a process which threads the tape into the drive after prelocating.
Preferably, the system allows for coarse locating of a given tape to a predetermined location without actually having the tape threaded across the read head. Thus, the predetermined location may be arrived at without actually reading the longitudinal position on the tape. According to one approach, this may preferably be achieved by having a plurality of winding stations with the ability to coarse locate a tape, and a mechanism for transferring the tape to the read head to perform fine location as well as read and/or write operations.
As described in some detail above, coarse locating involves winding a tape to a predetermined location, e.g., a reference location. In a preferred approach, a tape drive may include and/or be coupled to memory which may be used to store the location of the data written to the tapes in a tape drive. According to various approaches, the memory may include a lookup table, a controller, random access memory (RAM), etc.
Thus, when conducting a coarse location, the tape drive may utilize the location of the data stored in the memory to wind the tape to the reference location without actually having to read the data on the tape. Rather, a coarse location is preferably determined using the length of tape wound from a reference location. In general, the reference location for a given tape may be at the start of a tape. However, for embodiments having a dual spool configuration where the tape is not rewound on completion of an IO operation, the tape location for a given tape spool pair may be stored as meta-data at the system level. According to one approach, this value may be updated by the fine location determined during the IO operation, such as reading the longitudinal position from the servo information on the tape. Moreover, in various other approaches, this location information may be stored on other media in the system, such as on hard disk, solid state storage, etc. It may also be stored locally to a tape on media including, but not limited to flash coupled to the spool. Further, it may be possible to determine the reference location from the amount of tape on each spool, e.g., using optical detection, inertial detection, etc.
In one approach, a predetermined tape thickness, reference location and the number of rotations (integer and fractional) wound on a given tape spool may be enough information to determine the length of tape that has been unwound to sufficient accuracy to enable a locate operation. Moreover, the length of tape that has been unwound may be compared to the reference location to determine when the reference location has been reached without having to read the data on the tape. According to one approach, a shaft encoder may be used to determine the length of tape that has been unwound. The variation in length of modem recording tape caused by tension, temperature, and humidity is typically less than 1000 parts per million (ppm), which is low enough that according to some approaches, the tape may be accurately positioned using only the number of revolutions. Thus, coarse location preferably results in higher locate speeds. Additionally, coarse location allows for the additional advantage of the tape not being in contact with the head, rollers, guides and/or other components of the tape drive, thereby reducing the likelihood of the tape being damaged, as well as reducing wear of the tape drive components.
As described above, a single system, e.g., a tape drive, may simultaneously conduct operations on two or more tapes in a preferred approach.
It should be noted that the system 900 of
Furthermore, the system 900 includes a first set of motors 904, 905 for performing positioning operations on a first tape 906, as well as a second set of motors 907, 908 for performing positioning operations on a second tape 910. According to one approach, portions of the first and/or second tapes 906, 910 may be stored on one or more spools (e.g., see
In one approach, the first set 904, 905 and/or second set 907, 908 of motors may include a drive and storage reel mounted thereon. Thus, the drive and storage reel of each set may effectively couple the first and second tapes 906, 910 to their respective set of motors. According to one approach, the drive and storage reel may use a drive chuck (e.g., see
With continued reference to
The first and second drive mechanisms 916, 918 are preferably coupled to, or include, one of the first set 904, 905 and second set 907, 908 of motors, respectively. For example, looking to
Referring now to
Moreover, as shown in
In use, still referring to
Operation of the second drive mechanism 918 and second set 907, 908 of motors on the second tape 910 is similar to that of the first drive mechanism 916 and first set 904, 905 of motors.
It should be noted that similar operations as in the foregoing example are applicable to the second set 907, 908 of motors in combination with the second tape 910 and drive mechanism 918 as illustrated in
According to the embodiments described and or suggested herein, it is desirable, but not required, that the drive mechanisms are asymmetrical. In some approaches, the drive mechanisms may be symmetrical.
Referring still to the two-tape configuration of
According to different approaches, the drive mechanisms 916, 918 may move along the path 914 independently of one another using any known mechanism, such as a wheel, a motor, etc. to enable their motion. In one approach, the drive mechanisms are 916, 918 self-propelled. In other approaches, the drive mechanisms 916, 918 may be positioned along the path via an integral positioning system of a type known in the art, such as a conveyer belt, cabling, pivoting arm, etc. Moreover, the drive mechanisms 916, 918 may couple themselves to the path 914 itself when wishing to remain stationary, e.g., via frictional coupling when a tape coupled thereto is being read and/or written to by the head 902. According to various approaches, the drive mechanisms 916, 918 may couple to the path 914 using a gripper, an arm, a break pad that protrudes from below the drive mechanism, etc.
With continued reference to
The system 900 may also include a processor and logic integrated with and/or executable by the processor. In a preferred approach, the logic may be configured to cause the first set of motors 904, 905 to pass the first tape 906 over the head 902 while simultaneously causing the second set of motors 907, 908 to perform at least one of a coarse locate and a rewind operation on the second tape 910. Thus, according to a preferred approach the path 914 allows a single tape drive system 900 to access two or more tapes simultaneously, thereby overlapping the tape drive operations.
Many tape drive operations can be divided into 5 stages, some of which include multiple steps. These steps and their corresponding stages may include the following.
As mentioned above, according to different approaches, the steps of the aforementioned stages may not all be included, and in some approaches, they may overlap. For example as the tape is decelerating after being read, it could also be unthreading. According to another approach, the system 900 may also include logic integrated with and/or executable by the processor for causing rewinding of the first tape 906 while a read and/or write operation is being performed on the second tape 910.
With continued reference to
At any given time, only one tape may be positioned over the head to be read from and/or written to. Thus, while the first tape 906 is in RW stage (listed above), the second tape 910 typically cannot be in the THREAD or UNTHREAD stages. However, if coordinated properly (e.g., preferably using the controller), according to an illustrative approach, one tape may be in the process of being threaded while the other tape is in the process of being unthreaded. Looking to
Moreover, the ability to overlap operations provides significant performance benefits when queuing at the system level. According to one approach, queuing may allow operations to be reordered, such as for maximum throughput, even with a single drive. For example, operations can be reordered such that there is minimum idle time at the head, such as by ensuring maximum overlap of locate and unlocate times. In a system with multiple drives, the queuing can be even more effective.
According to an exemplary embodiment,
According to an exemplary embodiment, which is in no way intended to limit the invention, a tape drive system 1100 may include a merged path configuration.
As illustrated in
According to another exemplary embodiment, a system 1200 may include only one drive mechanism as illustrated in
As depicted in
Referring again to
In yet another exemplary embodiment, a system 1300 may include two drive mechanisms, each having two motors.
As depicted in
Additionally, the path 1320 is more extended, relative to the embodiment shown in
With continued reference to
Referring now to
It should be noted that although a counterclockwise motion was illustrated in
Moreover, in a preferred approach, the drive mechanisms may rotate counterclockwise every other tape switch, while rotating clockwise for the tape accesses therebetween. As a result, according to one approach, the signal and/or power connections to the drive mechanisms and/or motors may be provided by flexible cables, e.g., because each counterclockwise movement is followed by a clockwise movement so the flexible cables do not become wound. However, in an alternate approach, the drive mechanisms may rotate in only a counterclockwise or clockwise direction. Accordingly, power and/or signals may be delivered to the drive mechanisms and/or motors thereon via contacts with the path, sliding contacts, etc. Furthermore, the power being delivered and/or the number of leads required for the signals being sent to the drive mechanisms and/or motors may determine the type of connection used.
Referring now to
As illustrated in
According to one approach, the drive mechanisms may rotate in only one direction (e.g., counterclockwise or clockwise) to switch between which of the three tapes is being accessed. As a result, the system 1400 may have the advantage of requiring smaller individual angular motions to switch positions from adjacent one of the three tapes to adjacent another of the tapes. Such individual angular motions are preferably less than 360°.
In another approach, the drive mechanisms 1422, 1424, 1426, 1428, 1430, 1432 may be bi-directionally positionable. Thus, according to a further approach, flexible cables may be used to provide power and/or signal directions to the cart, e.g., without twisting.
In yet another exemplary embodiment.
Moreover, according to various approaches, the system 1500 illustrated in
Referring now to
As illustrated in
Moreover, as illustrated in
Although in
Referring now to another exemplary embodiment,
According to the exemplary embodiment illustrated in
In a preferred approach, the head 1702 may be positioned between the three different positions by incorporating a relative motion therebetween. In one approach, the head 1702 may be rotated about a center point between the three tapes 1708, 1714, 1716. However, according to another approach, the system 1700 may create a relative motion between the head 1702 and tapes 1708, 1714, 1716, e.g., the tapes may rotate about the head 1702.
Tape threading operations may be performed in a manner similar to the embodiment illustrated in
Moreover, while the first tape 1708 is engaged and/or in the process of being engaged/disengaged with the head 1702, the second and third tapes 1714, 1716 may be rewound, coarse located, loaded, detached, etc.
When the head is in the second or third position 1722, 1724, the guides 824, 826 at the respective position thread the respective tape onto the head 1702.
With reference to the various embodiments described and/or suggested herein, each reel incorporated therein may be large enough (e.g., the flanges are big enough) to hold the entire length of tape, if all the tape is to be accessed. If the tape is stored in pairs of these large reels, the capacity of the library may be reduced by a factor of two from what it may be by using single reels.
In another approach, the tape may be stored on a pair of reels, where at least one reel is not large enough to accept the entire length of tape. As shown in
In another approach, a packing roller may be used to keep the tape on the reel after its diameter becomes bigger than the flange.
According to some approaches, a tape may be packaged in a cartridge containing one spool.
In other approaches, a tape may be packaged in a cartridge having two spools, in which tape is wound from one spool to the other (e.g. similar to a VHS cartridge configuration). However, it is not necessary that these two spools be contained within a cartridge, especially where the library robotics are able to access and/or transport the two spools without damaging the tape. Moreover, according to one approach, if a cartridge is used, one of the reels may be removed from the cartridge when the tape is loaded into a drive, e.g., to enable the reels to move separately for access (see
In some approaches, the tape library may be fault tolerant and/or self-repairing. For example, each tape cartridge may be read by a number of different drives, if a robot fails then other robots may maneuver around the failed robot, a failed robot may be towed away by another robot and replaced, and/or a failed tape drive may be towed away and replaced.
According to one embodiment, if a mobile robot fails, it may be towed away and replaced by another mobile robot. The tape drives may be configured so that a mobile robot may easily tow away and replace a tape drive, after temporarily clearing away the tape reels that may be in the path taken to remove the tape drive. The power and data connections may be made to use very little force, for example, using simple sliding spring contacts for the power and optical link for the tape drive data transfer.
According to one embodiment, the system may be configured to allow removal of a failed mobile robot using another mobile robot, in which case the failed mobile robot may then be replaced with the mobile robot performing the removing or another mobile robot, in some approaches.
In another embodiment, the mobile robot may be configured to remove the tape drive, e.g., if the tape drive is broken. Likewise, the robot may install a replacement or repaired tape drive.
Any of the embodiments described and/or suggested herein may be combined with various functional methods, depending on the desired embodiment.
As illustrated, the method 2100 includes performing a read and/or write operation on a first tape using a head. See operation 2102.
Additionally, the method 2100 includes performing a coarse location (prelocation) on a second tape to about an operation location while the read and/or write operation is being performed on the first tape. See operation 2104. Referring to the present description, the operation location refers to an approximate or actual physical location of data to be retrieved from the tape, an approximate location of a next write operation, etc. According to a preferred approach, by performing a coarse location to about the operation location, the tape is spooled to a section of tape that is close to the operation location, e.g., within about 25 mm of the operation location. In some approaches, the operation location may span for some length of the tape. Thus, performing a coarse location operation may spool a tape within about 25 mm of any position within the span of tape corresponding to the operation location. As noted above, overlapping operations may be performed in parallel. For example, the coarse locating of operation 2104 may be performed on the second tape while the first tape is being loaded, unloaded, coarse located, read, written to, etc.
With continued reference to
In one approach, the coarse location, fine location and read and/or write operation of the first and second tapes in method 2100 may each be conducted using a motor, e.g., according to any of the approaches described and/or suggested herein. Moreover, in a preferred approach, the motor used for the coarse location of the second tape may also be used for the fine location and read and/or write operation of the second tape.
According to one approach, the motors used for the coarse location, fine location and read and/or write operation of the first and second tapes may be coupled to or included in a drive mechanism according to any of the approaches described and/or suggested herein. Thus, in one approach, the motors may be positionable along a path (e.g., see 914 of
However, as described above, according to some approaches, the locating and/or unlocating may be performed away from the drive itself (e.g., not on the drive mechanisms) at a winding station. Thus, according to a preferred approach, the winding stations may not require transducers. In various approaches, winding stations may be used with single spools and/or dual spools (e.g., in a cartridge, without a cartridge, etc.). Dual spools may be loaded into a winding station, located, then unloaded from the winding station, whereby the dual spool may then be transferred to a drive, e.g. to read and/or written to.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention 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 “logic,” “circuit,” “module” or “system.” Furthermore, aspects of the present invention 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.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
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 aspects of the present invention 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 invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. 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 flowchart and/or block diagram block or blocks.
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 devices 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 flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart 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 of the present invention.
In this regard, each block in the flowchart 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 illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, 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.
As shown in
In use, the gateway 1901 serves as an entrance point from the remote networks 1902 to the proximate network 1908. As such, the gateway 1901 may function as a router, which is capable of directing a given packet of data that arrives at the gateway 1901, and a switch, which furnishes the actual path in and out of the gateway 1901 for a given packet.
Further included is at least one data server 1914 coupled to the proximate network 1908, and which is accessible from the remote networks 1902 via the gateway 1901. It should be noted that the data server(s) 1914 may include any type of computing device/groupware. Coupled to each data server 1914 is a plurality of user devices 1916. Such user devices 1916 may include a desktop computer, lap-top computer, hand-held computer, printer or any other type of logic. It should be noted that a user device 1911 may also be directly coupled to any of the networks, in one embodiment.
A peripheral 1920 or series of peripherals 1920, e.g., facsimile machines, printers, networked and/or local storage units or systems, etc., may be coupled to one or more of the networks 1904, 1906, 1908. It should be noted that databases and/or additional components may be utilized with, or integrated into, any type of network element coupled to the networks 1904, 1906, 1908. In the context of the present description, a network element may refer to any component of a network.
According to some approaches, methods and systems described herein may be implemented with and/or on virtual systems and/or systems which emulate one or more other systems, such as a UNIX system which emulates an IBM z/OS environment, a UNIX system which virtually hosts a MICROSOFT WINDOWS environment, a MICROSOFT WINDOWS system which emulates an IBM z/OS environment, etc. This virtualization and/or emulation may be enhanced through the use of a hypervisor, in some embodiments.
In more approaches, one or more networks 1904, 1906, 1908, may represent a cluster of systems commonly referred to as a “cloud.” In cloud computing, shared resources, such as processing power, peripherals, software, data, servers, etc., are provided to any system in the cloud in an on-demand relationship, thereby allowing access and distribution of services across many computing systems. Cloud computing typically involves an Internet connection between the systems operating in the cloud, but other techniques of connecting the systems may also be used.
The workstation shown in
The workstation may have resident thereon an operating system such as the Microsoft Windows® Operating System (OS), a MAC OS, a UNIX OS, etc. It will be appreciated that a preferred embodiment may also be implemented on platforms and operating systems other than those mentioned. A preferred embodiment may be written using JAVA, XML, C, and/or C++ language, or other programming languages, along with an object oriented programming methodology. Object oriented programming (OOP), which has become increasingly used to develop complex applications, may be used.
The flowchart 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 of the present invention. In this regard, each block in the flowchart 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 illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, 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.
It will be clear that the various features of the methodologies and embodiments described herein may be combined in any way, creating a plurality of combinations from the descriptions presented herein.
Communications components such as input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I/O controllers.
Communications components such as buses, interfaces, network adapters, etc., may also be coupled to the system to enable the data processing system, e.g., host, to become coupled to other data processing systems, remote printers, storage devices, etc., through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters that may be used, in some approaches.
It will be further appreciated that embodiments described herein may be provided in the form of a service deployed on behalf of a customer to offer service on demand.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of an embodiment of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.