# Patent

## Title
Recruitment vendor management system and method

## Abstract

A computer system and method for identifying a matching resume for a job description. The system receives and stores the job description that includes job requirements, each including a required skill or experience-related phrase and a required term of experience. The system receives and stores resumes that include skill or experience-related phrases. When the skill or experience-related phrases include the required skill or experience-related phrase for a job requirement, the system computes a term of experience for the required skill or experience-related phrase. To compute the term of experience, the system associates a contextual use and an experience range with each skill or experience-related phrase. A resume is a match when it includes the required skill or experience-related phrase for each job requirement and the term of experience for the required skill or experience-related phrase in the resume is greater than or equal to the required term of experience.

## Background
CROSS-REFERENCE TO A RELATED APPLICATION
This application for letters patent is a continuation of U.S. patent application Ser. No. 10/679,432, filed on Oct. 7, 2003, now U.S. Pat. No. 7,650,286, which is a continuation-in-part of and incorporates by reference U.S. patent application Ser. No. 10/418,142, filed on Apr. 18, 2003, now U.S. Pat. No. 7,711,573. The assignee is the same in this continuation patent application, the continuation-in-part patent application, and the parent patent application.


FIELD OF THE INVENTION
The present invention relates, in general, to computing systems and data processing. In particular, the present invention is a computer system and method for identifying a matching resume from the submission of applicant resumes to an employer in response to a job description for job opening with the employer.
BACKGROUND OF THE INVENTION
When an employer decides to hire a new employee, a hiring manager composes a job description that states the requirements for the new employee. The requirements typically include characteristics and qualifications for the new employee. The hiring manager or the employer initiates the process of hiring the new employee, the job opening fulfillment process, by advertising the job description to the public or a focused group of recruitment vendors. In response to the employer posting the job description, the hiring manager receives resumes either directly from applicants or from a recruitment vendor who represents applicants.
A resume, or curriculum vitae, summarizes a candidate's career and qualifications. The resume is a mechanism to convey personal and business-related characteristics that the candidate believes to be relevant to a prospective employer. The resume typically includes the candidate's career objective, personal interests, professional affiliations, educational background, employment history, and a description of work experience.
The candidate review portion of the job opening fulfillment process historically is a manual process for the hiring manager. The hiring manager, or a representative of the hiring manager, begins candidate review by reviewing each paper or electronic resume received in response to posting the job description. Throughout candidate review, the hiring manager, or a representative of the hiring manager, keeps the requirements of the position in mind. For each resume, the hiring manager, or a representative of the hiring manager, decides whether the resume describes qualifications that can satisfy the job requirements. If a resume may satisfy the job requirements, the hiring manager, or a representative of the hiring manager, contacts the candidate, or a recruitment vendor representing the candidate, to invite the candidate for an interview. If the candidate accepts the invitation, the interview and a number of additional steps will help the hiring manager to decide whether to hire the candidate. One disadvantage of this process is the time required by the hiring manager, or a representative of the hiring manager, to review resumes that might not possibly qualify for the position. The hiring manager, or a representative of the hiring manager, reviews a number of resumes for the purpose of narrowing them down to a few resumes that describe candidates who might qualify for the position and warrant an interview or hire. Furthermore, the accuracy of the manual process to qualify candidates for the subsequent steps in the interviewing and hiring process depends on the accuracy of the resume review conducted by the hiring manager, or a representative of the hiring manager. This increases the likelihood that the hiring manager, or a representative of the hiring manager, will miss the resume of a qualified potential candidate or promote the resume of an unqualified potential candidate for consideration. Thus, the manual nature of candidate review and the job opening fulfillment process does not lend itself to a thorough, careful, and timely review of submitted resumes.
Prior electronic systems improved upon the manual process by creating tools to scan the text of the resume for key words specified in the job requirements of the job description. Other prior electronic systems have required the candidate, or a recruitment vendor representing the candidate, to complete and submit an electronic profile to specify the candidate's skills and qualifications. Alternatively, the other prior art electronic systems have required the candidate, or a recruitment vendor representing the candidate, to specify whether the candidate has the required experience and the required duration for each of the job requirements of the job description. Still other prior electronic systems perform a combination of the previously mentioned scenarios. The impetus for developing the prior electronic systems was to give the hiring manager, or a representative of the hiring manager, some level of assistance when qualifying a resume submitted for review. These prior systems typically scanned the resume using a textual word search of the resume content. Although at times, the textual word search accounted for alternative terminology, spelling, format, or case differences between the job requirements and the stated text in the resume, the textual word search never took into account the duration of experience associated with a word or phrase in the resume. The duration of experience was only searchable after the candidate, or a recruitment vendor representing the candidate, has entered it in the profile. The manual review of resumes for a specific duration of experience in a specific field or skill is a timely and error prone process. The disadvantages of the prior art include missing a qualified candidate, considering an unqualified candidate for an interview, and erroneously accusing a recruitment vendor of submitting unacceptable candidates to the hiring manager, or a representative of the hiring manager. The metrics used to evaluate the quality of the resume submissions by a vendor was constantly erroneous and skewed by the inaccurate evaluation of submitted resumes. Thus, the prior art systems not only fail to identify qualified candidates, but also recommend the review of unqualified candidates thereby wasting the valuable time of all the parties involved in the hiring process.
Other prior electronic systems attempted to solve the vulnerability of the manual process of reviewing resumes by relying on the candidate, or a recruitment vendor representing the candidate, to input the candidate's duration of experience in a skill or experience-related phrase that the job description requires. A skill or experience-related phrase is a sequence of one or more consecutive words. A word is a sequence of one or more consecutive printable characters, numbers, or symbols. These prior systems rely on the candidate, or a recruitment vendor representing the candidate, to enter correctly and accurately the duration of experience possessed by the candidate for each skill or experience-related phrase required by the job description. There are three principal disadvantages to these prior systems.
First, prior electronic systems provide a very time consuming set-up for the candidate, a recruitment vendor representing the candidate, a hiring manager, and a representative of the hiring manager. For each required skill or experience-related phrase in each job description, the candidate must enter or have entered the required skill or experience-related phrase and the associated duration of experience. This becomes a particularly daunting task when one considers that an applicant may want to apply for a number of job descriptions, each having an individual list of required qualifications.
Second, prior electronic systems relied on text word searches or knowledge-based searches combined with text word searches, both of which did not accommodate a job requiring a duration of experience for each of the required skills. These systems cannot consider a skill or experience-related phrase and its possible duration of experience electronically as soon as the resume arrives into the system. To match a resume to the job requirements, the prior art calculated the duration of experience for a skill or experience-related phrase manually, never electronically. The hiring manager, or a representative of the hiring manager, manually tallied the duration of experience for each required skill or experience-related phrase, or its alternatives to determine whether the resume meets the required duration of experience in each required skill or experience-related phrase, or its alternative.
Third, the manual process introduces the potential for human error. Adherence of the submitted resumes to the required duration of experience for the required skill or experience-related phrase may assess the candidate, or a recruitment vendor representing the candidate, either wrongfully or unjustifiably. The process may turn down candidates when they shouldn't be and vice versa. The recruitment vendor may be misjudged on the quality of the resumes that they submit and whether they adhere to the requirements of job descriptions.
Thus, there is a need for a recruitment vendor management system that includes matching tools that accurately assess whether a submitted resume meets a job description. The system will improve the evaluation process of applying candidates. Additionally, the system will improve the evaluation process of the recruitment vendor who submits candidates to the hiring manager, or a representative of the hiring manager. The system will save time and money during the review of resumes by the hiring manager, or a representative of the hiring manager. The system will also improve the time required to respond to applying candidates, allowing the candidates to know sooner whether they are being considered for a job description. The system determines whether a resume includes the qualifications or job requirements sought, and also identifies and rejects resumes that cannot possibly include the qualifications or job requirements sought. Each job requirement for a job description comprises a required skill or experience-related phrase, and a minimum required duration of experience in the skill or experience-related phrase. The system accommodates resumes that contain a narrative of job experiences within a duration or date range. The contents of the resume should suffice when determining whether the candidate meets the required minimum duration in a specific skill or experience-related phrase without relying on the candidate to enter the data into a profile. The present invention addresses these needs.
SUMMARY OF THE INVENTION
A computer system, method, and computer program product for identifying a matching resume for a job description. The method comprises receiving and storing the job description that includes job requirements, each job requirement comprising a required skill or experience-related phrase and a required term of experience for the required skill or experience-related phrase. The method further comprises receiving and storing resumes, each resume including skill or experience-related phrases, wherein the skill or experience-related phrases includes the required skill or experience-related phrase for one of the job requirements. The method further comprises, for each resume, computing a term of experience for the required skill or experience-related phrase for each job requirement, and determining whether the resume is the matching resume that satisfies the job description. The resume further includes a contextual use for each skill or experience-related phrase, the contextual use having an experience range. The term of experience for the required skill or experience-related phrase being derived from experience range associated with the contextual use. When the experience range is zero, the term of experience is set to zero. When the experience range is greater than zero, the term of experience is the time difference between the start time and the end time of the experience range. When the required skill or experience-related phrase for each job requirement that is a repeated entry, the computation of the term of experience is the sum of the time differences for each repeated entry that is in a different experience range. To satisfy the job description, the matching resume includes the required skill or experience-related phrase for each job requirement, and the term of experience for the required skill or experience-related phrase in the resume is greater than or equal to the required term of experience. The matching resume may also satisfy the job description by including an alternative required skill or experience-related phrase.
The method further comprises displaying the matching resume on a display screen. When the display is segmented into three portions, the first portion shows a list of resumes, the second portion shows attributes extracted from the matching resume, and the third portion shows the matching resume. When the display is segmented into two portions, either the first portion shows attributes extracted from the matching resume and the second portion shows the matching resume, or the first portion shows a list of resumes and the second portion shows the matching resume. To display the matching resume, the method further comprises marking each occurrence of the required skill or experience-related phrase for each said at least one job requirement. The marking includes highlighting, or display in reverse video, each occurrence of the required skill or experience-related phrase.
The preceding summary of the invention is presented to assist with understanding the invention and is neither an exhaustive nor an exclusive summary. It should be understood that this summary of the invention is not representative of all of the inventions defined by the claims, to be considered limitations on the invention as defined by the claims, or limitations on equivalents to the claims. Thus, this summary of the invention should not be considered dispositive when determining equivalence. Additional features and advantages of the invention will become apparent from a review of the detailed description, figures, and claims.
FEATURES AND ADVANTAGES
A recruitment vendor management system allows a candidate, or a recruitment vendor representing the candidate, to submit an electronic, or digital, resume without completing forms or profiles that assign a duration of experience to a predefined set of skill or experience-related phrases. For each job requirement, the system extracts the required skill or experience-related phrases from the electronic resume and computes a maximum possible duration of experience for each required skill or experience-related phrase.
A broad term or phrase is a term or phrase that another term or phrase implies (i.e., a broad phrase is an implied phrase). For instance, “human” is a broad term for “soldier”, “banker” is a broad term for “lending officer”, and “medical doctor” is a broad term for “psychiatrist” or “neurologist”. Since “medical doctor” is a synonym for “physician”, the phrase “medical doctor” is a broad phrase for “physician” and “physician” is a broad term for “medical doctor”. The phrase “speaks Spanish very well” is a synonym for the phrase “fluent in Spanish” and therefore, both phrases are broader than each other. However, “fluent in Spanish” is a broad term for “Spanish author”. A candidate's duration of experience in a broader skill or experience-related phrase is at least the same duration of experience in a narrower phrase from which the broader phrase is implied. The duration of experience in the broader skill or experience-related phrase would be greater than the duration of experience in a narrower skill or experience-related phrase from which it is implied only if the broader skill or experience-related phrase or any of its other narrower skill or experience-related phrases additionally appear in experience ranges different from the experience range containing the earlier mentioned narrower skill or experience-related phrase.
A narrow term or phrase is a term or a phrase that implies another term or phrase. The latter term or phrase is the broad term of the narrow term that implies it. The term ‘imply’ is the Aristotelian implication in logic as in the statement “If A then B”. In this statement, the assumption is that A implies B. Therefore, A is a narrow term of B and B is a broad term of A.
The recruitment vendor management system creates, for each skill or experience-related phrase, a mapping to all of the narrow terms or phrases. However, assuming a mapping to narrow terms or phrases exists for a skill or experience-related phrase, a resume that includes the skill or experience-related phrase may not include any of the narrow terms or phrases. A resume satisfies a required skill or experience-related phrase when the resume includes the required skill or experience-related phrase, or any of its narrow phrases, and when a combined duration of experience in the required skill or experience-related phrase and all of its narrow phrases is greater than or equal to the required duration of experience in the required skill or experience-related phrase. The combined duration of experience, which is the summation of the duration of experience in the required skill or experience-related phrase and all its narrow phrases without summing an experience range more than once, is the maximum possible duration of experience.
The recruitment vendor management system assists a hiring manager, or a representative of the hiring manager, to accept or reject a submitted resume for an interview or consideration without having to perform a manual review of skill or experience-related phrases. The resume for any candidate selected for consideration will possibly have the required skill or experience-related phrases at the required duration of experience. The system requires the received resume to contain job narratives that contain the skill or experience-related phrases. The system accommodates the written form of the resume to include a from-date and a to-date for each of the various jobs held by the candidate, as well as, some form of duration or date range associated with each of the various jobs held by the candidate. The system only denies consideration for a candidate when the candidate's resume could not have included the required skill or experience-related phrases for the required duration of time.
The recruitment vendor management system may determine that a resume is a match for a job description. The resume matches a job description that includes a job requirement for a skill or experience-related phrase when the maximum possible duration of experience in the skill or experience-related phrase is greater than or equal to the required duration of experience in the skill or experience-related phrase.
When the required skill or experience-related phrase maps into one or more narrow phrases, the resume matches a job description that includes a job requirement for such a skill or experience-related phrase when the combined maximum possible duration of experience in the skill or experience-related phrase and all its narrow phrases is greater than or equal to the required duration of experience in the skill or experience-related phrase.
When the job requirement of a job description requires that the experience in a certain skill or experience-related phrase be obtained at a specific time-range in the past, the resume matches such job description when the resume satisfies the requirement that the experience in the skill or experience-related phrase was gained over a duration that contains the specific time-range.
When a job description includes multiple job requirements, a resume matches such a job description when the resume matches all of its job requirements.
When a job description requires that at least one or more of a number of job requirements be met, then a resume matches such a job description when the resume matches any of these alternative job requirements.
When a job description includes multiple job requirements each of which can be substituted by possible alternative job requirements, then a resume matches such a job description when the resume matches the job requirements or their alternative requirements.
Additionally, a resume might not be a match for a job description when the resume matches another excluding job description.
After determining whether a resume is a match, the system notifies the hiring manager, or a representative of the hiring manager, accordingly. The hiring manager then reviews the resume and arranges an interview for the matching candidate by contacting the candidate or his submitting vendor. Alternatively, the hiring manager, or a representative of the hiring manager, may by-pass an interview and proceed to offer the candidate a job. However, the hiring manager, or a representative of the hiring manager, may decide to not consider the matching candidate for an interview or the job for reasons beyond the stated requirements in the job description. To assist in the decision process, the system may be configured to generate a summary of the matching candidate's background that highlights the experiences most pertinent to the job requirements. Alternatively, the system may also outline why a candidate's resume is not a match for a job requirement by identifying the candidate's lack of experience or duration thereof in a required skill or experience-related phrase.
The preceding features and advantages are presented to assist with understanding the invention and are neither an exhaustive nor an exclusive summary. It should be understood that these features and advantages are not representative of all of the inventions defined by the claims, to be considered limitations on the invention as defined by the claims, or limitations on equivalents to the claims. Thus, these features and advantages should not be considered dispositive when determining equivalence. Additional features and advantages of the invention will become apparent from a review of the detailed description, figures, and claims.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying figures best illustrate the details of the recruitment vendor management system and method, both as to its structure and operation. Like reference numbers and designations in these figures refer to like elements.
FIG. 1 is a block diagram that illustrates the integration of recruitment vendor management system 140 into an operating environment for a traditional job opening fulfillment or employment-seeking situation, in accordance with one embodiment of the present invention.
FIG. 2 is a network diagram that illustrates exemplary input and hardware components that may form the operating platform for recruitment vendor management system 140 shown in FIG. 1 in accordance with one embodiment of the present invention.
FIG. 3 is a block diagram that illustrates the hardware and software components comprising recruitment vendor management system 140 shown in FIG. 1 in accordance with one embodiment of the present invention.
FIG. 4 is an exemplary database structure for resume database 302 shown in FIG. 3 in accordance with one embodiment of the present invention.
FIG. 5 is a flow diagram of an embodiment of recruitment vendor management system 140 receiving a job description for a job opening in accordance with one embodiment of the present invention.
FIG. 6 is a flow diagram of an embodiment of recruitment vendor management system 140 receiving a resume in accordance with one embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram that illustrates the integration of recruitment vendor management system 140 into an operating environment for a job opening fulfillment situation. As shown in FIG. 1, recruitment vendor management system 140 is an interface between a hiring company and vendor 150a. The hiring company is a corporate or government entity that desires to hire a new employee to fill a specific job opening. Hiring manager 130a and vendor management officer 145a are representatives of the hiring company responsible for evaluating the potential candidates such as candidate 110a for the specific job opening. Vendor 150a is a corporate or government entity that has a business relationship with an entity such as the hiring company to provide qualified resumes to fill specific job openings.
Hiring manager 130a initiates the job opening fulfillment process by authoring job description 135a to describe the characteristics and qualifications required for a new employee of the hiring company. Hiring manager 130a communicates job description 135a to vendor management officer 145a. The communication includes digital transfer of job description 135a or a location of job description 135a, and communication of a portion of job description 135a. Vendor management officer 145a stores job description 135a in recruitment vendor management system 140. In another embodiment, hiring manager 130a stores job description 135a in recruitment vendor management system 140. In yet another embodiment, vendor management officer 145a modifies job description 135a and stores the modified job description in recruitment vendor management system 140. In this embodiment, vendor management officer 145a optionally reviews the modified job description with hiring manager 130a. 
Vendor 150a retrieves job description 135a from recruitment vendor management system 140. Vendor 150a communicates job description 135a to candidate 110a. The communication includes digital transfer of job description 135a or a location of job description 135a, and communication of a portion of job description 135a. In another embodiment, a notification message sent by recruitment vendor management system 140 triggers vendor 150a to retrieve job description 135a. In this embodiment, recruitment vendor management system 140 sends the notification message because either system preferences or history indicates that vendor 150a has an interest in job description 135a. In yet another embodiment, candidate 110a retrieves job description 135a from recruitment vendor management system 140.
If candidate 110a is interested in job description 135a, candidate 110a authors resume 115a and transfers a copy of resume 115a to vendor 150a. The transfer includes digital transfer of resume 115a or a location of resume 115a, and communication of a portion of resume 115a. Vendor 150a compares resume 115a to the characteristics and qualifications specified in job description 135a. If vendor 150a determines that resume 115a includes the characteristics and qualifications, vendor 150a stores resume 115a in recruitment vendor management system 140. In another embodiment, candidate 110a stores resume 115a in recruitment vendor management system 140. In yet another embodiment, vendor 150a modifies resume 115a and stores the modified resume in recruitment vendor management system 140. In this embodiment, vendor 150a optionally reviews the modified resume with candidate 110a. In another embodiment, candidate 110a communicates the contents of resume 115a to vendor 150a and relies upon vendor 150a to store resume 115a in recruitment vendor management system 140.
In one embodiment, if resume 115a includes the characteristics and qualifications specified in job description 135a, recruitment vendor management system 140 alerts vendor management officer 145a. Vendor management officer 145a optionally communicates resume 115a to hiring manager 130a. In another embodiment, if resume 115a includes the characteristics and qualifications specified in job description 135a, recruitment vendor management system 140 alerts hiring manager 130a. The communication includes digital transfer of resume 115a or a location of resume 115a, and communication of a portion of resume 115a. Hiring manager 130a evaluates resume 115a to decide whether to interview candidate 110a for the specific job opening. In another embodiment, a notification message sent by recruitment vendor management system 140 triggers vendor management office 145a to retrieve resume 115a. In this embodiment, recruitment vendor management system 140 sends the notification message because resume 115a matches job description 135a. In yet another embodiment, vendor management officer 145a or hiring manager 130a retrieve resume 115a from recruitment vendor management system 140.
Job description 135a and resume 115a are in an electronic format. As shown in FIG. 1, the transfer of job description 135a and resume 115a involve posting to recruitment vendor management system 140. In alternative embodiments, the transfer may utilize electronic mail, the file transfer protocol, or facsimile. In another embodiment, job description 135a and resume 115a are posted as image files and recruitment vendor management system 140 recognizes the characters of the image to generate a standard digital document. The electronic format includes any standard digital document format comprising text file formats such as American Standard Code for Information Interchange (ASCII) or Extended Binary Coded Data Interchange Code (EBCDIC), word processor file formats such as Microsoft Word or WordPerfect, and markup language file formats such as Standard Generalized Markup Language (SGML), HyperText Markup Language (HTML), or eXtensible Markup Language (XML).
An alternative embodiment to that shown in FIG. 1 includes a resume database in recruitment vendor management system 140. Prior to initiation of the job opening fulfillment process, candidate 110a authors resume 115a and either stores resume 115a in the resume database or transfers resume 115a to vendor 150a for storage in the resume database. In this alternative embodiment, storing job description 135a in recruitment vendor management system 140 triggers recruitment vendor management system 140 to search the resume database for any resume that possibly matches job description 135a. If resume 115a is a possible match, recruitment vendor management system 140 sends a notification message to vendor management officer 145a to retrieve resume 115a. In yet another embodiment, recruitment vendor management system 140 sends the notification message to hiring manager 130a. 
FIG. 1 also illustrates the integration of vendor management officer team 143 into recruitment vendor management system 140. Vendor management officer team 143 comprises vendor management officer 145b and vendor management officer 145c. However, it is to be understood that vendor management officer team 143 may include any number of vendor management officers. Hiring manager 130b authors job description 135b and communicates it to vendor management officer team 143. Vendor management officer 145b or vendor management officer 145c store job description 135b in recruitment vendor management system 140. Vendor 150b, vendor 150c, and vendor 150d were selected to work with vendor management officer team 143. Vendor 150b, vendor 150c, and vendor 150d retrieve job description 135b from recruitment vendor management system 140 and communicate job description 135b to candidate 110b, candidate 110c, and candidate 110d. If candidate 110b, candidate 110c, and candidate 110d are interested in job description 135b, they author and transfer in an electronic format respectively, resume 115b, resume 115c, and resume 115d to vendor 150b, vendor 150c, and vendor 150d. Vendor 150b, vendor 150c, and vendor 150d store resume 115b, resume 115c, and resume 115d in recruitment vendor management system 140 in response to job description 135b. If resume 115c includes the characteristics and qualifications stated in job description 135b, recruitment vendor management system 140 alerts a member of vendor management officer team 143. The member of vendor management officer team 143 who was alerted optionally reviews resume 115c, or interview candidate 110c as an additional screening step, and optionally transfers resume 115c to hiring manager 130b for review. As shown in FIG. 1, vendor 150b also stores an instance of resume 115b in recruitment vendor management system 140 in response to job description 135a stored by vendor management officer 145a. If resume 115b includes the characteristics and qualifications stated in job description 135a, recruitment vendor management system 140 also sends a notification message to vendor management officer 145a. Hence, vendor management officer 145a also optionally reviews resume 115b, or interviews candidate 110b as an additional screening step, and optionally transfers resume 115b to hiring manager 130a for review. Even though FIG. 1 only illustrates the interaction of candidate 110a, candidate 110b, candidate 110c, candidate 110d, vendor 150a, vendor 150b, vendor 150c, vendor 150d, vendor management officer 145a, vendor management officer 145b, vendor management officer 145c, vendor management officer team 143, hiring manager 130a, and hiring manager 130b, it is to be understood that recruitment vendor management system 140 can accommodate any number of candidates, recruiters, and hiring managers.
FIG. 2 is a network diagram that illustrates exemplary input and hardware components that may form the operating platform for recruitment vendor management system 140 shown in FIG. 1. Network 200, as shown in FIG. 2, is a public communication network that connects and enables data transfer between the hardware components and recruitment vendor management system 140.
Network 200 shown in FIG. 2 is a public communication network. However, recruitment vendor management system 140 also contemplates the use of comparable network architectures. Comparable network architectures include the Public Switched Telephone Network (PSTN), a public packet-switched network carrying data and voice packets, a wireless network, and a private network. A wireless network includes a cellular network (e.g., a Time Division Multiple Access (TDMA) or Code Division Multiple Access (CDMA) network), a satellite network, and a wireless Local Area Network (LAN) (e.g., a wireless fidelity (Wi-Fi) network). A private network includes a LAN, a Personal Area Network (PAN) such as a Bluetooth network, a wireless LAN, a Virtual Private Network (VPN), an intranet, or an extranet. An intranet is a private communication network that provides an organization, such as a corporation, with a secure means for trusted members of the organization to access the resources on the organization's network. In contrast, an extranet is a private communication network that provides an organization, such as a corporation, with a secure means for the organization to authorize non-members of the organization to access certain resources on the organization's network. The system also contemplates network architectures and protocols such as Ethernet, Token Ring, Systems Network Architecture, Internet Protocol, Transmission Control Protocol, User Datagram Protocol, Asynchronous Transfer Mode, and proprietary network protocols comparable to the Internet Protocol.
The hardware components shown in FIG. 2 include client computer 210, personal digital assistant (PDA) 212, mobile device 214, server computer 216, and comparable devices. Client computer 210 is a general-purpose personal computer, workstation, or laptop configured to connect to network 200. PDA 212 is a portable handheld device, such as a Palm handheld or Microsoft Pocket PC, configured to connect to network 200 either directly or via client computer 210. When PDA 212 disconnects from client computer 210, PDA 212 operates upon downloaded data stored locally until reestablishing the connection to client computer 210 and synchronizing the data. Mobile device 214 is a portable wireless device that connects to recruitment vendor management system 140 via network 200. In another embodiment, mobile device 214 is a land-based or wireless telephone that connects to recruitment vendor management system 140 via network 200. Server computer 216 is a general-purpose network computer that manages network resources and accepts connections from computers such as client computer 210 via network 200. It is to be understood that the hardware components shown in FIG. 2 are illustrative examples that demonstrate the functions performed by a component and are not intended to limit this invention.
The hardware components shown in FIG. 2 also include client computer 230, PDA 232, mobile device 234, server computer 236, and comparable devices. Client computer 230 is a general-purpose personal computer, workstation, or laptop configured to connect to network 200. PDA 232 is a portable handheld device, such as a Palm handheld or Microsoft Pocket PC, configured to connect to network 200 either directly or via client computer 230. When PDA 232 disconnects from client computer 230, PDA 232 operates upon downloaded data stored locally until reestablishing the connection to client computer 230 and synchronizing the data. Mobile device 234 is a portable wireless device that connects to recruitment vendor management system 140 via network 200. In another embodiment, mobile device 234 is a land-based or wireless telephone that connects to recruitment vendor management system 140 via network 200. Server computer 236 is a general-purpose network computer that manages network resources and accepts connections from computers such as client computer 230 via network 200. It is to be understood that the hardware components shown in FIG. 2 are illustrative examples that demonstrate the functions performed by a component and are not intended to limit recruitment vendor management system 140.
In one embodiment, candidate 110a operates the hardware components shown in FIG. 2 to create and submit resume 115a in an electronic format. After creating resume 115a, candidate 110a operates the hardware components shown in FIG. 2 to access network 200 and sends resume 115a to vendor 150a. In another embodiment, vendor 150a operates the hardware component to access network 200 and relies upon programmed instructions residing in recruitment vendor management system 140 to post resume 115a or create and store resume 115a on recruitment vendor management system 140 in response to job description 135a for a job opening. In another embodiment, vendor 150a operates the hardware component to access recruitment vendor management system 140 via network 200 and verify or update the content of resume 115a that was previously transmitted to recruitment vendor management system 140. In another embodiment, vendor 150a operates the hardware component to access recruitment vendor management system 140 and submit resume 115a for a job description posted by a vendor management officer such as vendor management officer 145a. In one embodiment, the hardware component performs a resume “bulk load” by accessing recruitment vendor management system 140 via network 200 to transmit at least one resume using a transmission protocol such as the File Transfer Protocol (FTP). In another embodiment, the resume bulk load is an automatic, scheduled process that occurs periodically.
The hardware components shown in FIG. 2 also include client computer 220, PDA 222, mobile device 224, server computer 226, and comparable devices. Client computer 220 is a general-purpose personal computer, workstation, or laptop configured to connect to network 200. PDA 222 is a portable handheld device, such as a Palm handheld or Microsoft Pocket PC, configured to connect to network 200 either directly or via client computer 220. When PDA 222 disconnects from client computer 220, PDA 222 operates upon downloaded data stored locally until reestablishing the connection to client computer 220 and synchronizing the data. Mobile device 224 is a portable wireless device that connects to recruitment vendor management system 140 via network 200. In another embodiment, mobile device 224 is a land-based or wireless telephone that connects to recruitment vendor management system 140 via network 200. Server computer 226 is a general-purpose network computer that manages network resources and accepts connections from computers such as client computer 220 via network 200. It is to be understood that the hardware components shown in FIG. 2 are illustrative examples that demonstrate the functions performed by a component and are not intended to limit recruitment vendor management system 140.
The hardware components shown in FIG. 2 also include client computer 240, PDA 242, mobile device 244, server computer 246, and comparable devices. Client computer 240 is a general-purpose personal computer, workstation, or laptop configured to connect to network 200. PDA 242 is a portable handheld device, such as a Palm handheld or Microsoft Pocket PC, configured to connect to network 200 either directly or via client computer 240. When PDA 242 disconnects from client computer 240, PDA 242 operates upon downloaded data stored locally until reestablishing the connection to client computer 240 and synchronizing the data. Mobile device 244 is a portable wireless device that connects to recruitment vendor management system 140 via network 200. In another embodiment, mobile device 244 is a land-based or wireless telephone that connects to recruitment vendor management system 140 via network 200. Server computer 246 is a general-purpose network computer that manages network resources and accepts connections from computers such as client computer 240 via network 200. It is to be understood that the hardware components shown in FIG. 2 are illustrative examples that demonstrate the functions performed by a component and are not intended to limit recruitment vendor management system 140.
In one embodiment, hiring manager 130a operates the hardware component shown in FIG. 2 to access recruitment vendor management system 140 via network 200. In one embodiment, hiring manger 130a relies upon programmed instructions residing in recruitment vendor management system 140 to create a job description that includes at least one requirement. In another embodiment, hiring manger 130a relies upon programmed instructions residing in recruitment vendor management system 140 to receive a resume in response to a job description already posted on recruitment vendor management system 140. In yet another embodiment, hiring manger 130a relies upon programmed instructions residing in recruitment vendor management system 140 to receive a resume in anticipation of a job opening that might become available in the future.
In one embodiment, vendor management officer 145a operates the hardware component shown in FIG. 2 to access recruitment vendor management system 140 via network 200. In one embodiment, vendor management officer 145a relies upon programmed instructions residing in recruitment vendor management system 140 to receive a resume that was posted in response to an already posted job description. In another embodiment, vendor management officer 145a passes received resume 115a to hiring manager 130a. In another embodiment, vendor management officer 145a distributes job description 135a to vendor 150a. In another embodiment, vendor management officer 145a distributes job description 135a to candidate 110a. In yet another embodiment, vendor management officer 145a creates job description 135a that includes at least one requirement.
In one embodiment, vendor management officer 145a may distribute resume 115a to hiring manager 130a whether resume 115a is a match for job description 135a or not. In another embodiment, vendor management officer 145a may not distribute resume 115a to hiring manager 130a whether resume 115a is a match for job description 135a or not. Additionally, in one embodiment, vendor management officer 145a may distribute job description 135a to vendor 150a or candidate 110a. In another embodiment, vendor management officer 145a may not distribute job description 135a to vendor 150a or candidate 110a. 
Each requirement in job description 135a includes a skill or experience-related phrase that candidate 110a must possess and a minimum duration of time that candidate 110a has experience in the skill or experience-related phrase. Typically, a skill or experience-related phrase will appear in a resume in a context that implies a maximum possible duration of time that candidate 110a has practiced the skill or experience-related phrase (i.e., the duration of time is non-negligible). This mention of the skill or experience-related phrase might also occur when candidate 110a has studied the subject matter represented by the skill or experience-related phrase. Although the phrase might not belong to a job with a duration of experience, the skill or experience-related phrase might also be mentioned in resume 115a when candidate 110a is familiar with the phrase, has read about the phrase, or other reasons that deemed candidate 110a to include the phrase in resume 115a. If the context does not imply a duration of time (i.e., the duration of time is zero), the maximum duration of time associated with the skill or experience-related phrase will be set to zero. Thus, the skill or experience-related phrase will be attributed to the resume. However, the duration attributed to the skill or experience-related phrase will be negligible. Situations that will cause the maximum possible duration of time to be zero include candidate 110a attending a class or seminar on a particular subject matter, or being familiar with a subject matter, but having no formal experience with the subject matter. After creating a job, hiring manager 130a operates the hardware component to access recruitment vendor management system 140 via network 200 and review incoming resumes that were posted in response to a job that was previously created and stored in recruitment vendor management system 140. In another embodiment, hiring manager 130a operates the hardware component to access recruitment vendor management system 140 via network 200 to review resume 115a that was matched to job description 135a. 
FIG. 3 is a block diagram that illustrates the hardware and software components comprising recruitment vendor management system 140 shown in FIG. 1. Recruitment vendor management system 140 is a general-purpose computer. Bus 300 is a communication medium that connects central processing unit (CPU) 301, resume database 302, data storage 303, and network adapter 304 to memory 305. Network adapter 304 also connects to network 200 and is the mechanism that facilitates the passage of network traffic between recruitment vendor management system 140 and network 200. CPU 301 performs the disclosed methods by executing the sequences of operational instructions that comprise each computer program resident in, or operative on, memory 305.
FIG. 3 illustrates resume database 302 and data storage 303 as separate devices however, it is to be understood that another embodiment is to store the data in a single physical device that includes a separate logical partition for resume database 302 and data storage 303. FIG. 3 also illustrates resume database 302 and data storage 303 as internal devices however, it is to be understood that in another embodiment these devices may each be external to recruitment vendor management system 140 and accessible via a network connection. Additionally, in another embodiment, resume database 302 and data storage 303 may reside on one or more internal and external hardware components. In one embodiment, resume database 302 utilizes a relational database management system such as Oracle 9i (version 9.2) by OracleTM. Another embodiment of resume database 302 may utilize a different database management tool that is either homegrown or publicly available and traded. Another embodiment of resume database 302 may utilize an object-oriented database management system such as FrameD, open source software provided by SourceForge.net.
In one embodiment, the configuration of memory 305 includes user interface program 310, job creation program 311, phrase mapping program 312, and resume matching program 313. These computer programs store intermediate data in memory 305 and transmit data via bus 300 for storage in resume database 302 or data storage 303. It is to be understood that in another embodiment the configuration of memory 305 may not simultaneously include these programs. CPU 301 coordinates loading a program when it is needed, storing intermediate results, transferring data from one program to another, and unloading the program when it is no longer needed.
User Interface Program
User interface program 310 is a web-based graphical user interface such as a Hypertext Markup Language (HTML) web page that is accessible using a general-purpose Hypertext Transfer Protocol (HTTP) web browser such as Netscape Communicator, Microsoft Internet Explorer, or Mosaic. In another embodiment, user interface program 310 is a standalone application program implemented using an interface tool such as Java or Microsoft Visual Basic. In another embodiment, user interface program 310 is a user interface program that interfaces with job creation program 311, phrase mapping program 312, resume matching program 313, and performs the user interface for each hardware component shown in FIG. 2.
Job Creation Program
Job creation program 311 enables hiring manager 130a to utilize user interface program 310 to enter job description 135a and the requirements that a potential candidate should possess to be a match for the entered job. In another embodiment, job creation program 311 enables vendor management officer 145a to utilize user interface program 310 to enter job description 135a and the requirements that a potential candidate should possess to be a match for the entered job. Job creation program 311 stores the entered data in job table 420. In another embodiment, job creation program 311 activates resume matching program 313 to determine whether a posted resume is a match to the entered job. In one embodiment, when resume 115a arrives, the system examines the resume to determine whether it matches job description 135a in job table 420. In one embodiment when resume 115a arrives, recruitment vendor management system 140 automatically alerts vendor management officer 145a of the arrival of resume 115a and informs vendor management officer 145a whether resume 115a is a match to job description 135a. In one embodiment when resume 115a arrives, recruitment vendor management system 140 automatically alerts hiring manager 130a of the arrival of resume 115a and informs hiring manager 130a whether resume 115a is a match to job description 135a. In one embodiment, vendor management officer 145a can review resume 115a and send it to hiring manager 130a or flag resume 115a for future reference. In another embodiment, after reviewing resume 115a, vendor management officer 145a does not send resume 115a to hiring manager 130a and does not flag resume 115a for future reference. In one embodiment, hiring manager 130a may arrange to interview candidate 115a. In yet another embodiment, hiring manager 130a may not arrange to interview candidate 115a. 
In one embodiment, job creation program 311 allows hiring manager 130a to clone a job. Hiring manager 130a will be able to enter or create a job similar to an existing job upon the click of a button. In another embodiment, job creation program 311 allows vendor management officer 145a to clone a job. Vendor management officer 145a will be able to enter or create a job similar to an existing job upon the click of a button. The cloning will create a new job with the same job description and requirements of the cloned job. The new job will have the cloning date for the creation date and will not share notes and job activities with the original job.
Job creation program 311 permits hiring manager 130a to enter the criteria as a Boolean phrase of skill or experience-related phrases very similar to the data entry for search engines found in prior electronic systems. Job creation program 311 then converts the Boolean phrase into an intuitive layout of a list of required skill or experience-related phrases and possible alternative skill or experience-related phrases. In another embodiment, job creation program 311 permits hiring manager 130a to enter the criteria as the list of required skill or experience-related phrases and possible alternative skill or experience-related phrases. Job creation program 311 then converts the intuitive layout of a list of required skill or experience-related phrases and possible alternative skill or experience-related phrases to a Boolean phrase. The requirement data entered in job creation program 311 contains the criteria to which candidate 110a, whose resume is 115a, should fulfill in order to be a match for the job.
In another embodiment, job creation program 311 accepts mandatory criteria to which the qualifications of the matching submitted resume should adhere and optional similarly laid-out criteria to which the qualifications of the resulting resumes should not adhere. A resume adhering to the second criteria will not be a match to the job even if it adhered to the required first criteria.
In another embodiment, job creation program 311 accommodates educational requirements in its matching criteria. Hiring manager 130a can specify the required level of education and field of specialization.
In another embodiment, job creation program 311 accommodates dollar rate requirements in its matching criteria. Hiring manager 130a can specify a range of required rates.
A job requirement contains required phrases and alternative required phrases. A few examples of skill or experience-related phrases are “Utilized Java and Oracle”, “Utilized”, “Java”, “and”, “Oracle”, “Utilized Java”, “Java and”, “and Oracle”, “Utilized Java and”, “Java and Oracle”, and “Utilized Java and Oracle”. Recruitment vendor management system 140 considers each such phrase as a “skill or experience-related phrase”. A skill or experience-related phrase includes or describes a skill, job location, title, department, responsibility, duty, action, achievement, accomplishment, relationship, product, consultation, group, team, field, space, area of endeavor, company, industry, technical package, or tool.
Phrase Mapping Program
Phrase mapping program 312 maps all experience-related phrases to their possible synonyms and to their narrow terms or narrow phrases. An experience-related phrase includes, but is not limited to skills that are required by the job, all functions that are required by the job, and all other terms, acronyms, or phrases used in defining a job requirement of a job description. The information and narratives in the job requirement comprise statements or phrases that include one or more words or terms where a word or a term comprises one or more characters, numbers, or symbols. Additionally, the word or the term would be the first word of the requirement, the last word of the requirement, and can be preceded or trailed by a delimiter such as a space or non-alphanumeric character. Phrase mapping program 312 maps the phrase comprising the job requirement to its possible synonym and narrow terms in the English language. The job requirement will then comprise of an original phrase. Synonyms and narrow phrases of the original phrase can substitute the original phrase in fulfilling the requirement placed on the original phrase. A narrow term or phrase is a term or a phrase that implies another term or phrase. For instance, “soldier” is a narrow term for “human”, “lending officer” is a narrow term for “banker”, and “psychiatrist” is a narrow term for “medical doctor” as well as “neurologist” is a narrow term for “medical doctor”. Since “medical doctor” is a synonym for “physician”, the phrase “medical doctor” is a narrow phrase for “physician” and “physician” is a narrow term for “medical doctor”. The phrase “speaks Spanish very well” is a synonym for the phrase “fluent in Spanish” and therefore, both phrases are narrower than each other. However, “Spanish author” is a narrow phrase for “fluent in Spanish”. Phrase A is a narrow term or phrase of phrase B when phrase A implies phrase B. Additionally, phrase A is a narrow term or phrase of phrase B when phrase B is a broad term or phrase of phrase A.
Phrase mapping program 312 is activated to map newly introduced mappings to mapping table 430. When tallying the duration of experience that candidate 110a has in a phrase, recruitment vendor management system 140 will not duplicate calendar time. In other words, a date will not be counted more than once when tallying the experience of an original phrase and its derived narrow phrases to arrive at the maximum possible duration of experience for the original phrase. If a job assignment description of resume 115a contains the phrase “Java” and its mapped narrow phrase “JSP”, recruitment vendor management system 140 will not add to the maximum-total-duration of “Java” any duration contributed to by the existence of “JSP” in the mentioned experience range of the job assignment description. Conversely, if “Java” is not explicitly listed in the job assignment description, the introduction of a mapping making “JSP” a narrow phrase of “Java”, will cause the recruitment vendor management system 140 to add the experience range of the job assignment description containing “JSP” to the maximum-total-duration of “Java”.
In one embodiment, the job assignment description or experience portion of a resume begins on the line that includes the start-date of a date range (e.g., “Oct. 1, 1999-Nov. 24,2001” or “Oct. 1, 1999-Nov. 24, 2001”) and ends one line before the line that includes the next start-date. The experience range for the job assignment will be the difference between the start date and the end date. In another embodiment, the job assignment description ends at the end of the resume or one line that starts a resume section that is not a job assignment description. In another embodiment, the experience range for the job assignment description is stated in the description. The recruitment vendor management system 140 will parse numerous layouts of date ranges including those that might appear on one, two, or three lines. Date ranges would initiate job assignment experiences once the program determines that they belong within the experience portion of the resume. The verbiage of a job assignment description may also end when headings on non-job related matters appear. Such headings may include education, references, and hobbies.
Skill or experience-related phrases in a job assignment description can range from one to any number of consecutive words. The experience range of a job assignment description (or experience) is an attribute assigned to each of the skill or experience-related phrases within that job assignment description. The length of time associated with the appearances of the skill or experience-related phrase in multiple assignment descriptions are tallied to compute a total duration for the skill or experience-related phrase. By definition and inference, this total duration for each phrase represents the total duration of experience the owner of the resume could have had in the phrase describing, for example, a skill, job location, title, department, responsibility, duty, action, achievement, accomplishment, relationship, product, consultation, group, team, field, space, area of endeavor, company, industry, technical package, or tool. In one embodiment, the total duration of all the jobs in which a skill or experience-related phrase appears in resume 115a of candidate 110a is the maximum duration of experience candidate 110a could have possibly had in the skill or experience-related phrase. This maximum possible duration of experience is referred in this disclosure as the maximum-total-duration. The “maximum-total-duration” refers to the maximum possible duration of experience in a skill or experience-related phrase that the candidate could have had in that phrase. In one embodiment, this maximum-total-duration is the total duration of all the job assignment descriptions in which the resume of the candidate contained the skill or experience-related phrase.
As previously defined, the term “maximum-total-duration” for each skill or experience-related phrase refers to the maximum duration per skill or experience-related phrase per resume, and therefore, per candidate. The “total” is for the possible multiplicity of jobs or experiences in which the skill or experience-related phrase or one of its narrow phrases appear, in resume 115a. Additionally, during an individual job assignment, candidate 110a could have used a skill or experience-related phrase contained in resume 115a for at most the total duration of the job assignment that contains the phrase. The total of all the duration of all the jobs that contain the experience-related phrase or one of its narrow phrases is the maximum-total-duration of experience in the phrase for candidate 110a. 
The maximum-total-duration can be in any duration of time such as a number of seconds, minutes, hours, days, weeks, months, years, or decades. In another embodiment, the maximum-total-duration of a skill or experience-related phrase is the total duration of all the job assignment descriptions in which the resume of the candidate contained the skill or experience-related phrase or any of its narrow phrases. For example, a resume might have two jobs: one three-year job containing Java and another four-year job containing JSP. Let's say that mapping table 430 has Java as a broad phrase of JSP. Assuming that JSP does not appear in the three-year job, the maximum-total-duration of JSP is four years while Java is seven years.
When recruitment vendor management system 140 receives a job description comprising many job requirements for various skill or experience-related phrases, recruitment vendor management system 140 maps the original required phrases to their narrow phrases. If contained in the resume, each of the narrow phrases becomes an equal substitute to the original phrase in satisfying the duration of the job requirement. Without overlapping any of the dates within the tallied experience ranges, the tallying of all of the maximum-total-duration of all the narrow phrases plus the maximum-total-duration of the original phrase amount to the maximum-total duration of the original skill or experience-related phrase. By recursion, this mapping and implication process of the original required phrase is repeated until the entire original and derived experience-related phrases in the job requirement have been mapped to all their possible and available narrow phrases. This mapping process refers to mapping table 430 as the thesaurus for extracting the narrow phrases. The tallying of the maximum-total-duration of experience accounts for the duration of the original skill or experience-related phrase that possibly appeared in the resume and all the substitute derived narrow phrases that could have appeared in the resume. Excluding overlapping portions of experience ranges, the maximum-total-duration of the original skill or experience-related phrase is the summation of all the experience ranges that contained the original skill or experience-related phrase or its substitute narrow phrase.
In one embodiment, an original skill or experience-related phrase might not even exist in a job assignment description of a resume that contains a narrower experience-related phrase. But still, the maximum-total-duration of the narrower skill or experience-related phrase will contribute to the maximum-total-duration of experience in the original phrase.
Recruitment vendor management system 140 parses resume 115a to identify, among other things, the beginning and end of the experience portion of resume 115a. The beginning of the experience portion occurs when the word “experience,” or a synonymous word or phrase, appears as a heading in resume 115a. In another embodiment, the beginning of the experience portion occurs at the start of resume 115a. The experience portion of resume 115a by-passes narratives on education, objective, references, hobbies, summary of skills, name, address, phone numbers, electronic mail address, awards, non-experience-related achievements, non-experience-related accomplishments, and other narratives that do not define experience over a specified duration of time. The end of the experience portion occurs either when recruitment vendor management system 140 reaches the end of the resume or when a heading appears such as education, references, hobbies, or other headings that are not related to experience.
A job assignment description is all the text that starts with the line that includes the start-date and ends at the line before the line that includes the next start-date. In one embodiment, a job assignment description in resume 115a ends at the end of resume 115a. In another embodiment, a job assignment description in resume 115a ends one line before the appearance of a non-experience-related heading like references, education, or hobbies in resume 115a. In one embodiment, the start-date and end-date for a job assignment description in resume 115a appear on one line with a separator in between. The separator can be a space, a character, or a term or a phrase that means “to” (e.g., “Oct. 1, 1999 to Nov. 24,2001” or “Oct. 1, 1999-Nov. 24, 2001”). In another embodiment, the start-date, separator, and end-date of a job assignment description in resume 115a appear on two or three consecutive lines respectively. When only two lines are used the separator might be a null, implied by a carriage-return or line-feed, a hidden or unprintable character, or non-existent. The maximum duration for any skill or experience-related phrase that appears in the description of that employer or job assignment is the duration of time between the start-date and the end-date. If an experience range is not present in the resume, then recruitment vendor management system 140 sends an electronic message to vendor 150a or candidate 110a requesting the inclusion of date ranges for each of the job assignment descriptions via user interface program 310. In another embodiment, after receiving the electronic message sent by recruitment vendor management system 140, candidate 110a or vendor 150a can edit resume 115a on client computer 210 or client computer 230 and retransmit resume 115a to recruitment vendor management system 140.
Resume Matching Program
Resume matching program 313 determines whether resume 115a matches job description 135a. Resume matching program 313 uses the criteria of job requirements from job description 135a to determine whether resume 115a is a match. Resume matching program 313 is automatically activated when resume 115a is posted on recruitment vendor management system 140. In another embodiment, resume matching program 313 is activated by a user utilizing user interface program 310. In yet another embodiment, when job description 135a gets posted, resume matching program 313 tries to match job description 130a to previously posted resumes. Resume matching program 313 informs the user whether resume 115a is a match to job description 135a or not. The user could be candidate 110a, vendor 150a, vendor management officer 145a, or hiring manager 130a. 
FIG. 4 is an exemplary database structure for resume database 302 shown in FIG. 3. Resume database 302 comprises candidate table 410, job table 420, mapping table 430, and resume table 450. In another embodiment, the system distributes the tables that comprise resume database 302 among several computers configured to service recruitment vendor management system 140. In another embodiment, resume database 302 includes tables containing candidate activities and notes, job activities and notes, tables for the hiring manager, vendor, and vendor management officers, and level of authorization, activities, and notes, as well as joining tables to optimize the storage and performance of the system for an ideal normalization level. The distributed architecture will improve load balancing by distributing the processing required to populate, search, maintain, and backup the database.
Candidate Table
Candidate table 410 stores information related to each candidate such as data extracted from the candidate's resume, data entered by the candidate or the vendor on behalf of the candidate, and notes and recruitment activities pertaining to the candidate. It is to be understood that the elements shown in candidate table 410 are exemplary and that candidate table 410 comprises additional data elements that are not shown. The data extracted from the candidate's resume and the data entered by the candidate or a vendor on behalf of the candidate includes, but is not limited to, personal identification and contact information, work experience data, job assignment descriptions, education credentials, job skills, and other experience-related phrases. In one embodiment, the notes comprise a synopsis of conversations, the candidate's interview schedule, and the candidate's availability status. In one embodiment, hiring manager 130a and vendor management officer 145a have full access to the data that is stored in candidate table 410 on candidate 110a. In another embodiment, hiring manager 130a and vendor management officer 145a have limited access to such information.
Job Table
Job table 420 stores information related to each job opening including, but not limited to, job description, job requirements, hiring manager, notes among others. It is to be understood that the elements shown in job table 420 are exemplary and that job table 420 comprises additional data elements that are not shown. In one embodiment, job table 420 contains the vendor management officer's name or reference number. In another embodiment, job table 420 contains a list of candidates who are submitted to the job and the status or pertaining activities on each. In another embodiment, job table 420 contains the hiring manager contact information, the vendor identification information, the vendor management officer's identification information, the job description that contains, but is not limited to, the requirements for the job, and the notes and recruitment activities pertaining to the job. In one embodiment, the requirements for the job include the work location, the duration of the job assignment, and the pay scale. In another embodiment, each of the requirements for the job also include required skill or experience-related phrases and the required minimum duration of experience for each required skill or experience-related phrase. In another embodiment, the duration of experience in a skill or experience-related phrase is required to be obtained at a specific time-range. In one embodiment, a job may have one requirement. In another embodiment, a job may have several requirements. In yet another embodiment, one or more of the job requirements may have one or more alternative job requirements for each job requirement, where a requirement can also be satisfied by any alternative. In one embodiment, the job description and requirements allow for the exclusion of candidates who fit criteria similar to the criteria specified herein as the required candidate's inclusion criteria. Other inclusion and exclusion conditions may include geographic locations (e.g., state name), area codes, salary ranges, and educational levels. The notes relating to candidates for the job include a synopsis of conversations between the candidate, the vendor, the vendor management officer, and the hiring manager as well as a list of the interviewees and activities pertaining to the job.
Mapping Table
Mapping table 430 retains the broad and narrow phrases of phrases encountered by job description 135a. It is to be understood that the elements shown in mapping table 430 are exemplary and that mapping table 430 comprises additional data elements that are not shown. A definition of “phrase” includes one or more consecutive words. Phrase A is a broad phrase of phrase B when phrase B is a narrow phrase of phrase A. Additionally, phrase A is broad phrase of phrase B when phrase B implies phrase A. Likewise, phrase B is a narrow phrase of phrase A when phrase B implies phrase A. Phrase A and phrase B are synonymous when phrase A is a narrow and broad phrase of phrase B at the same time and vice versa. Additional discussion of mappings in this system is in the disclosure of phrase mapping program 312. Mapping table 430 attempts to include any phrase that might appear in a job description and that might have possible broad and narrow phrases. Mapping table 430 is utilized by phrase mapping program 312 as a thesaurus of phrases implying other phrases. In another embodiment, mapping table 430 includes the exceptions when a supposedly broad or narrow phrase is not broad or narrow because of context. For instance, experience in ‘bank’ does not imply banking experience when ‘bank’ appears in the resume in the context of ‘data bank’. In another embodiment, mapping table 430 includes other exceptions when a supposedly descriptive term in a resume does not describe the candidate because of context. For instance, ‘assisting a director’ does not make the phrase ‘director’ an attribute to the resume or candidate because of context. In another embodiment, mapping table 430 includes other exceptions when a supposedly descriptive term in a resume does not describe the candidate because of contextual existence of another term or phrase. For instance, when the verb ‘programmed in Java’ appears within an experience range along with the term ‘secretary’ then the candidate is not a secretary and the term ‘secretary’ is no longer an attribute to the candidate. In another embodiment, mapping table 430 includes other exceptions when a phrase or a term in a resume does not represent itself, and therefore is not an attribute to the candidate and the resume, because of context. For instance, ‘Java’ is not ‘Java’ when it appears in ‘Java Script’. This invention will not match a candidate to a requirement for Java because the candidate's resume has Java Script, assuming that everything else is equal.
Resume Table
Resume table 450 retains resume 115a in its original shape, form, and content. It is to be understood that the elements shown in resume table 450 are exemplary and that resume table 450 comprises additional data elements that are not shown. Resume table 450 retains an unaltered copy of resume 115a as it was received from the sender by recruitment vendor management system 140 whether resume 115a was electronically mailed, cut-and-paste, uploaded, bulk-loaded, or generated by a resume maker program for recruitment vendor management system 140. In one embodiment, recruitment vendor management system 140 converts the format of 115a to other forms and stores these other forms in resume table 450. In another embodiment, recruitment vendor management system stores multiple versions of resume 115a for candidate 110a. Any or all versions of resume 115a in resume table 450 gets displayed to the vendor management office or to the hiring manager or other users when and where applicable.
FIG. 5 is a flow diagram of an embodiment of recruitment vendor management system 140 receiving job description 135a from hiring manager 130a. However, in another embodiment, vendor management officer 145a may enter job description 135a on behalf of hiring manager 130a. At step 505, hiring manager 130a enters a list of required skill or experience-related phrases and the required minimum duration of experience that is required in each required phrase for candidate 110a to be a match. In another embodiment, for each required skill or experience-related phrase, hiring manager 130a may specify a time-range during which the experience is obtained. In another embodiment, for each required skill or experience-related phrase in the list, hiring manager 130a may specify a list of alternative skill or experience-related phrases and the required minimum duration of experience for each of the alternative phrases. Each alternative of an original required skill or experience-related phrase can satisfy the job description whether the requirement for the original skill or experience-related phrase is satisfied or not. For example, in one embodiment hiring manager 130a may require a minimum of two years of Java experience and a minimum of five years of Oracle experience. In another embodiment, hiring manager 130a wishes to consider candidates with a minimum two years of experience in the Java programming language. However, for Java, hiring manager 130a may also list alternative skill or experience-related phrases such as one and a half years of experience in C++ or three years of experience in PASCAL. Thus, a matching candidate might possess either two years of experience in Java (the required skill or experience-related phrase), one and a half years of experience in C++ (a listed alternative), or three years of experience in PASCAL (another listed alternative). Hiring manager 130a may exclude candidates who meet similarly structured criteria of a different set or combination of experience-related phrases. For example, a candidate with two years in Java and either one and a half years in C++ or three years in PASCAL, but not to include those candidates who have two years in brokerage and one year of management or whose Java experience is over five years. In addition, hiring manager 130a may also list some attributes, such as educational level or field of specialization, geographic location, and desired salary, all of which are attributes that might be required of candidate 110a to be a match to the job.
Recruitment vendor management system 140 determines whether hiring manager 130a entered the job description in the intuitive layout or as a Boolean expression (step 510). If hiring manager 130a entered the search data in an intuitive layout, the process converts the search data to a Boolean expression (step 515) and displays both the intuitive layout and the Boolean expression to hiring manager 130a. If hiring manager 130a entered the search data as a Boolean expression, the process converts the search data to an intuitive layout (step 520) and displays both the Boolean expression and the intuitive layout to hiring manager 130a. Thus, whether the user chooses the intuitive layout or the Boolean expression as the method of data entry, recruitment vendor management system 140 converts the job description data to the other method of data entry and displays both forms of the job description expression to hiring manager 130a. 
At step 525, recruitment vendor management system 140 communicates job description 135a to vendor management officer 145a. In another embodiment, recruitment vendor management system 140 communicates job description 135a to vendor 150a. In another embodiment, recruitment vendor management system 140 communicates job description 135a to candidate 110a. In yet another embodiment, recruitment vendor management system 140 alerts vendor management officer 145a, vendor 150a, or candidate 110a to retrieve job description 135a from recruitment vendor management system 140. At step 530, using mapping table 430, phrase mapping program 312 maps the job requirements contained in job description 135a to their narrow phrases and the narrow phrases to their narrower phrases and so on. At step 535, recruitment vendor management system 140 stores job description 135a and the job requirements of job description 135a and their derived narrower phrases in job table 420.
FIG. 6 is a flow diagram of an embodiment of recruitment vendor management system 140 initiating the posting of a resume. In one embodiment, vendor 150a initiates the posting of resume 115a. In another embodiment, candidate 110a initiates posting resume 115a. In yet another embodiment, vendor management officer 145a initiates posting resume 115a. Vendor 150a selects one method for posting resume 115a to recruitment vendor management system 140 (step 605). Recruitment vendor management system 140 accommodates vendor 150a sending the resume as an attachment to an electronic mail message (step 610) or making a digital copy of the resume in another application and pasting the digital copy into user interface program 310 (step 615). Recruitment vendor management system 140 also accommodates vendor 150a operating user interface program 310 to browse a file directory listing, select a file that includes the resume, and upload the resume to the recruitment vendor management system 140 (step 620). Recruitment vendor management system 140 also accommodates a user uploading at least one resume in a bulk upload (step 625) or, if candidate 110a does not have a prepared resume (step 630), operating recruitment vendor management system 140 to author a new resume (step 635). In another embodiment candidate 110a initiates posting resume 115a onto recruitment vendor management system 140 in any one of the above methods. In yet another embodiment, vendor 150a or vendor management officer 145a initiates posting resume 115a onto recruitment vendor management system 140 in any one of the above methods. After posting resume 115a using one of the method described above, recruitment vendor management system 140 extracts candidate attributes from resume 115a (step 650).
Resume matching program 313 of recruitment vendor management system 140 determines whether resume 115a matches job description 135a (step 660). In another embodiment, resume matching program 313 determines whether resume 115a is a match to any posted job description in recruitment vendor management system 140. Alternatively, recruitment vendor management system 140 notifies vendor management officer 145a, or hiring manager 130a whether there is a match.
If recruitment vendor management system 140 determines that resume 115a matches the requirements of job description 135a (step 670), recruitment vendor management system 140 proceeds to notify vendor management officer 145a or hiring manager 130a (step 675). In one embodiment, the notification means is an electronic mail message. In another embodiment, the notification means is an instant message. In another embodiment, the notification means is a notation on the job record pertaining to the job and the candidate. In another embodiment, the mortification means is a notation on the candidate table pertaining to the job and the candidate. However, any other method of communication of the match can be used. If recruitment vendor management system 140 does not recognize the resume as a match, the process ends and is recorded accordingly. Hiring manager 130a or vendor management officer 145a may still decide to look at unmatched resumes submitted to job description 135a and may further interview unmatched candidates.
In one embodiment, recruitment vendor management system 140 provides the user the capability of viewing one matched resume. In another embodiment, recruitment vendor management system 140 provides the user the capability of viewing any resume. In one embodiment, the system provides a split-screen view of a single frame comprising multiple portions. All portions are contained in a single frame that has common windowing characteristics. The frame can be opened, closed, maximized, minimized, moved, resized, contains a header, and can be in-focus or out of focus along with other possible characteristics. In one embodiment, one portion of the frame displays the candidate attributes like name, address, e-mail address, home phone number, work phone number, cell number, fax number, past salary, desired salary, education information, experience ranges, experience descriptions, notes on the candidate, and activities pertaining to consideration for employment. In another embodiment, one portion of the frame displays a list of resumes that are a match to job description 135a. In another embodiment, one portion of the frame displays a list of resumes that were submitted. In another embodiment, one portion of the frame displays a copy of the resume of candidate 110a. In one embodiment, the candidate attributes comprise the experience duration(s) that were held. In another embodiment, the candidate attributes comprise an abstract on each of the jobs held for each experience range. The resumes are displayed for each candidate to view by selecting one candidate's name from the list of the candidates displayed by recruitment vendor management system 140.
Although the disclosed embodiments describe a fully functioning recruitment vendor management system and method, it is to be understood that other equivalent embodiments exist. Since numerous modifications and variations will occur to those who review this disclosure, the recruitment vendor management system and method is not limited to the exact construction and operation illustrated and disclosed. Accordingly, this disclosure intends all suitable modifications and equivalents to fall within the scope of the claims.

## Claims

1. A graphical user interface, comprising:
a first display region including a job description that includes at least one job requirement, each said at least one job requirement comprising a required skill or experience-related phrase and a required term of experience for the required skill or experience-related phrase; and
a second display region including a matching resume that satisfies the job description,
wherein, for each said at least one job requirement, the required skill or experience-related phrase is associated with at least one implying skill or experience-related phrase,
wherein at least one searchable phrase is associated with each said at least one job requirement, one of said at least one searchable phrase including the required skill or experience-related phrase, and said at least one searchable phrase including each said at least one implying skill or experience-related phrase,
wherein the matching resume is one of at least one resume,
wherein each resume summarizes a candidate's career and qualification,
wherein each resume conveys personal and business-related characteristics that the candidate believes to be relevant to a prospective employer,
wherein each said at least one resume includes at least one skill or experience-related phrase, an experience range for each said at least one skill or experience-related phrase determined by examining a use of each said at least one skill or experience-related phrase in the resume, and a computed term of experience for each said at least one skill or experience-related phrase based on the experience range, and
wherein the term of experience for each said at least one skill or experience-related phrase is a summation of the term of experience for each occurrence of the phrase associated with a different experience range.

2. The graphical user interface of claim 1, wherein the second display region further includes a marking for at least one occurrence of the searchable phrase for each said at least one job requirement.

3. The graphical user interface of claim 2, wherein the marking includes highlighting, displaying in reverse video, or displaying in a different font type, font size, or font style.

4. The graphical user interface of claim 2, further comprising:
a third display region including a listing of said at least one resume.