Plaque It!
Sponsored by: Flash of Genius |
[0001] This application is related to U.S. provisional patent application serial No. 60/303,570, entitled “Accretive Object Oriented Acquisition, Supply and Trading Business Process” which was filed on Jul. 6, 2001, and which is incorporated herein by reference in its entirety for all purposes.
[0002] 1. Field of the Invention
[0003] The present invention is related to supply chains. More particularly, the present invention is related to the automation of supply chains, and the optimization of supply chains and their management.
[0004] 2. Description of the Related Art
[0005] Current supply chain management tools typically model one of the elements of a supply chain. For example some supply chain systems focus on the transport of the commodity. Other modeling systems focus on the contract formation; others on collaboration or messaging. Still others concentrate on the scheduling.
[0006] In the prior art, construction of supply chain management tools took a “top-down” approach to tool development. The “top-down” approach led to largely single-element models replicating organizational silos (i.e., trading, scheduling, contract administration, transportation), supply chain model gaps, cumbersome software or human interfaces to attempt effective and comprehensive supply chain management. In prior art, comprehensive supply chain models (i.e., those that combine multiple elements) were fashioned by fusing new or existing single-element software packages. The single-element software packages did not accommodate effective interaction with outside systems, they did not function as a producer or as a receptacle for comprehensive supply chain data and information, and they required a separate management system that imposed “top-down” control and coordination upon the fused packages. Unfortunately, the top-down and single-element development approach led to supply chain management tools that do not comport with real life supply chains and thus are of limited ability. Therefor, there is a need in the art for a system or method that integrates disparate elements of the supply chain that better mimics real life supply chains.
[0007] The present invention remedies the shortcomings of the prior art by providing a system and method for mirroring real life supply chains in a way that enables the modeling and optimization of those supply chains. The present invention also provides an apparatus, system and method integrates supply chain forecasting, planning, trading, scheduling, contract administration, physical and financial position management, accounting and other supply chain functions and operations that occur within an existing supply chain from suppliers to end customers.
[0008] The present invention utilizes a specifically configured set of objects to capture and exploit data about a supply chain. The objects are configured in a way that more closely mimics real life supply chains and thus provides superior performance to top-down or single-element-centric managed systems. The objects of the present invention can be standard objects operating within a virtual environment. Moreover, the objects of the present invention may be semi-autonomous or completely autonomous in operation. The present invention embodies various objects developed to support various workflow processes such as manufacturing, forecasting, master planning, MRP (material requirements planning), capacity management, production activity control, purchasing, inventory management, distribution, TQM (total quality management), JIT (Just-in-Time) manufacturing, demand pull planning, supply push planning, documentation, auditing, contractual, regulatory and compliance reporting etc. without constraining the planning process to a specific planning model; this is accomplished by translating real world business concepts and their relationships into system objects and interacting object models. For example, the present invention:
[0009] Enables supply chain participants to work from a shared, comprehensive and integrated end-to-end information system;
[0010] Reduces or eliminates disjointed paper and electronic documents, spreadsheets, databases, legacy applications and interfaces;
[0011] Improves data capture, accuracy and use;
[0012] Provides single point data entry;
[0013] Handles any real-time or delayed level of data and information availability;
[0014] Avoids and increases detection of numerous supply chain problems;
[0015] Provides more options by decreasing supply chain planning and reaction cycle times. Increased number of options creates additional value-adding opportunities and problem avoidance, as actions can be delayed longer allowing acquisition and response to additional information before triggering actions;
[0016] Enhances supply chain ratability and reliability;
[0017] Allows supply chain product, distribution, and financial opportunity prospecting and what-if analysis;
[0018] Reduces missed supply chain opportunities resulting from physical inventory, logistical and financial position uncertainty;
[0019] Facilitates maintenance of reference or master data such as counter-party identification and goods distribution routing because the subject data will involve only one system, not three or more, as all information, including reference data is streamlined into one integrated end-to-end solution;
[0020] Enables detailed cost capture, analysis, auditing and reporting, demurrage, transportation costs, contamination and other secondary costs can be captured at a more detailed level, such as by vessel or carrier. At this level, it can be used for analysis of trends. This would enable being more selective when choosing carriers or aid in recovering claims related to grade degradation;
[0021] Reduces the cost of supply chain operations, including scheduling, inventory management, authorizing, documenting and communicating activity and results, management and transaction cost;
[0022] Enables executing quality initiatives, waste reduction, and continuous improvement plans implementation;
[0023] Supports executing quality and continuous improvement initiatives. Better information and logistical capabilities could allow increases in the volume of the optimized product slate;
[0024] Facilitates regulatory compliance and reporting; and
[0025] Permits full collaboration and integration of market place activities, with high data security between trading partners, shippers, suppliers, transporters, labs, and inspection companies.
[0026] The present invention enables dynamic usage of object data a most opportunistic and efficient manner. The system of the present invention allows for the employment, based upon operation requirements, of functional objects. The operational requirements, and thus the behavior of the objects of the present invention, may be modified in real-time based on operational realities. This provides the present invention with the ability to model, in real-time, all aspects of the supply chain, and to change business rules of the objects themselves in a dynamic manner in order to comport to the new operational realities. Moreover, the objects of the present invention may receive input from various external operational processes and devices and allow the behavior of a portion or all of the supply chain to emerge and be observed.
[0027] The present invention may use real-world inputs in virtual models that are used to test proposed supply chain configurations so that more advantageous configurations may be obtained. For example, the system of the present invention can contain objects that are instantiated based on real-world numbers. However, movement of the goods that are represented by those instantiated objects may be processed in a variety of scenarios in order to find which supply chain configuration provides the best performance under a user-defined criteria, such as minimum cost.
[0028] A more complete understanding of the present disclosure and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings wherein:
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041] The present invention may be susceptible to various modifications and alternative forms. Specific embodiments of the present invention are shown by way of example in the drawings and are described herein in detail. It should be understood, however, that the description set forth herein of specific embodiments is not intended to limit the present invention to the particular forms disclosed. Rather, all modifications, alternatives and equivalents falling within the spirit and scope of the invention as defined by the appended claims are intended to be covered.
[0042] The present invention is directed to the modeling of supply chains. More specifically, the present invention is directed to the modeling and optimization of the means of determining the need for purchase, manufacture or sale of goods, the contract management, goods storage, transportation and inventory management, price and cost tracking, and the collaboration tools necessary to transport a good from its origin to its final point of sale, exchange or consumption.
[0043] 1. Overall Architecture
[0044] The architecture of the system
[0045] The present invention is composed of a set of objects, in the form of an object engine, that operate in a multi-tiered environment in order to implement business logic of various types. In the preferred embodiment of the present invention, the objects of the present invention provide various functions called business services and operate in the business services layer. Basic functionality for the objects of the present invention is provided by the technical services layer. Various user interfaces may be used to observer and/or control various aspects of the object engine, and those user interfaces are generally grouped together to form a client services layer.
[0046]
[0047] The objects, aspects, modules, interfaces and services of the system
[0048] The object engine within the business services layer
[0049] The present invention consists of a set of objects that are unique in their construction as well as their configuration. Typically, objects enrich behavior in accumulative fashions by means of polymorphism as well as aggregation. This accretive nature has been enhanced in the objects of the present invention objects by careful consideration to maintaining the autonomy of individual objects as well as incremental feature growth in total. This allows the unique capability of the present invention to deliver multi-faceted behavior from various objects in different contexts. Moreover, it enables the objects of the present invention to present an emergent behavior of the complete supply chain for observation by operators or other processes.
[0050] Aggregate objects usually combine the behavior of “dependent” member objects. However, a “dependent” member object in the present invention would generally be architected to deliver the aggregate behavior that is desired in that particular application, yet be able to effectively reuse the same “dependent” object in an entirely independent context. For example, if an entity consists of a parent and multiple line items, those line items (dependents) would be constructed such that they could be accessed and used regardless of any “parent” association.
[0051] Architectural object autonomy as described herein translates into a remarkable ability to reuse by combining and modifying object properties (data) and behavior (methods) dynamically. Coupled with a strict compartmentalized insulation between the business logic (e.g., server) and the presentation (e.g., client) layers, this permits the application to present a virtually infinite combination of incarnations and configurations. For every possible combination or variance of data needs, a new user-interface form can be assembled to meet those specific needs. Such user-interface forms would be nothing more than a presentation channel in the purest form. The actual work—the business logic and processing—would be handled by one consistent set of core business objects. The use of a consistent set of core business objects of the present invention permits different individuals to work from their customized views and to use the data model to best suit their needs.
[0052] Ease of feature accrual by the present invention lends itself to unparalleled capabilities in terms of enhancements and upgrades. When users request new features, the same set of core business objects can be combined in different configurations in an easy manner to add the incremental feature sets, and thus deploy the revised application quickly and with minimal debugging. The synergistic approach afforded by the object architecture of the present invention is important to solving the supply chain management problem in a virtual-reality setting, because the objects are meant to model reality closely. The architecture of the objects of the present invention permits the arbitrary addition of features and modules with the utmost of ease. Not only is the end to end supply chain addressed, but the present invention is able to accommodate any business domain challenge with minimal enhancement to the core business objects.
[0053] The present invention provides tools that assist in the simulation of supply chain models and the monitoring of real-life supply chain operations. Some of the unique features of this system that differentiates it from other systems are described below.
[0054] Automated Two-Way Feedback
[0055] Typically, simulation systems of any operational business process provide a mechanism to analyze the results of a simulation based on hypothetical model parameters. Generally, there is no real-time feedback mechanism that allows, in an automated fashion, to input real-life operational-model parameters into the simulation model and integrate them with hypothetical-model parameters. In contrast, the system
[0056] Process Independence
[0057] The present invention recognizes that business processes change dynamically, based upon business conditions and evolving organizational constraints. The present invention encompasses a system
[0058] Cross-Functional Independence
[0059] The present invention is designed for cross-functional independence within the context of a supply chain. The cross-functional independence afforded by the present invention allows for the deployment of business functional components that are independent of each other so that the components can be used in conjunction as well as in an independent, stand-alone functionality. In addition, specific processes within the business functional components are also independent under the present invention. The independent style of object architecture enables the implementation of flexible business rules, yet, enforcing them when specified. For example, contracts can be initiated even when trade negotiations are not finalized while the import of such a trade cascades to other depended business tasks (if any). However, if the contract is not executed in time, the propagated impact is rolled back to the pre-implementation state.
[0060] Cross-Functional Integration
[0061] The present invention integrates with other inter/intra/extra-organizational business functions in order to ensure that changes in depended data are automatically reflected in user functions. Moreover, changes are validated based on user-defined business rules per atomic business tasks.
[0062] Integrating “Corridor” Conversations with Business Data
[0063] The present invention supports persistence and integration of any ad-hoc operational conversations that may impact one or more business units. The preferred embodiment of the system
[0064] The architecture of the object engine of the present invention is capable of substantial rearrangement of both properties, methods, and organizational structure without departing from the ability to implement the business logic in a consistent manner, and to accommodate changes to that business logic in a dynamic manner. A detailed description of an illustrative embodiment of the system
[0065] 2. Technical Services
[0066] Overview
[0067] Technical services
[0068] Persistence module
[0069] Transaction Support module
[0070] Synchronization module
[0071] Messaging module
[0072] History module
[0073] Life Cycle Management module
[0074] Security module
[0075] Scheduler module
[0076] In order to achieve these goals effectively, the system
[0077] Description of the Services within the Technical Layer
[0078] Messaging
[0079] Schedulers, Traders and other business entities communicate with each other during the deal capture and management process. These communications are generally unplanned and ad-hoc. However, they are important because they clarify and resolve issues between the parties. The messaging module
[0080] Persistence: Messages or “conversations” between participants are logged in to the persistence module
[0081] Filtering: Users can define filters that will automatically filter messages. This prevents the user's display from being clogged with messages and allows them to view or participate in “conversations” of particular interest. The users can set filters at various levels by type, sender or group.
[0082] Notifications: The messaging service is used by other business functions such as Trading
[0083] User Customizations: The user can customize the message delivery mechanism. The user can set filters, display options, subscribe to messages, etc. However, the system
[0084] Group Memberships: The administrator of the messaging service
[0085] 3. Business Services
[0086] Overview
[0087] The business services layer
[0088] Trading
[0089] The trading aspect
[0090] Scheduling
[0091] The scheduling aspect
[0092] Accounting
[0093] The accounting aspect
[0094] Risk Management and Measurement
[0095] The risk management and measurement aspect
[0096] Route Network
[0097] The route network utility system
[0098] Organization
[0099] The Organization function
[0100] Description
[0101] Trading
[0102]
[0103] Once the credit for the trade is approved, the specific trade is persisted but not released to the scheduling aspect
[0104] The contract will be both generated and distributed either by the party or by the other party. When the contract is to be prepared internally, the traders and the contract administrators use a contract generation tool
[0105] The contract document generation, and the process of approvals, may involve several iterations before the contract is finalized and sent to the other party for final execution. The system
[0106] In the scenario where the contract is to be prepared by the other party, both parties agree to the number of days (the “waiting period”) within which the first party will receive the contract from the other party. The system
[0107] Another feature of the trading aspect
[0108] A more detailed description of the trading method
[0109] At the same time that the contract has been released to scheduling, execution of the method
[0110] If the contract has been received (i.e., the result of step
[0111]
[0112] Trading Business Model
[0113]
[0114] Other elements of the trading business model
[0115] The automated process
[0116] The trader
[0117] After a contract is captured, the contract can be edited, cancelled or amended. When changes are made to a contract the automated process ensures contract information consistency and optimizes enabling of changes.
[0118] A contract can be cancelled based on specific business reasons. Additionally, changes can be made to the contract and an amended contract is generated. A cancelled contract automatically results in a notification to the external parties. Additionally, notifications should be sent to entities within the organization so that one or more appropriate business steps could be initiated due to the changes or cancellation of a contract.
[0119] The system
[0120] In the preferred embodiment, traders would be able to determine quickly and easily whether the trader is long or short for any given commodity by examining the position. If short, the trader knows additional quantities must be purchased. If long, the trader knows additional quantities must be sold. Traders get this information by executing the position calculation. Reference can also be made to the corresponding position calculation for the scheduler. Note, receipts, deliveries, and inventory information results in a position. Schedulers apply one or more build or draw transactions, which are planned activities rather than an actual physical transfer of commodity, to obtain an effective position for schedulers. The traders then refer to the position as ascertained by the actual transactions as well as the schedulers' projected and planned transactions, along with production and demand (actual and forecast) in order to do their planning activities.
[0121] Traders or analysts enter plans to exchange commodities rather than execute a pure or outright purchase or sale. Handling exchanges are an essential element of the position calculation (refer scheduling position).
[0122] When one party agrees to sell or exchange a commodity to another party, the agreed upon price may be a simple fixed and flat value, or a complex, event based, formula involving many components. Many people require the ability to view and calculate prices e.g.: traders, schedulers, cost accounting, analysts (i.e., credit, economic, risk management, financial), operations coordinators, billing, and contract administrators.
[0123] The pricing aspect provides the capabilities to research historical pricing, input simple and complex pricing formulas, calculate the formula at a given point in time, utilize (i.e., in contracts, commodity valuation) and report the results. The system includes market data in the form of a repository that maintains and tracks the latest market data for different commodities from various exchanges. The data can be viewed independently or referenced in a price formula. Further pricing formulae in the form of libraries are supported to facilitate a price formula and enable reuse.
[0124] Trading business functions interface with the user's organizational structure to determine the roles of individuals who participate in the formulation of a trade. Trading business functions thus ensures that individual responsibilities are properly tracked and operational snags can be routed to the right individuals for resolution.
[0125] Route Network
[0126]
[0127] Objects of the present invention may be equipped with methods that provide a convenient way to manipulate information, such as property values, within the object (or global properties). The methods of the various objects may be called by the system
[0128] An example of the route network model
[0129] The route segment object
[0130] Country
[0131] A country represents a recognized nation or political division of land, which needs to be tracked in the system (e.g., United States of America or Canada).
[0132] State or Province
[0133] A StateOrProvince property represents a recognized division within a country (e.g., Texas or Quebec). In some cases when a specific division of a country does not exist or is irrelevant to information requirements, the country's name is repeated for the state or province. This flexibility enables capturing only relevant data without enforcing geographical restrictions.
[0134] Location
[0135] A Location represents any abstract geographical location such as a city or an area in the Gulf Coast. Examples include Catlettsburg, Columbus, and South Pass Block
[0136] Facility
[0137] A Facility represents a physical site such, as a refinery or terminal. A value for the facility property generally indicates that a supply or demand for a commodity exists. A facility may span multiple locations and a location may contain multiple facilities or a single facility. A facility may contain multiple storage units and a single storage unit may span multiple facilities.
[0138] Storage Unit
[0139] A Storage unit represents a specific container (e.g., a tank, cavern, truck, or even a pipeline itself) that holds a commodity. The storage unit may or may not represent a physical entity within the transportation network. The system
[0140] Route Segment
[0141] A RouteSegment is the smallest “trackable” segment that a transport mechanism can move a commodity from “point A to point B”. The route either does not split or join up with any other between the origin and destination points, or the user may simply not care to represent it. A RouteSegment is a valid, single-legged combination of a specific origin facility to a destination facility. A RouteSegment is directional.
[0142] Transport
[0143] A Transport is a physical mechanism by which a commodity is moved from point A to point B. The Transport has properties that identify various types of transport mechanisms. A Transport acts inherently as a storage container with the capability to transport a commodity. The system
[0144] Vessel
[0145] Vessel is a specific type of transport. Additional information is maintained about the vessel (i.e., dead weight tonnage).
[0146] Carrier
[0147] A Carrier is a specific kind of company responsible for transporting commodities.
[0148] RouteLineItem
[0149] The Transportation network comprises of collection of route segments. A route between two pints can be designed using alternate paths. Additionally, each route segment could be part of multiple routes. The Route Line Item object sequences one or more route segments into a larger route concept. Note, the order of the route segments is significant. This system allows customization of route segments into a route during planning phase. For example, if “A to D” represents the route, then the underlying route segments might be specified as “A to B”, “B to C”, and finally “C to D”. Similarly, the route “A to D via B2” might use route segments “A to B”, “B to B2”, “B2 to C”, and “C to D”. Although the origins and destinations of these two examples were the same, the route was composed of a different set of route segments.
[0150] Route
[0151] Route is a user-named representation of an origin and destination pairing. Normally, the movement of a commodity from this origin and destination must traverse multiple route segments. The use of routes provides efficiencies for the user in creating movements that often times traverse the same sequence of route segments repeatedly.
[0152] Organization
[0153]
[0154] Referring to
[0155] Company
[0156] The company object comprises of data and behaviors pertaining to different types of companies, such as an internal or an external company, and any associated parent company. The company object contains contact information needed to keep track of a company's mailing, billing and/or invoicing information. The Company object can also comprise other organizations. The recursive relationship between Company and Organization objects provides the ability to scale the model as organizations grow.
[0157] Organization
[0158] An organization is used to model the hierarchy of groups within a company. The organization object has properties that are used to specify the type of organization. Example organization types include department, section, region, etc. An organization can have sub-organizations and sub-organizations may themselves have sub-organizations.
[0159] The organization object enforces rules that restrict the relationships between the various types of organizations. For example, a department may consist of sections but sections cannot contain departments. These business rules are configurable based on real life hierarchical parental relationships between organizations and sub-organizations. Additionally, the organization object independent of its parent company or organization contains specific contact information.
[0160] ContactInfo
[0161] The ContactInfo object keeps track of all means of communicating other entities, which could be a person, company or organization. It is a general concept that applies to more than just individuals (people), companies and organizations. ContactInfo object encapsulates all contact information for an entity. ContactInfo object can include email addresses, telephone numbers, mobile telephone numbers, pager, facsimile numbers, telex addresses, physical and mailing addresses, and/or web URLs or other contact information. For example, a person's work and home contact information are saved in a single ContactInfo object. The ContactInfo object contains one line item for each set of contact information.
[0162] The system
[0163] Address
[0164] This system treats the Address object independent of its ‘owner’. The address can be of varying formats based on location and other parameters.
[0165] Contact
[0166] The contact object is used to keep track of people within a company, organization or sub-organization. Each contact object is associated with respective contact information.
[0167] A contact is assigned to fill one or more posts Cob position) within a company organization. This allows the flexibility to keep the organization structure persistent and not change with the changing membership of individual participants.
[0168] Post
[0169] A post is used to define the job positions within an organization. This could be a trading desk or a specific scheduling job within an organization. Posts are filled by contacts (people) and a record of each contact's start date is maintained so that the system can identify who filled the post at any given time. The type of post is called the role. Examples of roles are: trader, scheduler, accountant, etc. The role is a general type of position while the post is a specific job position. A post contains a collection of responsibilities. That is the user can specify which location/facility and commodity combinations this job position is responsible for.
[0170] Contacts are not directly mapped to a company. Instead, contacts are mapped to a post within an organization that belongs to a company. The model is implemented in such a way that only a single organization and post need be used to keep track of all of the people within a company. In addition, the objects of the present invention support a method to add a contact to a company without having to associate a post.
[0171] The model of associating individuals with posts provides a user the ability to model situations where the post will not change but the person filling the post will change. In addition, a given post may have a multiple number of responsibilities. For example, trading desks may be responsible for certain combinations of location, facility and commodity. The system
[0172] Support
[0173] Units
[0174] The units system provides a set of objects for conversion of numeric values from one unit to another.
[0175] The class diagram
[0176] The objects include the UnitGroup, UnitEntry. and UnitManager. The UnitGroup defines groups of related units such as length, volume, mass, time, and temperature. The UnitEntry object represents specific units such as feet, meters, pounds, seconds and degrees Celsius. Every UnitEntry belongs to one and only one UnitGroup., Each UnitEntry object maintains a multiplier and an offset that, when applied by a unit manager, can be used to convert from one unit to another.
[0177] The units system is flexible in that unit groups and entries are maintained in the data store and can be dynamically added, modified or removed at any time. The UnitManager is responsible for reading, updating and otherwise maintaining the unit definitions in the data store and for carrying out the actual conversions. The unit system also provides the UnitField object, which represents a value, unit, start and end time and encapsulates logic for combination with other UnitField objects using simple arithmetic operations without requiring the user of the UnitField objects to be concerned with the unit conversion process. The arithmetic operations that are available to the UnitFile object include, but are not limited to, adding, clipping, splitting and joining based on the start and end times specified.
[0178] Scheduling
[0179]
[0180] Analysts and facility representatives specify demand for commodities at production or distribution facilities while schedulers specify plans to build or draw from the existing inventory. Commodities are acquired by traders or purchasing agents while the position is continually monitored by facility and or commodity. Schedulers perform an iterative cycle of planning, optimizing, generating, nominating and tracking the movements that transport the commodities from the point of purchase to the point of manufacturing or sale. The scheduling business process of the present invention is preferably iterative because carriers may require revisions to the nominations after having received and/or processed the original nominations that arrive from numerous shippers. In addition, the process is iterative because schedulers must handle unplanned, real-life situations such as delays and loss of materials occurring during transport and or the temporary or complete loss of a means of transport resulting from some catastrophic event. It should be noted that one of the features of the present invention is that it reduces the need for interactive supply chain operations and activities. Moreover, the structure of the objects of the present invention supports forecasting, planning, execution, and accuracy of supply chain information in comparison to prior art systems.
[0181] Referring to
[0182]
[0183] The scheduling model
[0184] Demand
[0185] At the facility level, traders, analysts, facility representatives and purchasing/sales personnel forecast the need for commodities for a specific time-period by creating records of demand. Demand does not impact inventory, rather it is a means of specifying what commodities are expected to be provided at a facility. Demand is an essential element of the position calculation (REFER). The demand projection is usually derived from past trends, surveys and or complex business simulations. The system
[0186] Inventory Build or Draw
[0187] Demand can be met by purchasing, manufacturing, or drawing from existing inventory. Schedulers must manage the inventory throughout the route network, and they plan inventory changes at the facility level by creating inventory build or draw records. The inventory build or draw records specify targeted increases or decreases in inventory by commodity and by facility for a specific time-period. As with demand, inventory build or draw records do not impact inventory; they do not represent actual receipts or deliveries, rather they allow schedulers to define objectives and then to check whether or not they have met those objectives. The inventory build or draw records are a critical element of the position calculation (REFER).
[0188] Inventory Buy or Sell
[0189] In the case of a physical deal, traders arrange for the exchange of some quantity of one or more commodities. The contract object (refer) from the trading system records the details of the agreement and generates the legal document. However, the contract object does not directly record the details of what is actually traded nor does it in anyway directly impact inventory. Instead, the scheduling system provides inventory buy or sell objects to model and record the change of ownership of some quantity of a commodity with another party.
[0190] Inventory buy or sell objects represent scheduled and actual receipts or deliveries of a commodity and therefore do impact inventory. Inventory buy or sell objects can be linked with a contract so that the actual receipts and deliveries can be compared with the details specified by the contract. When a contract is released to scheduling, the scheduling system automatically generates inventory buy or sell records based on the information contained in the contract and links them to the contract. The scheduler will then update the inventory buy or sell record as details of the exchange become available.
[0191] Sometimes the quantity to be exchanged is not known at the time the agreement is established. In some instances, the exact quantity is it known for long after the contract has been established. For example, two parties may agree to exchange the crude oil produced by a lease. It is impossible to know in advance exactly how much crude oil will be produced each month. In these cases, historical data may provide a good estimate for future deliveries. Therefore the inventory buy/sell (“IBS”) mechanism of the present invention provides a method to forecast future quantities by averaging quantities from the three previous IBS's. The scheduler may choose to estimate the scheduled volume based on the forecast volume.
[0192] As the date of exchange approaches, scheduled quantities and dates are typically determined by agreement of the schedulers from both parties that are listed on the contract object. This process is called confirming the inventory buy or sell in the scheduling system. Schedulers can easily query for confirmed or unconfirmed inventory buy or sell records. In addition, if an inventory buy or sell record has been confirmed, but changes are made to the record after being confirmed, the system will automatically mark the record as not being confirmed.
[0193] Occasionally, traders inform schedulers of contracts they are working on but have not yet released to scheduling. This situation arises when most of the details of the deal are known or expected but the contract can't be created and released because some aspects of the deal are still being negotiated. The scheduler may want to begin the scheduling process prior to finalization of the deal. In those cases, the scheduling system allows schedulers to create inventory buy or sell records manually without associating it with a contract. Later, when the contract is completed and released to scheduling, the scheduler can manually link the inventory buy or sell record with the contract. The system facilitates the manual linking process by only listing those contracts which match the details of the IBS. Once an IBS is linked with a contract, the system will ensure that it is updated when changes are made to the contract.
[0194] At any given time, it is possible for one or more of the IBS's of a contract to be missing. This situation can arise because 1) schedulers can manually delete IBS's and 2) the scheduling system only generates IBS's one year in the future. In the latter case, additional IBS's must be generated as time passes if the contract is valid for more than one year. The scheduling system ensures that missing IBS's will be automatically generated any time a user queries for IBS's or performs an operation which depends on IBS's such as calculating inventory or generating nominations.
[0195] IBS's are an integral part of the commodity position calculation(refer) in that they are one of the means by which the demand for a commodity can be met. However, the point of possession generally differs from the point of demand and the commodity must be transported from one point to another. It is critical then to account for the time required to transport the commodity to the point for which the demand was entered when determining which IBS's should be included in the position calculation for any given planning period. The IBS object allows the schedulers to specify arrival times by specifying the run month.
[0196] Although, a contract may only list a single commodity and quantity to be bought or sold, the seller may meet the obligation by making several smaller deliveries until the total quantity has been delivered. Initially, the quantity and timing of the partial deliveries may not be known. The scheduler will want to enter the total quantity in the system to get an accurate forecast of the inventory. Then, when partial deliveries are scheduled, they too will be entered in the system. The scheduler must however, ensure that the total IBS volume remain unchanged as the partial deliveries are made. In addition, the scheduler will want to be able to easily determine the quantity remaining to be delivered. The IBS object will automatically manage this situation when the scheduler marks a single IBS line item to be adjusted in a manner consistent with maintaining a constant total IBS quantity while other line items are added, deleted or modified.
[0197] Movement
[0198] The scheduling system provides the movement object for the planning, tracking and optimizing of the redistribution of inventory across the route network. Movement of a commodity follows a pre-defined route in the route network from one storage unit to another storage unit at the same or a different facility and the commodity may pass through one or more intermediate storage units before arriving at the final destination.
[0199] The movement is executed by a carrier using some means of transport(refer)such as but not limited to a pipeline, barge, vessel, rail car, truck or airplane.
[0200] When viewing inventory history at a single facility or storage unit and examining a single receipt or delivery associated with a movement, the movement object enables the system to list the origin, destination or any intermediate facility associated with that receipt or delivery and the corresponding times of arrival and departure.
[0201] The movement object supports methods for merging one movement with another or for splitting a single movement into multiple movements. This can be particularly useful when separate schedulers are responsible moving commodities across different sections of the route network.
[0202] The scheduler must know how long it takes to move a commodity from one facility to another using the various means of transport when defining movements. Often, the transit-time is constant within a level of tolerance which is acceptable to the scheduler during the planning phase. Therefore, when a movement is created or modified, the transit-time for each leg of the movement is calculated using the specified departure and arrival times and then saved as information with the route object. The next time a movement is created or modified, the arrival times will be automatically defaulted based on the departure time and the previously calculated transit time.
[0203] Many schedulers must deal with large numbers of movements in any given planning cycle. Entering these movements into a system can be a time consuming task. The scheduling system provides the capability to quickly and easily specify and generate a large number of movements in an automated fashion. For example, the movement object supports a method of replication which produces a series of similar movements occurring in specified multiples at each instance of an equally spaced time intervals spanning an initial and final time as specified by the scheduler.
[0204] When a commodity is moved from one facility to another, the quantity being moved is typically measured at both ends of the movement as well as at any facilities the commodity may pass through along the way. Frequently, the measurements indicate the quantity originally shipped is not the same as the quantity which ultimately arrives at the final destination. This can be attributed to gains or losses that may occur during the movement or to inaccuracies in the measurement process.
[0205] The scheduling system calculates and maintains historical records of gains and losses that occur during movements. The gains and losses must be accounted for when figuring in-transit inventory. For example, if a vessel is completely unloaded, its inventory should then be zero. If measurements show that a larger quantity was loaded than unloaded, the difference is assumed to be a loss and will be subtracted from the vessel's inventory. Historical data can show that some transports typically have higher loss ratios than others. Action can then be taken to reduce the losses by consulting with the carrier or switching to another carrier.
[0206] The Scheduler may negotiate a transportation agreement with a transportation supplier and enter the resultant contract into the system. The scheduler may then link the associated movement with the contract for cross-referencing.
[0207] Inventory Adjustment
[0208] At times, the scheduler may find that the inventory calculated by the system does not agree with measured values or with statements obtained from other responsible parties. This situation may arise because one or more transactions were not properly entered in the system or because the values entered in the system were inaccurate. The scheduler may correct the discrepancy by either specifying an inventory actual (refer) or an inventory adjustment.
[0209] An inventory adjustment is a fictitious receipt or delivery of a commodity at a storage unit. The scheduler can size the inventory adjustment to give the desired or known inventory. The inventory adjustment object includes a place for the scheduler to add comments which fully document what is known about the discrepancy being corrected and on what the corrected values are based on.
[0210] Consumption and Production
[0211] A point of manufacturing converts one or more goods or commodities into a different product for sale or use elsewhere by applying one or more processes such as assembling, blending, combining, shaping or some other method. After successful manufacture of a good or commodity, the inventory of the produced good or commodity must be increased by the amount produced, and the inventory of the goods or commodities used as input to the manufacturing process must be decreased by the amounts used.
[0212] The scheduling system facilitates the entry and tracking of this information via the consumption and production objects where the consumption object is used to specify the inputs to the manufacturing process and the production object is used to specify the output or produced product.
[0213] The scheduling system is further capable of maintaining, recording and correlating, with other integrated scheduling subsystems, estimated and actual production figures for a commodity within a particular manufacturing facility. The system is able to generate per-day consumption and production estimates, given a lump sum amount, by applying algorithms to produce series of fixed-rate items that reflect the time span and rate of production, as specified by the scheduler. The rate of production for a given commodity can be estimated and/or actualized per day, per storage unit, thus allowing for a great deal of granularity in the resulting information set.
[0214] Net Out
[0215] A net out is the process of minimizing unnecessary commodity movements by optimizing the number of physical displacements of commodities that must take place in order to satisfy a set of trade agreements between various trading partners. This exercise results in net savings for each of the trading partners, since the cost of making redundant deliveries and/or accepting receipts is minimized or eliminated altogether.
[0216] Referring to
[0217] Since each company only has access to its own trades, individual companies can only identify a small subset of the possible net out arrangements. However, in some industries, independent organizations are established and granted access to trade information for each of the participating companies with the intent of identifying and establishing net out arrangements. The scheduling system provides the net out object whose purpose is to capture these arrangements and to ensure that the proper quantities are nominated (refer) to the carriers.
[0218] Nomination
[0219] A nomination is a report sent by a shipper to a carrier for the purpose of proposing a set of movements for a planning cycle. The carrier, after receiving the nominations from all shippers, develops and optimizes a schedule for carrying out all the movements for each shipper. Many times, the carrier will be unable to meet the requests of all the shippers and hence will send a revised schedule back to the shippers. The whole process is then repeated until both carriers and shippers have agreed upon a set of movements.
[0220] The scheduling system provides methods which collect the pertinent data, process it and generate the nomination in a format acceptable to the carrier. The system provides the nomination description object which defines the criteria for determining what information will be included in the nomination, the processing options, the format of the report and the recipient.
[0221] The Nomination object is used for persisting actual nomination reports. The nomination object supports revision tracking which is designed to allow for quick identification of modified report items while automatically managing report versions and associated maintenance. The customization of reports to specific recipients allows the data to be presented in the form most useful to that particular recipient.
[0222] Position Calculation
[0223] The facility object provides a method for calculating position. The information included in the position calculation may have come from several different sources including: production, sales, scheduling, trading and analysts. Typically, production sales or analysts enter the demand for a commodity. The demand is the forecasted or planned requirements for a given commodity for a specified time period.
[0224] Demand is entered by facility and by commodity but can be viewed in many different ways such as the total demand for a commodity at all facilities or the total demand of all commodities at a single facility.
[0225] Schedulers enter planned inventory build or draws when they plan to increase or decrease the inventory of a commodity at a specific facility. Traders or analysts enter trading Assumptions. An assumption is a plan to exchange one commodity for another rather than to purchase or sale that commodity outright. Assumptions are an essential element of the position calculation.
[0226] The position is determined for a commodity and time period by summing all the inventory buy or sell entries that have been generated from the contracts or that were manually entered by schedulers, subtracting all demands and planned inventory builds, adding all planned inventory draws and incorporating all trading assumptions. The position can be calculated by commodity or by commodity and facility.
[0227] Inventory Calculation
[0228] An important part of the scheduling process is managing the inventory. Schedulers must be able to determine how much of a given commodity is currently in inventory and where it is located. They must also be able to forecast how the inventory will look in the future and they must ensure that tank levels stay between minimum and maximum levels at all times.
[0229] The scheduling system allows the scheduler to display all receipts and deliveries coming into, or going out of a single storage unit or an entire facility along with the running inventory for a specifie