Method and system for inventory management

The different advantageous embodiments provide a method for inventory management. A number of parts to monitor is identified. A number of agents is generated to form a number of agent societies. A number of tasks is assigned to the number of agent societies. Dynamic task result data is received from the number of agent societies. Inventory information is predicted based on the task result data.

BACKGROUND INFORMATION

The present disclosure relates generally to asset procurement and more particularly to monitoring the procurability of assets. Still more particularly, the present disclosure relates to a method and system for predictive inventory management.

An aircraft manufacturer is dependent upon various suppliers to produce and provide the parts required to construct and maintain an aircraft. Often, a part will be discontinued or scheduled for obsolescence by a supplier. Obsolescence refers to a person, object, or service no longer being wanted even though it may still be in good working order. Obsolescence frequently occurs because a replacement has become available that is superior in one or more aspects.

There is little collaboration and sharing of obsolescence discontinuance information between aircraft manufacturers and vendors or suppliers. Typically, the aircraft manufacturer depends upon the vendor or supplier to notify of intentions to discontinue a part with enough lead time to make procurement decisions. When a part is discontinued or no longer available to the aircraft manufacturer, procurement of a replacement part or other alternate manufacturing solutions may cause delay and increased cost in manufacturing.

Therefore, it would be advantageous to have a method and apparatus that takes into account one or more of the issues discussed above, as well as possibly other issues.

SUMMARY

The different advantageous embodiments provide a method for inventory management. A number of parts to monitor is identified. A number of agents is generated to form a number of agent societies. A number of tasks is assigned to the number of agent societies. Dynamic task result data is received from the number of agent societies. Inventory information is predicted based on the task result data.

The different advantageous embodiments further provide a method for monitoring parts obsolescence. A number of tasks is received. The number of tasks include monitoring a number of parts. The number of tasks is decomposed into a number of sub-tasks. The number of sub-tasks is assigned to a number of agents. The number of sub-tasks is executed using the number of agents.

The different advantageous embodiments further provide a computer program product having computer usable program code stored on a computer recordable medium. The computer program product comprises program code including program code for identifying a number of parts to monitor, generating a number of agents to form a number of agent societies, assigning a number of tasks for monitoring the number of parts to the number of agent societies, receiving the data from the number of agent societies monitoring the number of parts during performance of the number of tasks, and predicting inventory information for the number of parts based on the data received to form predicted inventory information. The number of agents is configured to monitor the number of parts. The number of agent societies is configured to obtain data from the number of tasks during performance of the number of tasks by the number of agents.

The different advantageous embodiments further provide a system for inventory management comprising an agent generation process, a prediction process, and a data processing system. The agent generation process is configured to generate a number of agent societies. The prediction process is configured to generate predicted inventory information. The data processing system is configured to execute the agent generation process and the prediction process. The data processing system executes the agent generation process and the prediction process to identify a number of parts to monitor, generate a number of agents to form a number of agent societies, assign a number of tasks for monitoring the number of parts to the number of agent societies, receive the data from the number of agent societies monitoring the number of parts during performance of the number of tasks, and predict inventory information for the number of parts based on the data received to form predicted inventory information. The number of agents is configured to monitor the number of parts. The number of agent societies is configured to obtain data from the number of tasks during performance of the number of tasks by the number of agents.

DETAILED DESCRIPTION

Referring more particularly to the drawings, embodiments of the disclosure may be described in the context of the aircraft manufacturing and service method100as shown inFIG. 1and aircraft200as shown inFIG. 2. Turning first toFIG. 1, an illustration of an aircraft manufacturing and service method is depicted in accordance with an advantageous embodiment. During pre-production, aircraft manufacturing and service method100may include specification and design102of aircraft200inFIG. 2and material procurement104.

During production, component and subassembly manufacturing106and system integration108of aircraft200inFIG. 2may take place. Thereafter, aircraft200inFIG. 2may go through certification and delivery110in order to be placed in service112. While in service by a customer, aircraft200inFIG. 2may be scheduled for routine maintenance and service114, which may include modification, reconfiguration, refurbishment, and other maintenance or service.

With reference now toFIG. 2, an illustration of an aircraft is depicted in which an advantageous embodiment may be implemented. In this example, aircraft200may be produced by aircraft manufacturing and service method100inFIG. 1and may include airframe202with a plurality of systems204and interior206. Examples of systems204may include one or more of propulsion system208, electrical system210, hydraulic system212, and environmental system214. Any number of other systems may be included. Although an aerospace example is shown, different advantageous embodiments may be applied to other industries, such as the automotive industry. Additionally, different advantageous embodiments may be applied to other infrastructure industries, such as bridges and buildings.

Apparatus and methods embodied herein may be employed during any one or more of the stages of aircraft manufacturing and service method100inFIG. 1. For example, components or subassemblies produced in component and subassembly manufacturing106inFIG. 1may be inspected while aircraft200is in maintenance and service114inFIG. 1.

Also, one or more apparatus embodiments, method embodiments, or a combination thereof may be utilized during service stages, such as maintenance and service114and in service112inFIG. 1, for example, without limitation, by substantially expediting the inspection and/or maintenance of aircraft200.

The different advantageous embodiments recognize and take into account a number of different considerations. For example, the different advantageous embodiments take into account and recognize that currently used parts management methods depend upon the supplier to inform a prime, such as an aircraft manufacturer for example, of the supplier's intentions to discontinue a part. Lead time to make procurement decisions may also be dependent upon this supplier notification. Notification is typically a manual process and is dependent upon the supplier issuing a discontinuance notice. These discontinuance notices are predominately issued by electronic manufacturers. Non-electronic parts are generally on a longer life cycle curve than electronic suppliers, with little to no advanced discontinuance notification.

The different advantageous embodiments further take into account and recognize that current suppliers are often reluctant to issue a discontinuance notice since they contend they can still manufacture the part if needed. However, a request to manufacture the part in the future if needed may result in the original tooling and manufacturing processes being unavailable or no longer supported.

The different advantageous embodiments further take into account and recognize that there is currently limited obsolescence discontinuance information sharing between primes and suppliers in both the electronic and non-electronic parts discontinuance notification systems. A growing percentage of electronic parts obsolescence discontinuance notices are being issued by suppliers and entered into government reporting tools due to requirements levied on electronic parts suppliers from the government. No such requirement or system currently exists for management of non-electronic parts obsolescence management.

Thus, the different advantageous embodiments may provide a method for inventory management. A number of parts to monitor is identified. A number of agents is generated to form a number of agent societies. A number of tasks is assigned to the number of agent societies. Dynamic task result data is received from the number of agent societies. Inventory information is predicted based on the task result data.

The different advantageous embodiments further provide a method for monitoring parts obsolescence. A number of tasks is received. The number of tasks includes monitoring a number of parts. The number of tasks is decomposed into a number of sub-tasks. The number of sub-tasks is assigned to a number of agents. The number of sub-tasks is executed using the number of agents.

The different advantageous embodiments further provide a computer program product having computer usable program code stored on a computer recordable medium. The computer program product comprises program code including program code for identifying a number of parts to monitor, generating a number of agents to form a number of agent societies, assigning a number of tasks for monitoring the number of parts to the number of agent societies, receiving the data from the number of agent societies monitoring the number of parts during performance of the number of tasks, and predicting inventory information for the number of parts based on the data received to form predicted inventory information. The number of agents is configured to monitor the number of parts. The number of agent societies is configured to obtain data from the number of tasks during performance of the number of tasks by the number of agents.

The different advantageous embodiments further provide a system for inventory management comprising an agent generation process, a prediction process, and a data processing system. The agent generation process is configured to generate a number of agent societies. The prediction process is configured to generate predicted inventory information. The data processing system is configured to execute the agent generation process and the prediction process. The data processing system executes the agent generation process and the prediction process to identify a number of parts to monitor, generate a number of agents to form a number of agent societies, assign a number of tasks for monitoring the number of parts to the number of agent societies, receive the data from the number of agent societies monitoring the number of parts during performance of the number of tasks, and predict inventory information for the number of parts based on the data received to form predicted inventory information. The number of agents is configured to monitor the number of parts. The number of agent societies is configured to obtain data from the number of tasks during performance of the number of tasks by the number of agents.

With reference now toFIG. 3, an illustration of an inventory management environment is depicted in accordance with an advantageous embodiment. Inventory management environment300may be implemented during any and/or a combination of specification and design102, material procurement104, production, component and subassembly manufacturing106, system integration108, maintenance and service114of aircraft200inFIG. 2, for example.

Inventory management environment300includes inventory management system302, number of suppliers304, number of parts306, and asset manager308. Inventory management system302may be used to monitor number of suppliers304and/or number of parts306for obsolescence and/or discontinuance information in order to provide information to asset manager308.

Inventory management system302includes data processing system310, number of agent societies312, number of tools314, plurality of databases316, user interface318, and number of devices320. Asset manager308may use number of devices320to interact with user interface318. Number of devices320may include devices such as, without limitation, display322and/or any other suitable device. Asset manager308may use user interface318to access agent generation process324on data processing system310. Asset manager308may also use user interface318to view output326from prediction process328.

Agent generation process324creates number of agents330and assigns each of number of agents330to an agent society to create number of agent societies312. An agent is a software program with the ability to perform a task or number of tasks. Agents are configured to run continuously and autonomously once generated until they are turned off, or stopped by an outside program and/or user. An agent society is a collection of one or more agents configured to interact with each other. A number of agents communicate within the agent society framework through communication protocols and/or a number of plug-ins designed to interact with the communication protocols. These communication protocols may include, for example, without limitation, an agent publish/subscribe system, an agent blackboard system, and/or any other suitable protocol.

Agent generation process324uses number of configuration profiles325to create number of agent societies312. Each configuration profile is directed to a particular agent society in number of agent societies312. A configuration profile may include information, without limitation, naming number of agents330, describing capabilities associated with an agent name, plug-ins for number of agents330, and services needed to perform number of tasks332. Agent generation process324assigns number of tasks332to number of agent societies312.

Number of agent societies312interacts with plurality of databases316and number of tools314to complete number of tasks332. Plurality of databases316may include various types of databases. Number of agents330is configured to read any database type. Number of agents330may query plurality of databases316in a read-only fashion, for example. Number of agents330generates data334dynamically to report on number of tasks332as they are executed and completed, and sends data334to prediction process328. Data334may be, for example, without limitation, dynamic task result data. Data334may be continually transmitted by number of agents330executing number of tasks332. Aggregation process329aggregates data334for display over user interface318. Prediction process328uses data334aggregated by aggregation process329to generate output326. Output326may be a predictive report of parts obsolescence, for example. Prediction process328may include business logic for escalating the obsolescence information for a part or number of parts. For example, a part that is indicated as procurable for the next three years in data334, but only from a sole supplier, may be escalated to unprocurable in output326to advance the inventory management process for the particular part.

With reference now toFIG. 4, an illustration of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system400may be an illustrative example of one implementation of data processing system310inFIG. 3, for example.

In this illustrative example, data processing system400includes communications fabric402, which provides communications between processor unit404, memory406, persistent storage408, communications unit410, input/output (I/O) unit412, and display414.

Memory406and persistent storage408are examples of storage devices416. A storage device is any piece of hardware that is capable of storing information, such as, for example without limitation, data, program code in functional form, and/or other suitable information either on a temporary basis and/or a permanent basis. Memory406, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage408may take various forms depending on the particular implementation. For example, persistent storage408may contain one or more components or devices. For example, persistent storage408may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage408also may be removable. For example, a removable hard drive may be used for persistent storage408.

Communications unit410, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit410is a network interface card. Communications unit410may provide communications through the use of either or both physical and wireless communications links.

Input/output unit412allows for input and output of data with other devices that may be connected to data processing system400. For example, input/output unit412may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output unit412may send output to a printer. Display414provides a mechanism to display information to a user.

Instructions for the operating system, applications and/or programs may be located in storage devices416, which are in communication with processor unit404through communications fabric402. In these illustrative examples the instructions are in a functional form on persistent storage408. These instructions may be loaded into memory406for execution by processor unit404. The processes of the different embodiments may be performed by processor unit404using computer implemented instructions, which may be located in a memory, such as memory406.

These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit404. The program code in the different embodiments may be embodied on different physical or tangible computer readable media, such as memory406or persistent storage408.

Program code418is located in a functional form on computer readable media420that is selectively removable and may be loaded onto or transferred to data processing system400for execution by processor unit404. Program code418and computer readable media420form computer program product422in these examples. In one example, computer readable media420may be in a tangible form, such as, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage408for transfer onto a storage device, such as a hard drive that is part of persistent storage408. In a tangible form, computer readable media420also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory that is connected to data processing system400. The tangible form of computer readable media420is also referred to as computer recordable storage media. In some instances, computer readable media420may not be removable.

Alternatively, program code418may be transferred to data processing system400from computer readable media420through a communications link to communications unit410and/or through a connection to input/output unit412. The communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media, such as communications links or wireless transmissions containing the program code.

In some illustrative embodiments, program code418may be downloaded over a network to persistent storage408from another device or data processing system for use within data processing system400. For instance, program code stored in a computer readable storage medium in a server data processing system may be downloaded over a network from the server to data processing system400. The data processing system providing program code418may be a server computer, a client computer, or some other device capable of storing and transmitting program code418.

As another example, a storage device in data processing system400is any hardware apparatus that may store data. Memory406, persistent storage408and computer readable media420are examples of storage devices in a tangible form.

With reference now toFIG. 5, an illustration of an inventory management system is depicted in accordance with an advantageous embodiment. Inventory management system500may be an illustrative example of one implementation of inventory management system302inFIG. 3.

Inventory management system500includes number of agent societies502. Number of agent societies502includes number of agents504and number of tasks506. Number of tasks506may be assigned to number of agent societies502by an agent generation process, such as, for example, agent generation process324inFIG. 3. Each agent society in number of agent societies502may include one or more agents from number of agents504. Agent society508may be an illustrative example of one implementation of an agent society in number of agent societies502.

Agent society508is assigned to task510. Task510is a conceptual task with multiple parts, for example. Each agent participates in different parts of task510, handing off task510to one agent or another as parts of the task are completed, for example. Agent society508includes agent512, agent514, and agent516. The multiple parts of task510may be considered sub-tasks handled by each of agents512,514, and516, for example. In this illustrative example, agent512takes task510and executes number of sub-tasks518.

Number of sub-tasks518may include tasks such as, without limitation, find degraders524and allocate degrader tasks526, and/or any other suitable task. A degrader may be a part, number of parts, and/or maintenance that causes a structure to be temporarily out of service. In one illustrative example, a degrader may be a part of an aircraft that causes the aircraft to be grounded. The sub-tasks tell the allocated agent what to perform. The sub-tasks may also include specific information on how to perform the task and/or constraints, such as time or resource constraints, for example.

Agent512may be associated with a number of plug-ins, allocated during agent generation, by agent generation process324inFIG. 3for example, using an initial configuration file from number of configuration profiles325inFIG. 3for agent society508. The initial configuration file may contain, for example, without limitation, agent identification, agent description, plug-ins, and services needed to perform task510. Agent512, agent514, and agent516may use a service discovery plug-in to manage the number of services each agent provides, for example.

In one illustrative example, where agent society508uses a service discovery plug-in, each of agents512,514, and516registers with the discovery service and provides its individual agent capabilities to the discovery service. Agent512may then query the discovery service as to which agent can perform a degrader task, for example, and the discovery service can provide agent512with a list of agents capable of the task agent512is requesting. Agent512uses the list of agents provided by the discovery service to allocate degrader tasks526.

In another illustrative example, where each agent in agent society508is pre-defined to manage certain types of tasks, the configuration profile used to generate agent society508will specify the agent capabilities and tasks to each of agents512,514, and516during agent generation. The agents will then communicate and transfer parts of task510to one another accordingly.

Agent512may use location process528to execute the sub-task find degraders524. Location process528may enable agent512to access plurality of databases530and/or number of tools531to locate degraders. Monitoring process532uses communications protocol534to look for incoming completed sub-tasks, or parts of task510, from agent514that agent512can then rescind. In this illustrative example, agent512is a master agent and agent514is subordinate to agent512. Agent512may also use communication protocol534to post sub-tasks or pass task510to another agent, such as agent514, upon completion of sub-tasks518, for example.

In an illustrative example, where agent512is a degrader agent, agent512executes find degraders524and locates a degrader from a degrader database in plurality of databases530. Agent512then executes allocate degrader task526to send a sub-task to the appropriate agent, such as get degrader task536to agent514, to find the supplier or suppliers for the part identified as a degrader, in this example. Another sub-task allocated by agent514may be, for example, without limitation, find availability560allocated to agent516. The agent designated as a degrader agent, such as agent512in this example, monitors for completion of the degrader sub-tasks and the completion of the sub-tasks allocated to additional agents, such as find availability560sent to agent516by agent514.

Agent514may accept number of sub-tasks520, which may include tasks such as, without limitation, get degrader task536, update task result538, get supplier540, verify supplier542, allocate supplier tasks544, and/or any other suitable task. Get degrader task536may be taking receipt of a task allocated by agent512executing allocate degrader tasks526, for example. Update task result538may be posted to communication protocol554for transmission to communication protocol534of agent512. Monitoring process532detects the completed get degrader task536at communication protocol554and rescinds get degrader task536. Rescinding a task and/or sub-task removes the task and/or sub-task from both the master and subordinate agent's communication protocols. In an illustrative example, agent514may execute update task result538to send updated information about the located degraders to task result546.

In another illustrative example, when agent512executes find degrader524and locates a degrader, agent512begins to continually monitor the part number associated with the degrader in plurality of databases530. Agent512may also create a sub-task to find a supplier for the degrader identified, such as get supplier540, and allocate the sub-task to another agent, such as agent514. Agent514may be designated as a supplier agent in this example. Agent514receives get supplier540sub-task and updates task result546to acknowledge allocation of the sub-task. Agent514updates task result546upon completion of the sub-task get supplier540, which signals to agent512monitoring for completion of get supplier540that the sub-task is completed.

Get supplier540may be executed by agent514using location process548to locate a number of suppliers associated with the degraders identified by agent512. Location process548may access plurality of databases530and/or number of tools531to identify the suppliers, for example. After locating the suppliers, agent514may move to a next sub-task, such as verify supplier542, for example. In an illustrative example, agents may use plug-ins having subscriptions to certain objects and/or events, which may trigger an agent to work a particular sub-task. In another illustrative example, agents may utilize a workflow to perform sub-tasks in a particular order and communicate with each other through a task framework. A workflow service may be in process through a number of plug-ins accessible to an agent, for example. Verify supplier542may be executed by agent514using verification process550, for example. Verification process550may access plurality of databases530to locate a database maintaining a list of current suppliers, for example. Agent514may also employ monitoring process552to monitor for tasks agent514can execute and/or for completion of tasks allocated by agent514to other agents, for example. Agent514may also use communication protocol554to send allocated supplier tasks to agent516upon execution of sub-task allocate supplier tasks544.

Agent516may be assigned number of sub-tasks522, which may include tasks such as, without limitation, get supplier tasks556, update task result558, find availability560, persist availability562, and/or any other suitable task. Find availability560searches supplier databases located in plurality of databases530and retrieves all of the suppliers of a particular part or degrader, for example, along with detailed information including attributes of the part or degrader. These attributes may include, without limitation, supplier name, commercial and government entity (CAGE) code, last time to buy, quantity on hand, consumption rate, and/or any other suitable information. Persist availability562then stores the availability information in the inventory management database, such as inventory management database610inFIG. 6, for example. CAGE codes are manufacturer codes for parts.

Agent516may also include monitoring process566, similar to monitoring process532and monitoring process552, which looks for a task via a subscription. In an illustrative example, where agent516is a master to an additional subordinate agent, agent516may pick up a task identified as completed by monitoring process566. Once confirmed as completed, agent516will rescind the task and move it out of memory, in this example. In an illustrative example, where agent society508includes only agent512, agent514, and agent516, agent516may not include monitoring process566. In this example, because there is no subordinate agent to agent516, monitoring process566may be unnecessary. Agent516may also include communication protocol568, which provides communication between agent516and agents512and514.

Task result546may be continuously sent to data processing system570during execution of task510. Task result546may be used by prediction process572to generate output574. Output574may be an illustrative example of one implementation of output326inFIG. 3.

With reference now toFIG. 6, an illustration of a plurality of databases is depicted in accordance with an advantageous embodiment. Plurality of databases600may be an illustrative example of one implementation of plurality of databases316inFIG. 3, and/or plurality of databases530inFIG. 5. Plurality of databases600may be distributed across a network environment, such as inventory management environment300inFIG. 3, for example.

Plurality of databases600includes parts management lists602, degrader databases604, supplier databases606, federal logistics information system608, inventory management database610, and configuration profiles database612. Parts management lists602may include a number of parts to monitor and information for each of the parts, such as part numbers for example.

Degrader databases604may include information about degraders, including part numbers for the degraders listed, for example. Supplier databases606may be a number of individual supplier databases. Supplier databases606may include a supplier's enterprise resource planning database, for example. Supplier databases606may include information such as, without limitation, supplier name, product name, part number, last time buy date, discontinuance date, quantity on-hand, and/or any other suitable information about parts provided by a supplier.

Federal logistics information system608may include, without limitation, a list of current suppliers for use in supplier verification, current part numbers, and/or any other suitable information.

Inventory management database610includes stored information from task and sub-task activities of agents, such as agents512,514, and516inFIG. 5, for example. Information stored in inventory management database610may include, without limitation, part availability, part supplier, commercial and government entity (CAGE) codes, quantity on hand, material associated with parts, comments, consumption rate, current availability, discontinuance date, last time buy date, and/or any other suitable information.

Configuration profiles database612includes a number of initial configuration profiles for agent societies, such as number of agent societies312inFIG. 3.

For example, plurality of databases600may be implemented without configuration profiles database612. In another advantageous embodiment, plurality of databases may include parts manufacturer databases, for example.

With reference now toFIG. 7, an illustration of a number of tools is depicted in accordance with an advantageous embodiment. Number of tools700may be an illustrative example of one implementation of number of tools314inFIG. 3and/or number of tools531inFIG. 5.

Number of tools700may include maintenance analysis tool702, system logistic integration capabilities tool704, and service planning and optimization tool706. Maintenance analysis tool702may include elements such as, without limitation, a degrader list, part numbers, part nomenclature, source maintainability and recovery, national item identification number, and/or any other suitable elements.

System logistic integration capabilities tool704may include elements such as, without limitation, commercial and government entity (CAGE) information, reference numbers, suppliers, supply chain management program, bill of material and configuration management data, and/or any other suitable elements. Service Planning and Optimization (SPO) tool706provides a demand planning forecast based on prior actual supply data. Agents and/or agent societies may run in the background of maintenance analysis tool702, system logistic integration capabilities tool704, and/or service planning and optimization tool706to access and query database information, for example.

With reference now toFIG. 8, an illustration of an output is depicted in accordance with an advantageous embodiment. Output800may be an illustrative example of one implementation of output326inFIG. 3and/or output574inFIG. 5.

Output800may be presented in a spreadsheet view format using color coding to identify various types of information. Color key801may be provided to identify the color coding of the information presented in output800. Output800may include aggregated data802for part804and expanded data806for part804, for example. Information presented may include, without limitation, procurability prediction for part804, supplier identification data, commercial and government entity (CAGE) numbers, one year data, two year data, three year data, and/or any other suitable type of information, for example.

In an illustrative example, aggregated data802may be presented for part804, indicating part804is predicted to be unprocurable in one year, unprocurable in two years, and obsolete in three years. Aggregated data802is an illustrative example of one implementation of a procurability prediction generated by an inventory management system, such as inventory management system302using prediction process328and aggregation process329inFIG. 3. Selection of part804in aggregated data802using a user interface may present expanded data806, allowing a user, such as asset manager308inFIG. 3, to drill down on specific information used to form the prediction presented by aggregated data802.

Expanded data806includes may include supplier identification data808, commercial and government entity (CAGE) numbers810, one year data812, two year data814, and three year data816for part804. One year data812includes information for the current year plus one additional year into the future. Two year data814includes information for the current year plus two additional years into the future. Three year data816includes information for the current year plus three additional years into the future. The information provided by one year data812, two year data814, and three year data816may be used to predict obsolescence for a three to five year window into the future, for example. Supplier818may be associated with CAGE820. Information for supplier818includes procurability information for part804from supplier818. One year data812for supplier818may indicate “procurable.” Two year data814for supplier818may indicate “procurable.” Three year data816for supplier818may indicate “unprocurable.” Each cell under the column one year data812and two year data814in the row of information for supplier818may be color coded in green, for example. In this example, color key801may indicate that the color green is associated with procurable parts. The criteria for an indication of “procurable” may be, for example, a minimum of one supplier available showing as an active supplier.

The cell under the column three year data816in the row of information for supplier818may be color coded in yellow, for example. In this example, color key801may indicate that the color yellow is associated with unprocurable parts and/or parts with a scheduled last time buy date. The criteria for an indication of “unprocurable” may be, for example, that the exact part as specified is not available, but a possible replacement part has been identified as available and needs review and appropriate action by an asset manager, such as asset manager308inFIG. 3. A last time buy date may indicate that part804has a last buy date announced from a sole source supplier, for example.

In another illustrative example, information may be presented for supplier822associated with CAGE820. Information for supplier822includes procurability information for part804from supplier822. One year data812for supplier822may indicate “unprocurable.” Two year data814for supplier822may indicate “obsolete.” Three year data816for supplier822may indicate “obsolete.” The cell in column one year data812for the row of information for supplier822may be color coded in yellow, for example, with color key801indicating that the color yellow is associated with unprocurable parts.

The cell in column two year data814for the row of information for supplier822may be color coded in red, for example, with color key801indicating that the color red is associated with obsolete and/or discontinued parts. The criteria for an indication of “obsolete” may be, for example, no manufacturer available to make the part and no alternate part(s) available, with the notice less than three years into the future. An obsolete part may have no obvious form fit function replacement, but may still be available from a lot buy inventory or aftermarket supplier, for example. The criteria for an indication of “discontinued” may be, for example, that the manufacturer(s) of the part have stopped production of the part, but the part is still available through a lot buy inventory or aftermarket supplier. A discontinued part may have a possible form fit function replacement available, distinguishing it from an obsolete part. The cell in column three year data816for the row of information for supplier822may also be color coded in red, in this example.

In another illustrative example, information may be presented for supplier826associated with CAGE828. One year data812for supplier826may indicate “procurable.” Two year data814for supplier826may indicate “last buy date.” Three year data816for supplier826may indicate “unprocurable.” The cell in column one year data812for the row of information for supplier826may be color coded in green, for example, with color key801indicating that the color green is associated with procurable parts. The cell in column two year data814for the row of information for supplier826may be color coded in yellow, for example, with color key801indicating that the color yellow is associated with unprocurable parts and/or parts with an announced last time buy date. The cell in column three year data816for the row of information for supplier826may also be color coded in yellow, in this example, indicated unprocurable.

In another illustrative example, information may be presented for supplier830associated with CAGE832. One year data812for supplier830may indicate “discontinued.” Two year data814for supplier830may indicate “discontinued.” Three year data816for supplier830may indicate “obsolete.” The cell in column one year data812for the row of information for supplier830may be color coded in red, for example, with color key801indicating that the color red is associated with obsolete and/or discontinued parts. The cell in column two year data814and the cell in column three year data816for the row of information for supplier830may also be color coded in red in this example.

In another illustrative example, information may be presented for supplier834associated with CAGE836. One year data812for supplier834may indicate “discontinued with replacement.” Two year data814for supplier834may indicate “discontinued with replacement.” Three year data816for supplier834may indicate “discontinued with replacement.” The cells in columns one year data812, two year data814, and three year data816for the row of information for supplier834may be color coded in orange, for example, with color key801indicating that the color orange is associated with parts that have been discontinued with replacements. The criteria for “discontinued with replacement” may be, for example, the manufacturer of the part stops production of the part but an alternate part is available and the notice is less than three years into the future. A discontinued part with a replacement is a part with a possible form fit function replacement, and the possible replacement part has been identified as available. The indication of discontinued with replacement may further indicate a need for review and approval by an asset manager, such as asset manager308inFIG. 3.

For example, in some advantageous embodiments output800may only include aggregated data802. A user may select part804from aggregated data802to access expanded data806through a separate output display, for example. In another advantageous embodiment, expanded data806may include additional information, or may include fewer or additional suppliers, for example.

With reference now toFIG. 9, an illustration of a flowchart of a process for inventory management is depicted in accordance with an advantageous embodiment. The process inFIG. 9may be implemented by a component, such as inventory management system302inFIG. 3and/or inventory management system500inFIG. 5.

The process begins by identifying a number of parts to monitor (operation902). The process generates a number of agents (operation904). The process then forms a number of agent societies using the number of agents (operation906). The process assigns a number of tasks to the number of agent societies (operation908). The process receives dynamic task result data from the number of agent societies (operation910). The dynamic task result data may be, for example, without limitation, data334inFIG. 3. The process predicts inventory information based on the task result data received (operation912). The process then outputs the prediction (operation914), with the process terminating thereafter.

With reference now toFIG. 10, an illustration of a flowchart of a process for monitoring parts obsolescence is depicted in accordance with an advantageous embodiment. The process inFIG. 10may be implemented by a component, such as number of agent societies312inFIG. 3and/or agent society508inFIG. 5.

The process begins by receiving a number of tasks (operation1002). The process decomposes the number of tasks into a number of sub-tasks (operation1004). The process assigns the number of sub-tasks to a number of agents (operation1006). The process then executes the number of sub-tasks using the number of agents (operation1008), with the process terminating thereafter.

With reference now toFIG. 11, an illustration of a flowchart of a process for generating task result data is depicted in accordance with an advantageous embodiment. The process inFIG. 11may be implemented by a component, such as number of agent societies312inFIG. 3and/or agent society508inFIG. 5.

The process begins by receiving a task to monitor a number of parts (operation1102). The process identifies the number of parts (operation1104). The process then identifies a number of suppliers associated with the number of parts (operation1106). The process verifies the number of suppliers (operation1108). The process monitors the valid number of suppliers for information on the number of parts (operation1110). The process continuously generates task result data (operation1112) while monitoring the valid number of suppliers for information on the number of parts. The process continuously updates task result data (operation1114) while generating task result data. The process continuously transmits task result data (operation1116) while monitoring, generating, and updating in operations1110,1112, and1114, with the process terminating thereafter.

The flowcharts and block diagrams in the different depicted embodiments illustrate the architecture, functionality, and operation of some possible implementations of apparatus, methods and computer program products. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of computer usable or readable program code, which comprises one or more executable instructions for implementing the specified function or functions. In some alternative implementations, the function or functions noted in the block may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

The different advantageous embodiments provide a method and system for monitoring real time part procurement information and identifying procurement issues in advance to mitigate the impact of degraders on operational availability of a structure. The different advantageous embodiments provide a predictive obsolescence management tool for asset and obsolescence managers to utilize in managing obsolescence on a performance based logistics contract or a sustainment contract for all part classes. The different advantageous embodiments provide a system and method using intelligent agent technology to gain obsolescence information directly from supplier's enterprise resource planning systems for accurate and timely procurement information.