Abstract:
A method, system, and medium are provided for generating labels to tag cables of a communications network. The includes creating a set of label records to be stored in a storage component; receiving search criteria for retrieving all or a portion of the label records; identifying at least one record in the storage component that corresponds to the search criteria; and providing a data stream that, when rendered by the printing device, produces labels displaying content of the identified records in a predetermined format. The system includes a user interface coupled to a storage component for receiving a search string to query the storage component for one or more records and a label controller that receives the query result and converts the result into a prescribed format whereby the query result can be rendered on a printing device.

Description:
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR  DEVELOPMENT 
   Not applicable. 

   CROSS-REFERENCE TO RELATED APPLICATIONS 
   Not applicable. 
   TECHNICAL FIELD 
   This invention relates to the field of computer programming. More particularly, the present invention provides a new and useful method for entering, modifying, storing, and retrieving cable labels. 
   BACKGROUND OF THE INVENTION 
   Communications networks and network systems are composed of a variety of network devices. These network devices are interconnected by cables. Historically, labeling these cables has been a slow, resource-intensive process that is prone to error. Prior-art labeling techniques suffer from a litany of shortcomings. In a first prior-art technique, labeling information is maintained separate from cable-descriptive information. Cable data, data related to a cable&#39;s source, destination, quality etc. is stored in an unstructured format. Thus, no method exists where cable tags are automatically generated from existing cable data. Another shortcoming of the prior art is that there is no way to enforce standard label content on cable tags. Pertinent info may be lost in creating the label. Also, labels may be illegible and abbreviations unclear. 
   One of the largest problems that exists in the prior art is that generating cables labels is currently time consuming. A technician must manually key in data to be printed on a label, irrespective of whether this data exits in other systems. Historically, there has been no standardized system or method of creating labels for cables used in the telecommunications industry. Human error in either re-typing the data into a label machine or hand-writing the data on a label is widespread and difficult to correct. The physical labels do not follow a standard format. 
   The present state of the art can be improved by providing a method for generating cable-labels in a more efficient and accurate manner. 
   SUMMARY OF THE INVENTION 
   The present invention solves at least the above problems by providing a system and method for electronically organizing cable-label information in a storage location accessible by multiple parties, such as a local technician and a remote engineer. The present invention bridges a gap in information flow by providing an electronic link for retrieval of the centrally-located label records, thus reducing operator-type human errors. The present invention has several practical applications in the technical arts including significantly reducing the time associated with creating cable labels, automating the cable-label-generation process, reducing mistakes in generating cables, and making label records available for future reuse. 
   In one aspect, the present invention provides a method and system for generating cable labels. The cable labels can be generated, modified, and deleted in digital format. A central data store is used to keep the labels for future use and for efficient retrieval by a user. 
   In another aspect, a system is provided for manipulating cable-label information that is stored in a centralized data store accessible by more than one user. This centralized data store allows label records to be added, modified, deleted, and/or transferred without possibility of human error and also allows the reuse of label records. A group of label records is stored in a storage device. Search criteria is received that is used to retrieve certain label records. Specific records are identified that correspond to the search criteria. Finally, a data stream is provided that, when rendered by a printing device, produces labels displaying content from the identified record(s) in a prescribed format. 
   In a further aspect, the present invention provides quality control for the physical labels and employs standards for the label content. Because the labels will all be printed on the same type of labeler, physical characteristics can be controlled and the content to be printed will follow the same format for each label. 
   In a final exemplary aspect, a system for printing labels is provided that includes a user interface connected to a storage component for receiving a search string and a label controller that receives the query result and converts the result into a predetermined format whereby the query result can be rendered on a printing device. 

   
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
     The present invention is described in detail below with reference to the attached drawing figures, wherein: 
       FIG. 1  is a block diagram illustrating an exemplary dataflow model in accordance with an embodiment of the present invention; 
       FIG. 1A  is a block diagram illustrating the dataflow model of  FIG. 1  in greater detail; 
       FIG. 2  is a flowchart illustrating a method for providing cable labels in accordance with an embodiment of the present invention; 
       FIG. 2A  is a flowchart illustrating an uploading process in greater detail; 
       FIG. 2B  is a flowchart illustrating a process for creating cable labels in greater detail; and 
       FIG. 3  is a portion of an illustrative cable-running list in accordance with an embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The present invention provides a system and method for managing, accessing, and printing cable-label records. Labels can be retrieved and printed without re-keying label content into a labeler or manually copying it onto a label. Multiple labels can be retrieved simultaneously and a prescribed format can be mandated to provide a consistent label format. 
   Various telecom technical terms are used throughout this disclosure. A definition of such terms can be found in  Newton&#39;s Telecom Dictionary  by H. Newton, 19th Edition (2003). These definitions are intended to provide a clearer understanding of the ideas disclosed herein but are in no way intended to limit the scope of the present invention. The definitions and terms should be interpreted broadly and liberally to the extent allowed. 
   As one skilled in the art will appreciate, the present invention may be embodied as, among other things: a method, system, or computer-program product. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. In a preferred embodiment, the present invention takes the form of a computer-program product that includes computer-useable instructions embodied on one or more computer-readable media. 
   Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplates media readable by a database, a switch, and various other network devices. Network switches, routers, and related components are conventional in nature, as are means of communicating with the same. By way of example, and not limitation, computer-readable media comprise computer-storage media and communications media. 
   Computer-storage media, or machine-readable media, include media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions, data structures, program modules, and other data representations. Computer-storage media include, but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD), holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, and other magnetic storage devices. These memory components can store data momentarily, temporarily, or permanently. 
   Communications media typically store computer-usable instructions—including data structures and program modules. Communications media include any information-delivery media. 
     FIG. 1  is a block diagram illustrating an exemplary dataflow model  100  of the present invention and is referenced generally by the numeral  100 . Dataflow model  100  illustrates data corresponding to a cable-label running list (CLRL) flowing between various components. A CLRL can be any assembly of data that contains information related to physical cables, all or a portion of which will be used to generate one or more cable labels. The format of a cable-label running list can take on a variety of forms and should not be construed a limitation of the present invention. Rather, any data file or data stream may be used to compose a cable-label running list, which contains data related to a cable, such as its destination, source, type, identification, purpose, etc. A portion of an exemplary cable-label running list is provided in  FIG. 3 . Dataflow model  100  depicts data flowing between a field engineer  110 , a control application  112 , a database  114 , a web report  116  and a label file  118 . 
   Field engineer  110  represents a remote user who needs to affix labels to one or more cables in the field. Control application  112  facilitates dataflow between the field engineer  110  and database  114  to produce either web report  116  and/or label file  118 . Control application  112  can receive requests from field engineer  110  and gather data from database  114  to produce web report  116  or the label file  118  in an embodiment of the present invention. 
   Database  114  may be any collection of records, which can be data structured and organized in a way to quickly access and store information. Database interface  128  ( FIG. 1A ) includes finders that initiate the actual queries and retrieve label records consistent with those queries and can be any device capable of retrieving records from a database or other storage device. 
   In operation, field engineer  110  submits a query to control application  112  to retrieve cable-label information. Control application  112  receives the query submitted by field engineer  110  and facilitates a search of database  114  to retrieve matching records. Control application  112  can then produce a web report  116 , which is preferably a web page that displays labeling data related to the specific cable running list submitted. Alternatively, control application  112  may output label file  118 , which also contains cable-label data and can be inputted into a printer to print cable labels from label file  118 . 
     FIG. 1A  illustrates in greater detail an exemplary flow diagram of the present invention. In a preferred embodiment, control application  112  is composed of an application user interface  120 , an application web service  122 , a control application web service  124 , a control application workflow  126 , a database interface  128 , a web-edit controller  130 , a web-report controller  132 , and a label-file controller  134  arranged as shown. Those skilled in the art will appreciate that control application  112  may be composed of a variety of other subcomponents or of similar subcomponents with alternative names that accomplish the functionality described below. 
   The various modules that compose control application  112  should not be construed as limitations of the present invention; but rather as a preferred arrangement of modules to accomplish the functionality offered disclosed herein. Application user interface  120  offers a first way to receive input from field engineer  110 . Application user interface  120  is not a web page. Rather, application user interface  120  can be a software application such as a productivity or utility application. An exemplary application user interface suitable for use in practicing the present invention includes MS Excel® offered by the Microsoft Corporation of Redmond, Wash. 
   Web services provide a mechanism for computers to talk to other computers using standard Internet-based protocols, especially XML. In the preferred embodiment, XML-based web services are used. XML-based web services make programmatic interactions between computer systems much faster, cheaper, and easier than previous distributed-computing approaches. Application web service  122  is used to communicate data from application user interface  120  to a workflow layer  126  via control application web service  124 . Control application web service  124  is a web service that accepts any XML web service from any source, not limited to application user interface  120 . Control application web service  124  manages retrieving information through database interface  128  and initiating the workflow for storing new or changed information via control workflow layer  126 . 
   Database interface  128  provides domain-object information that represents cable-label running lists. Database interface  128  provides data to label-file controller  134  and web-report controller  132 . Web-report controller  132  helps create a page that conforms to a prescribed standard. Using a prescribed standard allows the web report  116  to be formatted consistently. Thus, content format can be enforced by the present invention. Label-file controller  134  produces a file that is compatible with a printer or printing software of choice. Label-file controller  134  dictates the type of output that will be produced. 
   A second user interface  131  (such as a web edit page), provides an alternative method of interacting with field engineer  110 . In a preferred embodiment, the second user interface takes the form of a page viewable by a browser. A browser includes any software product that translates digital bits into viewable data components. Exemplary browsers include INTERNET EXPLORER® offered by Microsoft Corporation of Redmond, Wash. and NETSCAPE NAVIGATOR® offered by Netscape Communications Corporation of Cupertino, Calif. Engineer  110  may use web edit page  131  to, among other things, make cable-information requests and to submit data-modification requests. Web edit page  131  interacts with control application  112  via web-edit controller  130 . 
   Web-edit controller  130  manages page operations including retrieving information from database  114  and initiating control application workflow  126 . Web-edit controller  130  can be any device that helps render user interface components in a browser. Web-edit controller  130  may be a subcomponent of another device, stand-along, or may be located in a computing device such as a file server. In one embodiment, web-edit controller  130  facilitates communication between web edit page  131  and workflow layer  126  by managing label-record information and/or query requests it receives and transmitting them to workflow layer  126 . 
   Workflow layer  126  includes a set of instructions that when implemented impose a set of rules on system procedures. In one embodiment, workflow layer  126  directs label-record information and/or query requests it receives from web-edit controller  130  are stored in database  114 . 
   Turning briefly to  FIG. 3 , an illustrative cable-running list is provided. Additional data fields may be added and not all fields shown are required. As show, exemplary information contained in a cable-label running list for various devices may include a variety of identifiers that describe, for instance, an item, cable type, number of runs, racks/location, equipment description, equipment designation, termination type and/or any applicable notes. The identifying information can be included for both the source of the cable run and its destination. In some embodiments a cable-label-running list is the same as a cable-running list. In other embodiments, a cable-running list is used as a source of information to generate a cable-label-running list, which contains a subset of data in a cable-running list. The list shown in  FIG. 3  can be either a cable-running list or a cable-label running list. 
   In one embodiment the cable-label information can be stored in database  114  by operators other than field engineer  110 . For example, a group of users may prepopulate database  114  with cable-label information related to many different labels so that when field engineer  110  needs to retrieve labeling information related to those cables, he or she may do so without having to re-key information. 
   Not having to re-key cable-label-content information is a significant improvement over the prior art, where a technician would need to key in labeling information on site. The information had to be keyed as many times and for as many different labels as needed. These labels also may not have been printed in a consistent format, but the labels of the present invention can be printed in a consistent format via label file  118 . If field engineer  110  simply wants to view cable-labeling data, that is possible using web report  116 . 
     FIG. 2A  is a flowchart illustrating a method for providing cable labels in accordance with an embodiment of the present invention. Not all processes listed in  FIG. 2  are required, nor is each step a required step. The various technologies depicted are provided for illustrative purposes that may include preprocessing or postprocessing steps that clarify various functional aspects offered by the present invention. At a step  210 , a communications system is designed. Here, a communications system can be any system that requires cables: from residential home wiring to a city-wide communications network and beyond. When a system is designed, the various cables that need to be implemented are typically provided in schematic diagrams or by some other conventional means. 
   In a preferred embodiment, information related to some or all of the various cables is captured in a cable-label running list. A cable-label running list can take on a variety of forms, such as a database, a spreadsheet, or a text file. The cable-label-running-list data is captured at a step  212 . The cable-label running list is then uploaded or saved to a data store such as database  114  at step  214 . Any modifications that need to be made can be made in a cyclical step  218 . By inputting this data into a remotely accessible repository, the data made available to remote users. Now cable-label data can be automatically generated from the cable-running-list data. At an exemplary step  220 , a request is received to retrieve cable-label data. This request can come from an engineer in the field for example. 
   The request is typically received by a query submission that allows cable-label data to be retrieved at a step  222 . In one embodiment, the data retrieved from step  222  is then imported into a cable-label file. The cable-label file, such as label file  118 , can assume a variety of forms such as a text document, a word processing document, a database file, a spreadsheet file, a comma-separated-variable file, etc. This file includes information from the label record in database  114  that is to be printed on the label. Label file  118  should not be construed as limited to an actual file per se, but can be any output stream containing data. The data may include a stream of single characters or be composed of a series of data packets. 
   The cable-label data can then be printed at a step  226  or merely viewed and corrected at a step  228 , whereby processing would return to updating the cable-label file and re-retrieving the updated data at a step  222 . 
   The uploading/saving step  214  is illustrated in greater detail with respect to  FIG. 2A . Turning now to  FIG. 2A , a client system can create cable records at a step  214 A. Using a client system to formulate data records is not essential. The records could be created directly at a server. But using a client system is expedient and efficient. The cable records include the various data items previously mentioned such as source and destination information. Such a client system can then send the records to a remotely accessible server system at a step  214 B. A server system then receive the cable records and validates them records at a step  214 C. Validating data decreases the likelihood of processing errors and offers a quick feedback mechanism to correct user input. If the data is not formatted correctly, or for some other reason, the data can be flagged for correction at this time. But, if the data is valid, then the server system preferably stores the cable-label records in a remotely accessible database such as database  114  at a step  214 D. In a preferred embodiment the server system then sends a confirmation to the client system at a step  214 E. 
   Retrieving cable-label information at a step  222  is illustrated in greater detail with reference to  FIG. 2B . Turning now to  FIG. 2B , control application  112  receives at a step  222 A search criteria upon which to base a search for certain cable-label records stored in database  114 . Control application  112  then retrieves cable-label information stored in database  114  based on the search criteria at a step  222 B ( FIG. 2B ). In a preferred embodiment, the system then formats the cable records into structured cable-label records at a step  222 C. Structuring the labeling data makes it easy to manipulate. At a step  222 D, control application  112  generates a results file, such as label file  118  or web report  116 . Reports can then be presented to a user at a step  222 E. 
   As previously mentioned,  FIG. 3  is an illustrative example of a cable running list, which can also be a cable-label running list. Label-content data is generated from this list. This list can take on a variety of forms and the form illustrated in  FIG. 3  should not be construed as a limitation of the present invention. Rather, any type of file (text delimited, spreadsheet, etc) may be used. The data stored in the list can be correlated with label content. 
   As can be seen, the present invention and its equivalents are well-adapted to provide a new and useful method for labeling cables. Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of the present invention. 
   The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. Many alternative embodiments exist but are not included because of the nature of this invention. A skilled programmer may develop alternative means of implementing the aforementioned improvements without departing from the scope of the present invention. 
   It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need be carried out in the specific order described.