1. Field of the Disclosure
This disclosure relates generally to multi-tiered data access.
2. Background Art
As the volume of stored data increases, conventional (i.e., single tiered) data systems become increasingly inefficient. Some conventional data systems attempt to address the inefficiencies by optimizing the system for either data storage or data retrieval. For example, conventional data systems may maintain a large index corresponding to the stored data. Such indexing may provide improved data retrieval speeds but generally decreases the speed of data loading (i.e., the addition of new data, data storage) and consumes system resources. Conversely, conventional data systems using minimal data indexing generally provide improved data loading speeds but decreased data retrieval speeds. Such data retrieval/data loading tradeoffs may be problematic in systems where real time applications, such as Internet WEB applications, require the ability to rapidly retrieve data while system data is being updated and/or loaded.
In addition, data corruption in conventional data systems may propagate rapidly, causing data loss and requiring reinstallation of a large quantity of data from a backup. The reinstallation process may further subject the system to an additional risk of data loss.
Conventional data systems may also require extensive modification to add additional forms of data, especially forms of data having a format that differs from the data formats previously stored by the data system.
The present disclosure, both as to its organization and manner of operation, together with further objects and advantages thereof, may be best. understood with reference to the following description, taken in connection with the accompanied drawings in which:
The present disclosure generally provides a system, method and computer readable medium for multi-tiered data access. One embodiment of the present disclosure may provide increased data storage and/or data retrieval rates. Another embodiment may impede data corruption propagation such that data loss and/or reinstallation of data from a backup may be reduced. Another embodiment may provide increased data retrieval rates while reducing the data storage requirement of a system. Yet another embodiment may provide increased data storage and/or retrieval efficiency in multi-processor machines. Still yet another embodiment may reduce the amount of modification required to add additional forms of data to the system. It should be understood that other embodiments of the disclosure may provide yet additional and/or alternative benefits.
The present disclosure discloses an embodiment of a method which includes receiving a telephone number (i.e., an identifier) corresponding to a unique pair of first and second parameters. The first parameter corresponds to a device (e.g., a switch) having a plurality of ports and the second parameter corresponds to one of the ports of the device. The method further includes determining the parameters using the telephone number and then determining a physical location in storage of a unit corresponding to the first parameter. The storage includes units respectively corresponding to different first parameters with each unit respectively having a physical location in the storage. Each unit has members respectively corresponding to different second parameters with each of the second parameters respectively corresponding to a member of each unit. The method further includes identifying the member corresponding to the second parameter of the unit which corresponds to the first parameter.
The present disclosure discloses an embodiment of a system which includes a storage, a logical mapping apparatus, and a physical mapping apparatus. The storage includes units respectively corresponding to different first parameters with each unit respectively having a physical location in the storage. Each unit has members respectively corresponding to different second parameters with each of the second parameters respectively corresponding to a member of each unit. The first parameters respectively correspond to devices each having a plurality of ports and the second parameters respectively correspond to the ports. The logical mapping apparatus determines a pair of first and second parameters which uniquely correspond to a telephone number. The physical mapping apparatus receives the parameters from the logical mapping apparatus, determines a physical location in the storage of a unit corresponding to the first parameter, and identifies the member corresponding to the second parameter of the unit which corresponds to the first parameter.
It is to be understood that the previous and subsequently disclosed embodiments are merely exemplary. The figures are not necessarily to scale, and some features may be exaggerated or minimized to show details of particular components. Therefore, specific functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for the claims and/or as a representative basis for teaching one skilled in the art to variously employ the present disclosure. In the figures and in the discussion that follows, like reference numbers indicate like elements.
Referring to
Operator interface 102 may be any appropriate interface device, such as a keyboard, a touchscreen, a mouse, a display, a voice recognition device, a light pen, a speaker and the like, for electronically coupling to the logical mapping apparatus 104, transmitting an operator initiated command (i.e., operator command) (e.g., a data request) to logical mapping apparatus 104 and/or conveying information (e.g., data) to an operator.
Logical mapping apparatus 104 may be electronically coupled to operator interface 102 for receiving the operator command. In at least one embodiment, logical mapping apparatus 104 may be a computer or other logical device, such as an Application Specific Integrated Circuit, which executes software application programs and/or which performs other logical exercises. However, logical mapping apparatus 104 may include any type of unit or entity which can determine one or more search parameters (e.g., first search parameter, second search parameter, etc.) corresponding to the operator command.
In one embodiment, logical mapping apparatus 104 may use a table 130 for determining a search parameter corresponding to the operator command. Furthermore, in at least one embodiment, table 130 may reside in a memory 120, such as a solid state memory, a read-only memory, a random access memory, an EPROM, an EEPROM and the like, and/or a database 124 electronically coupled to logical mapping apparatus 104. Optionally, logical mapping apparatus 104 may use a hash function (not shown) for determining a search parameter. However, logical mapping apparatus 104 may use any appropriate algorithm and/or look-up device to determine the one or more search parameters corresponding to the operator command.
Logical mapping apparatus 104 is generally electronically coupled to physical mapping apparatus 106 and presents the one or more search parameters to physical mapping apparatus 106.
Physical mapping apparatus 106 may be electronically coupled to one or more physical data storage devices 108, such as a magnetic media, an optical media, a hard drive, a memory device, and/or the like. Each of data storage devices 108 may comprise one or more physical and/or logical data units 150, such as a file, a table, and the like. Each data unit 150 generally corresponds to a set of related data (i.e., a data set), such as data corresponding to a business group, a network, a device, and the like.
Similarly, each data unit 150 may comprise one or more data members 160. Each data member 160 generally corresponds to a related sub-set of the data unit 150, such as data corresponding to an individual department within a business group, an individual network device, an individual device user, and the like. In at least one embodiment, a data member 160 may represent the smallest sub-set of data that may be retrieved in response to the operator command. However, implementation having additional levels (i.e., tiers) is contemplated within the spirit and scope of the present disclosure. Accordingly, additional sub-groupings (not shown) of data within a data member 160 are contemplated by the present disclosure.
Physical mapping apparatus 106 is generally a computer or other logical device, such as an Application Specific Integrated Circuit, which executes software application programs and/or which performs other logical exercises. In at least one embodiment, the functionality of physical mapping apparatus 106 may be implemented in the same device as logical mapping apparatus 104.
In particular, physical mapping apparatus 106 generally receives the one or more search parameters from logical mapping apparatus 104 and determines a physical location of a data unit 150 corresponding to a first search parameter. In at least one embodiment, the first search parameter may represent (i. e., correspond to) a device such as an Asymmetric Digital Subscriber Line, an Asynchronous Transfer Mode Switch, a Digital Subscriber Line Access Multiplexer, etc. and the corresponding data unit 150 may include data relating to the physical device.
In general, the physical location may be any appropriate address (i.e., location) on any appropriate storage device 108, such as a location on a magnetic media, a location on an optical media, a location on a hard drive, a memory address, and the like. In at least one embodiment, the first search parameter may resolve (i.e., map) directly into the address of data unit 150. For example, the first parameter may form all or part of a file name that resolves into the address of a data unit 150 stored on a storage device 108 via a file directory. Similarly, in another embodiment, the first parameter may form all or part of the name of a table stored in memory.
Physical mapping apparatus 106 may also identify a data member 160 (i.e., a data member 160 of data unit 150 corresponding to the first search parameter) corresponding to the second search parameter. In one embodiment, the second search parameter may represent (i. e., correspond to) a port on a device such as an Asymmetric Digital Subscriber Line, an Asynchronous Transfer Mode Switch, a Digital Subscriber Line Access Multiplexer, etc. and the corresponding data member 160 may include data relating to an object coupled to the port. In addition, at least one embodiment may include one or more data member 160 stored in a compressed state (i.e., compressed data object) and/or as a Binary Large Object (i.e., BLOG).
Physical mapping apparatus 106 may output data member 160 to the operator. In at least one embodiment, physical mapping apparatus 106 may output data member 160 to the operator using operator interface 102.
Referring to
Decision block 204 generally determines when a new data unit (e.g., data unit 150) is required. In general, the addition of a new data unit is required to expand the system (e.g., system 100) to include data not represented by an existing data unit. For example, in one embodiment, each data unit may correspond to an element of a network (not shown). When a new device (i.e., element) is added to the network, a new data unit is generally required to represent data associated with the new device. Method 200 generally proceeds to step 206 when a new data unit is required (i.e., the YES leg of decision block 204). Otherwise, method 200 may fall through to step 212 (i.e. the NO leg of decision block 204).
At step 206, a new data unit may be generated.
At step 208, a unique identifier may be generated. In at least one embodiment, such as the exemplary embodiment described in connection with decision block 204, the unique identifier may correspond to the name of a new device.
At step 210, the unique identifier may be mapped to the new data unit. From step 210, method 200 may return to decision block 204.
Decision block 212 generally determines when an operator initiated command (i.e., operator command) has been received. Method 200 may proceed to step 214 when an operator command is received (i.e., the YES leg of decision block 212). Otherwise, method 200 generally return to decision block 204 (i. e. the NO leg of decision block 212).
At step 214, a first search parameter may be determined based at least in part on the operator initiated command.
At step 216, a second search parameter may be determined based at least in part on the operator initiated command.
At step 218, a physical location of a data unit corresponding to the first search parameter may be determined.
At step 220, a data member (e.g., data member 160) corresponding to the second search parameter may be identified. In general, the data member corresponds to a sub-set of data within a corresponding data unit (e.g., data unit 150).
At step 222, the data member may be outputted to any appropriate device such as an operator interface device (e.g., 102). From step 222, method 200 may return to decision block 204.
Referring now to
In the exemplary embodiment of
When a user (i.e., subscriber) seeks technical support, the user generally provides a technical support person (i.e., system operator) with a user identifier, such as a DSL telephone number corresponding to the user. For purposes of illustration, the user identifier may be 555-555-0002. The system operator may then generate an operator command (i.e., signal, operator initiated command, etc.) corresponding to the user identifier via operator interface 102. The operator command is generally presented by operator interface 102 to logical mapping apparatus 104.
Logical mapping apparatus 104 may receive the operator command and may determine a first search parameter and a second search parameter corresponding to the operator command. In the exemplary embodiment of
Optionally, logical mapping apparatus 104 may further generate a new data unit 150, generate a unique identifier for the new data unit (i.e., previously unidentified data unit) 150, and/or map the unique identifier to new data unit 150 in response to a new DSLAM being added to system 300.
Physical mapping apparatus 106 generally receives the first and second search parameters (e.g., DSLAM2 and port 3) and determines a physical location of a data unit 150 corresponding to the first search parameter. In the exemplary embodiment of
Physical mapping apparatus 106 may also identify a data member 160 from the data stored within data unit 150 based at least in part on the second search parameter. In the exemplary embodiment, physical mapping apparatus 106 may identify member 160 corresponding to port 3. Data member 160 (i.e., user data values in the row corresponding to port 3) may be output (i.e., transmitted) to the system operator. In such a manner, the system operator may retrieve the user data corresponding to the subscriber. In at least one embodiment, the user parameters (e.g., user data 1, user data 2, etc.) for each port may be stored in a compressed state and/or as a Binary Large Object (BLOB) to increase efficiency and/or reduce data storage requirements.
In the exemplary two-tiered data system 300 of
Furthermore, grouping data points into data units 150 may provide for updating of a first data unit 150 with little or no affect on a search being performed on a second data unit 150 and vice versa, may impede data corruption propagation, may provide increased data storage and/or retrieval efficiency in multi-processor machines, and/or may reduce the amount of modification required to add additional forms of data to the system. Similarly, compressing data points within a data unit 150 may reduce the data storage requirement of system 300.
While the forgoing disclosure and FIGS. generally disclose a two-tiered data system, it should be understood that additional tiers may be implemented within the spirit and scope of the present disclosure.
Computer system 400 may include a processor 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 404 and a static memory 406, which communicate with each other via a bus 408. Computer system 400 may further include a video display unit 410 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display, or a cathode ray tube (CRT)). Computer system 400 may include an input device 412 (e. g., a keyboard), a cursor control device 414 (e.g., a mouse), a disk drive unit 416, a signal generation device 418 (e.g., a speaker or remote control) and a network interface device 420.
Disk drive unit 416 may include a machine-readable medium 422 on which is stored one or more sets of instructions (e.g., software 424) embodying any one or more of the methodologies or functions described herein, including those methods illustrated in herein above. Instructions 424 may also reside, completely or at least partially, within main memory 404, static memory 406, and/or within processor 402 during execution thereof by computer system 400. Main memory 404 and processor 402 also may constitute machine-readable media. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
The present disclosure contemplates a machine readable medium containing instructions 424, or that which receives and executes instructions 424 from a propagated signal so that a device connected to a network environment 426 can send or receive voice, video or data, and to communicate over network 426 using instructions 424. Instructions 424 may further be transmitted or received over a network 426 via network interface device 420.
While machine-readable medium 422 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g. a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape; and carrier wave signals such as a signal embodying computer instructions in a transmission medium; and/or a digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the present disclosure is considered to include any one or more of a machine-readable medium or a distribution medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
Although the present disclosure describes components and functions implemented in the embodiments with reference to particular standards and protocols, the present disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
This application is a continuation of U.S. application Ser. No. 11/227,053, filed Sep. 15, 2005, now U.S. Pat. No. ______, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 11227053 | Sep 2005 | US |
Child | 11999580 | Dec 2007 | US |