[0001] The present invention relates to information storage and processing systems, and more particularly, relates to the management of supply chains using such systems.
[0002] Many types of manufacturing database management and inventory control systems exist today. Each of these systems views the process from the narrow viewpoint of the goals of such a system. For example, inventory control processes tend to determine when the inventory of an item is projected to be depleted and when to order goods to prevent such depletion. The inventory control process does not generally take into account the problems associated with availability of materials and machines to satisfy the inventory demand. On the other hand, the manufacturing control process considers the availability problem but does not take into account the effect of a sales promotion that will deplete an inventory faster than projected. A marketing department in preparing a sales promotion will often not consider the effect that promotion will have on availability, inventory and profit margin but tends to focus on sales goals. What is needed is a system that will support managers with each of these view points in understanding the effect of the various decisions that can be made on the supply chain as a whole both currently and into the near future.
[0003] Supply chain information flows today are fragmented, limited, and, in some cases, non-existent. The lack of timely communication between the different participants in the supply chain has resulted in higher costs for the system, for example, by limiting its ability to adequately measure distributor performance or to analyze promotion and new product activities, e.g., sales success, etc. In addition, the system continues to suffer from excess inventories and waste, unnecessary stock outs and rationing of products. A company cannot effectively react to these issues because the information that is needed to make sound management decisions is not available when it is needed.
[0004] From a marketing perspective, this lack of information has significantly hampered a company's ability to evaluate marketing tactics, post-program. Such companies also do not possess historical data that can assist it in developing marketing strategy and related plans, and understanding the essence of a brand.
[0005] Today, there is limited access to, and limited participation in, supply chain information systems by restaurants, franchisees, distributors, suppliers, etc. The infrastructure for supply chain information systems is inadequate. Restaurant point-of-sale (POS) systems are diverse and do not allow for data flows and the resulting analysis. At any point in time, it is not known how much product is selling, when it is selling or where it is selling. As long as this situation is allowed to continue, activities throughout the supply chain will continue to be reactive, error-prone, time-consuming and costly.
[0006] A system, method and computer program product are disclosed for risk management in a supply chain management framework. A supply chain manager is appointed for at least one buying supply chain participant. Such appointment can be made arbitrarily, by default, upon selection by the supply chain participant, etc. The supply chain manager is given authority to negotiate supply agreements for at least one good on behalf of the at least one buying supply chain participant. Note that the good may be a raw material and/or a fully finished good as well. One or more supply agreements are entered into for the at least one good, wherein provisions of the supply agreement include: (i) pricing for each one good shall be based upon factors including an actual market price of at least one commodity when the supply chain manager has not established a commodity position price; and (ii) pricing for each one good shall be based upon factors including a commodity position price of at least one commodity when the supply chain manager has established a commodity position price. Periodically, a commodity position price is established through the supply chain manager, so that the supply chain manager may thereby address risks to the supply chain of varying market levels and market volatility of the at least one goods.
[0007] In one aspect, the supply chain manager is granted authority to negotiate supply agreements for the at least one good on behalf of all buying supply chain participants. In another aspect, an actual market price of the at least one good is kept secret from the at least one buying supply chain participant. In a further aspect, an identity of the at least one buying supply chain participant is kept secret from a supplier of the at least one good. In yet another aspect, each supply agreement is between the supply chain manager on behalf of the at least one buying supply chain participant and a selling supply chain participant. In even a further aspect, the good may be an at least partially finished good. In an additional aspect, the determining may include the analyzing of data collected from a plurality of supply chain participants relating to the sale of goods.
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131]
[0132]
[0133]
[0134]
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152]
[0153]
[0154]
[0155]
[0156]
[0157]
[0158]
[0159]
[0160]
[0161]
[0162]
[0163]
[0164]
[0165]
[0166]
[0167]
[0168]
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179]
[0180]
[0181]
[0182]
[0183]
[0184]
[0185]
[0186]
[0187]
[0188]
[0189]
[0190]
[0191]
[0192]
[0193]
[0194]
[0195]
[0196]
[0197]
[0198]
[0199]
[0200]
[0201]
[0202]
[0203]
[0204]
[0205]
[0206]
[0207]
[0208]
[0209]
[0210]
[0211]
[0212]
[0213]
[0214]
[0215]
[0216]
[0217]
[0218]
[0219]
[0220]
[0221]
[0222]
[0223]
[0224]
[0225]
[0226]
[0227]
[0228]
[0229]
[0230]
[0231]
[0232]
[0233]
[0234]
[0235]
[0236]
[0237]
[0238]
[0239]
[0240]
[0241]
[0242]
[0243]
[0244]
[0245]
[0246]
[0247]
[0248]
[0249] The present invention allows participants in a supply chain for an enterprise or collection of enterprises to function as an integrated system. The Supply Chain model of the present invention is responsive and efficient, based on electronic access to critical information that is available when it is needed at various points throughout the Supply Chain. As a result the Supply Chain is highly flexible, reliable and user friendly, responsive to consumer demands, able to respond to short lead times and able to significantly lower Supply Chain costs.
[0250] The present invention positions a Brand for growth, competition and profitability by installing and managing the infrastructure that facilitates accurate, timely and relevant information flows throughout the Supply Chain.
[0251] The present invention overcomes traditional difficulties with supply chain information flows, namely that the flow of information is fragmented, untimely, and/or nonexistent. Further, the present invention overcomes deficiencies in prior art supply chain information systems such as limited access; limited participation; and inadequate infrastructure; which result in the unavailability of accurate, timely management information from Supply Chain activities; business decisions not being based on the best information; unfavorable impact on the cost of products; and error prone, time consuming, and costly activities throughout the Supply Chain.
[0252] The organizational structure, technology applications and information systems that form portions of the Supply Chain are enablers that allow for effective management of the Supply Chain. The methodology of the present invention provides the means to efficiently capture, analyze and feed back timely Supply Chain data to the appropriate parties.
[0253] The claimed invention is applicable to many different industries, including but not limited to, pharmaceuticals, health and personal care products, computer and internet technology, automotive, home product supply, food and beverage, telecommunications, machinery, air conditioning and refrigeration, chemical, department store supply, office product supply, aircraft and airline related industries, education, consumer electronics, hotel, gasoline stations, convenience stores, music and video, etc. For purposes of illustration only, portions of the following description will be placed in the context of a Supply Chain for food services, including food distribution, retail outlet management and operation, and marketing. One skilled in the art will appreciate that the various embodiments and concepts of the present invention are applicable to a plethora of industries without straying from the spirit of the present invention. As such, the scope of the present invention is to be in no way limited to food services only.
[0254] The present invention includes a supply chain management system involving at least one supply chain participant. Supply chain participants include a supply chain manager. The supply chain manager may be a supply chain participant, a department of, division of or consultant for a supply chain participant, or an independent entity unrelated to the other supply chain participants. The supply chain manager may be allowed to exercise management rights without taking title or possession of any goods passing through the supply chain.
[0255] Supply chain participants may also include brand owners, point of sale outlets, point of sale outlet owners, a cooperative or consortium of point of sale outlet owners, distributors, or suppliers. Suppliers may supply one or more of finished goods, partially finished goods or raw materials.
[0256] The supply chain management system of the present invention includes six system components which may be integrated independently, on a parallel path, but ultimately are able to electronically interface with each other. Typically, a supply chain may include retailers, distributors and suppliers or equivalents thereof.
[0257] The supply chain management system according to one aspect of the present invention, increases the Quality Of Service (QOS) to supply chain participants, lowers costs and adds new value to supply chain participants with its “predictive” nature based on statistically driven models, discussed below.
[0258] Supply chain participants, as used herein, refers without limitation to stores and other vendors/outlets, distributors, suppliers, etc. Further, suppliers include suppliers of raw partially finished, and finished goods.
[0259] In general, the supply chain management system integrates various components, which components may include:
[0260] 1. In-Retailer Systems
[0261] 2. Retailer/Distributor Electronic Interface
[0262] 3. Supplier/Distributor Electronic Interface
[0263] 4. Data Warehouse
[0264] 5. Information Services
[0265] 6. Web Architecture and Internet Access
[0266] It should be understood that some or all of these components or analogous components may also be applicable to various industries including those industries set forth above.
[0267]
[0268] In-Retailer Systems support point of sale outlet owners
[0269] Retailer-Distributor Electronic Interface establishes an electronic purchasing system and thus “electronic commerce” between POS outlets
[0270] Supplier-Distributor Electronic Interface facilitates the development of electronic commerce between system suppliers and distributors including electronic ordering and confirmations, electronic invoicing and payments and electronic supplier performance measuring and reporting. Electronic commerce between raw material suppliers
[0271] Data Warehouse
[0272] Information Services analyzes
[0273] Web Architecture
[0274]
[0275]
[0276] In one aspect, the corrections may be logged. In another aspect, the discrepancies may be displayed utilizing a network-based interface. In a further aspect, discrepancies may be corrected by translating the format of the data in accordance with the parameters of the defined data types. In another aspect, the network may include the Internet. In an additional aspect, the corrected data may be displayed utilizing a network-based interface.
[0277]
[0278] In one aspect, the format may includes a first format for the store, a second format for the distributor, and a third format for the supplier. In another aspect, the format may utilize a coding scheme unique to the user. In an additional aspect, the formatted, processed data may be made accessible via a network-based interface. In a further aspect, the network may include the Internet. In yet another aspect, the request may be received utilizing the network.
[0279]
[0280]
[0281] In one aspect, the data may be transmitted to the supply chain participants. In such an aspect, the data may be parsed to match each corresponding supply chain participant. The data may also be made accessible to the supply chain participant via a network-based interface. In another aspect, the data may be accessible to the supply chain participant only after verification of an identity of the supply chain participant. In an additional aspect, the tracked information may relate to each of said operations of the above process.
[0282]
[0283] In one aspect, the data may include delivery dates associated with the goods. In such an aspect, the performance may be tracked by comparing the delivery dates with a plurality of target dates. As another aspect, the performance may be tracked by comparing the delivery dates with delivery dates associated with other distributors. In another aspect, the performance may be displayed to the stores utilizing a network-based interface. In a further aspect, the data relating to the distribution of goods may be received from the stores.
[0284]
[0285] In an aspect, the data may includes inventory levels associated with the goods. As an aspect, the performance may be tracked by comparing the inventory levels with a plurality of target inventory levels. As another aspect, the performance may be tracked by comparing the inventory levels with inventory levels associated with other suppliers. In another aspect, the performance may be displayed to the stores utilizing a network-based interface. In a further aspect, the data may be received from the stores.
[0286]
[0287] In one aspect, the data includes delivery dates associated with the goods. In such an aspect, the performance may be tracked by comparing the delivery dates with a plurality of target dates. As another aspect, the performance may be tracked by comparing the delivery dates with delivery dates associated with other distributors. In another aspect, the performance is displayed to the stores utilizing a network-based interface. In a further aspect, the data includes inventory levels associated with the goods. In such an aspect, the performance may be tracked by comparing the inventory levels with a plurality of target inventory levels. As another aspect, the performance may be tracked by comparing the inventory levels with inventory levels associated with other suppliers.
[0288] The present invention makes critical performance information available to the Supply Chain system. The timeliness and level of detail of this information enable the supply chain coordinator to manage distributors and suppliers at standards prior art systems have been unable to achieve before. For example, timely performance information is provided against which Supply Chain management (coordinator) can take immediate action. Such performance information includes system inventory levels and movement, ordering activity, order fill rates, on-time deliveries, and product quality issues. Note that the supply chain coordinator may or may not hold an ownership interest in the other supply chain participants. Further, the supply chain coordinator does not need to be associated with the other participants in any way other than in relation to supply chain management.
[0289] Significant opportunities exist for Supply Chain participants to realize substantial savings and marketing opportunities through improved speed to market for promotions and more responsive inventory management.
[0290] Further, retailer management is given online access to the fill Supply Chain database, subject to maintaining the confidentiality of individual franchisees/ retailers. For the very first time, retail outlet management will be able to evaluate Supply Chain and retail outlet sales information to develop Brand menu and marketing program strategies. In addition, another first, retailer management is allowed to evaluate the success of past marketing programs by comparing actual sales to forecasts and reviewing Gross Profit Margin analyses of programs.
[0291] According to an embodiment of the present invention, Supply Chain management is able to provide online local promotion information to distribution centers, suppliers, Field Marketing, ADIs and Local Distribution Committees. This improves the speed to market for promotions and new products, as well as provides the ability to make ongoing program adjustments.
[0292] The advantages of being able to share and update a common data base at the convenience of all users provides enhanced coordination between all participants, improved planning, less over-ordering and product waste, and less time spent managing and coordinating local promotions. For new contracted distributors, daily distributor invoice feeds can be established.
[0293] Franchisees are provided with many advantages. Tools are provided to evaluate and select new retail POS and BOH hardware and software systems for system-wide communication with their retailers, each other and with the Supply Chain. They are given the ability to order products and manage inventory electronically, and are given access to valuable management information and tools.
[0294] Retailers are provided with the ability to conduct efficient electronic commerce with distributors and “direct” suppliers. They are also allowed to communicate easily with the Supply Chain.
[0295]
[0296] In one aspect, one of the points may be a store. In such an aspect, the data may reflect a sale of goods in the store. In another aspect, one of the points may be a supplier. In further aspect, one of the points may be a distributor. In an additional aspect, the forecast may be displayed utilizing a network-based interface.
[0297]
[0298] In one aspect, the data may include an amount of the goods, and can be based on a function of menu demand. In another aspect, the recipe may indicate a type and an amount of the processed products required to produce each of the goods. In an additional aspect, the information may indicate a type and an amount of the processed products. For example, the demand for beef can be calculated. In a further aspect, the information may be outputted utilizing a network-based interface. In yet another aspect, the network may include the Internet.
[0299] Back orders can be reconstructed. Also, key demand information is gathered directly from the store, greatly increasing accuracy and reducing response time.
[0300] Sales forecasting and inventory management are components in an embodiment of the Supply Chain management system. A theme of this model is transparent communication of current (i.e. virtually real-time) and expected sales to some or all supply chain participants in a statistically meaningful distribution everyday for all inventory level products. In other words, predictive supply chain behavior can be determined and analyzed. Of course the counterbalance here is the commitment to maintain the confidentiality of the particular data source/franchisee.
[0301] Sales forecasting and analysis includes the accurate forecasting of menu items sales, monitoring system performance against forecasts, and communicating critical information to customers.
[0302] The sales forecasting and reporting subsystem allows Supply Chain management to develop, maintain and communicate sales forecasts to supply chain constituents including, for example: 1) the franchisee community; 2) the distribution community; and 3) the supplier/manufacturing community. Some benefits of this activity include: 1) optimization of inventory levels throughout the supply chain; 2) improved logistics management; 3) improved production planning; and 4) improved promotion planning, including promotion marketing and execution. Further benefits include reduction in obsolete inventory cost, reduction in lost sales due to shortages, improved promotional decision making, reduction in supply chain cost through improved inventory and capacity management, and improved invoice averaging and revenue planning and reconciliation.
[0303] One aspect of the present invention provides an analytic model which enables a large and extended ecosystem, comprised of many similar but otherwise independent operating units, to quickly and inexpensively share near-real time data, with a trusted 3rd party, from a selected (and non-disclosed) sources, in a highly granular format, and then have extracted meaningful projections of future behavior for all of the other independent operating units so as to effect their purchase decisions. The combination of (a) confidential and very specific data, (b) accumulated quickly and cheaply, (c) shared to similar operating units, (d) leading to predictive supply chain decisions for the benefit of manufactures, suppliers, distributors and operators is a major benefit provided by the present invention.
[0304]
[0305] In an aspect, the results of the comparison are fed back utilizing a network-based interface. In another aspect, the results of the comparison include a percent difference between the first set of data and the second set of data. In a further aspect, the network includes the Internet. In one embodiment, the aspect of the supply chain includes sales of goods. In another embodiment, the aspect of the supply chain includes a demand of raw products required to produce the goods.
[0306] Overall Business Analysis Model
[0307] The sales forecasting and inventory management model is best described in the larger context of an integrated supply chain analysis model
[0308] As shown in
[0309] Sales Forecasting and Inventory Management Process
[0310]
[0311] In one aspect, the planning may be communicated utilizing a network-based interface. In another aspect, the network may include the Internet. In a further aspect, the promotion may be planned by coinciding a time frame of the promotion with a time frame reflected by the historical data. As a further aspect, the promotion may be planned by coinciding a start time of the promotion with a start time reflected by the historical data. In an additional aspect, the promotion may be planned by selecting an amount of ordered goods of the promotion based on an amount of ordered goods reflected by the historical data. In even another aspect, an impact of the promotion on a promotional item may be forecasted. Additionally, the impact of the promotion on a non-promotional item may also be forecasted.
[0312]
[0313] In one aspect, the network includes the Internet. In another aspect, the market trends are assessed via a network-based interface. In a further aspect, the market trends are assessed utilizing a graph. As a further aspect, the graph may include dates as one coordinate.
[0314]
[0315] In one aspect, the all of the variables (weather, competitor activity, and marketing calendar) are utilized. In another aspect, the information relating to the weather includes weather forecast. In a further aspect, the information relating to the competitor activity includes a forecast of a promotion of a competitor. In an additional aspect, the information relating to the marketing calendar includes a forecast of a promotion of the stores. In one aspect, the network includes the Internet.
[0316] As part of the data needs analysis, there are three different processes that address the issue of improving supply chain performance during promotional periods. These processes are:
[0317] Zero tolerance—meaning that there was no tolerance for either excess inventories after the promotion, nor is it appropriate to run out of product during the promotion.
[0318] While supplies last—meaning that the promotion was active until each all of the product was depleted.
[0319] Estimated Usage Report (EUR)—this is similar to the current FOR process that is used for premiums purchasing.
[0320] One objective of the sales forecasting and reporting system is to provide timely information to the supply chain allowing for: production, inventory and logistics planning; reaction to deviations from plan as quickly as possible; and/or volume estimates in support of contracting processes.
[0321] According to an illustrative embodiment of the present invention, a sales forecasting methodology is based on weekly menu item sales information. These sales forecast are all promotion centric, which is appropriate for this example, given that many businesses run promotions several weeks per year. The process begins with an analyst extracting appropriate comparative sales data based on the type of promotion. This data is formatted in a manner that allows analyst to observe the following data:
[0322] National Promotion Description
[0323] Advertising Commitment in GRPs
[0324] Premium Promotion
[0325] Premium Advertising Commitment in GRPs
[0326] Date of Promotion
[0327] Average Weekly Sales Volume during Promotion Period
[0328] Average Daily Sales of Key Menu Items During Promotion
[0329] Based on this information, the analyst makes a best guess of sales increases and cannibalization impacts. This menu item sales forecast is then translated into product requirements at the distributor and manufacturer/supplier level and communicated to the system.
[0330] A preferred sales forecasting and reporting system provides weekly forecasts for management of product volumes during promotion periods. The forecast horizon in this example is 3-6 months and can be in terms of average weekly menu item sales, with a particular focus on promotions and cannibalization.
[0331] In a food service supply chain, for example, historical menu item sales information is available by restaurant by day for geographically distributed restaurants. Exogenous variables should include: promotion type, GRP's for promotion, any other concurrent promotional activities, seasonality, competitive environment, and other factors that can be identified.
[0332]
[0333] In an aspect, the stores may include restaurants. In such an aspect, the data in the first format may include daily totals. These daily totals may reflect a price associated with the goods. As a further aspect, the data in the second format may include monthly totals. As another aspect, the data in the second format may include a grouping of the goods.
[0334] Preferably, data collection and reporting is in a format that allows for derivation of product requirements to support forecasted menu item sales (i.e. how many boxes of hamburger patties are required based on menu item sales forecast). Actual sales are tracked against forecasted sales on a daily basis and alerts are generated if the deviation is significant. Sales forecasting accuracy reports and post promotion analysis are provided. The sales forecast can be in a form that allows for gross profit analysis to be developed.
[0335] Some benefits to retailer outlets from the collection and analysis of information include feedback of comparative and operation information including sales mix trends, actual and/or standard (or ideal) product cost, actual and/or standard (or ideal) gross margin, and comparable information from participating retailers on this information. Supply chain providers benefit by having access “real-time” sales information. This drives efficiencies in two ways: 1) Management of promotional volumes and inventories, and 2) Management of on going production planning. Regarding promotional volumes and inventories, supply chain providers are permitted to react faster by having sales information up to many weeks earlier than currently available. With respect to production planning, by having “real-time” sales information, suppliers are able to maintain lower safety stocks, improving capital efficiency.
[0336] Many of the benefits from “Integrated Supply Chain Management” are derived from the ability to deliver useful information for planning and operational purposes. The coordinator of the supply chain is given the information required to further optimize and decrease supply chain costs, especially for promotion management and risk management.
[0337]
[0338] In an aspect, the total cost may be calculated by adding the first cost parameter and the second cost parameter. In another aspect, the total cost may be displayed utilizing a network-based interface. In a further aspect, the data may be received from a plurality of distributors. In such an aspect, the data may relate to goods required by a plurality of stores from the distributor. In one aspect, the network may include a wide area network. The sales and forecasting system can also provide longer-term forecasts, which supports contracting processes. The forecast horizon is variable based on contract needs, such as 1-5 years. The forecast can be in terms of retailer average weekly item sales. System level forecasts can be extrapolated from average weekly item sales forecasts. Historical item sales information is made available by retailer by day. Some exogenous variables include: store count, comparable sales changes, and changes in sales mix.
[0339] Preferably, data collection and reporting is in a format that allows for derivation of product requirements to support forecasted item sales. Forecasts and reports can be distributed via the Internet in a fixed report format or Excel spreadsheet, for example, depending on the recipient of the information.
[0340]
[0341] In an aspect, the network may include the Internet. In another aspect, the data may be checked for errors in real-time. In a further aspect, the identified errors may be logged. As an aspect, the log may be transmitted to the point of sale outlets utilizing the network. As another aspect, the log may be transmitted to a supply chain manager utilizing the network.
[0342]
[0343] In an aspect, the stores may include restaurants. In another aspect, the past promotions may then be ranked. In a further aspect, the comparison may be displayed utilizing a network-based interface. In one aspect, the time frame may include a start date and a finish date. In an additional aspect, the data may include an amount of revenue associated with the sale of the goods.
[0344] To accomplish the forecasting and reporting objectives of the present invention, some integration may be required between the supply chain coordinator and retail management.
[0345]
[0346]
[0347] Collection of Menu Item Sales
[0348] The primary element of forecasting is the communication of product movement throughout the system. Sales information can be received from suppliers and distribution centers monthly, weekly, daily, etc. Preferably, sales data from the POS by store is received daily, as it provides much more information regarding specific menu items and promotional items.
[0349] The collection and dissemination of this data allow both the supply chain coordinator and the franchisee to benefit by sharing sales information and sales forecasting. The system also benefits from improved supply chain performance. Further benefits include providing franchisees with access to new reports on sales mix, food cost and distributor performance; and providing franchisees with a better understanding of menu sales mix on margins both in everyday situations as well as promotional situations. The supply chain coordinator, suppliers and distributors have access to virtually real-time sales, allowing for improved management of inventory and improved sales forecasting. Margin management information improves the supply chain coordinator's decision making capability in the area of risk management and purchasing.
[0350]
[0351] In an aspect, the stores may include restaurants. In such an aspect, the processed product may include food. In another aspect, the first set of information may include an amount of the finished product. In a further aspect, the second set of information may include an amount of the processed product. In one aspect, the percentage may be made available utilizing a network-based interface.
[0352] Historical daily menu item sales data on a per store basis is the preferred backbone for all decision making and expanding analysis. Other causal information, variables that predict sales, can be collected and married with the menu item sales data to more accurately forecast. These variables might include weather, competitive information, marketing calendar, etc. Additional information such as menu item recipes can be used to further manipulate the data.
[0353] In a preferred embodiment, daily menu item sales data is received from restaurants on a per restaurant basis. This information is used to support the sales forecasting function and is used to report sales volumes to distributors and suppliers/manufacturers. Distributor level sales data is received on a weekly basis for all distributors, while supplier level sales data is received on a weekly basis for suppliers of “key products”.
[0354] In order to best support real time supply chain management, access to information on product flow at the point of sale is provided on a daily basis. A representative sample of daily menu item sales can be collected if collection of all the data is not desired because of cumbersomeness, communications problems, etc.
[0355]
[0356]
[0357]
[0358]
[0359] In one aspect, the numeric goods identifier may include a global trade identification number (GTIN). In another aspect, the generated data and the numeric goods identifier may be communicated utilizing a network-based interface. In a further aspect, the numeric goods identifier may actually be positioned on the goods. In such an aspect, the numeric goods identifier may be positioned on the goods in the form of a bar code. In another aspect, the generated data may be tagged by including the numeric goods identifier therewith. In yet another aspect, outlet information is communicated between the supply chain participants. Also, order information can be synchronized between supply chain providers.
[0360]
[0361] In an aspect, the sampling may be representative of a predetermined percentage of the stores, distributors, and suppliers. In another aspect, the statistics may represent sales of the stores. In a further aspect, the statistics may represent goods ordered by the stores. In an additional aspect, the statistics may represent a timeliness of delivery of the ordered goods by the distributors. In one aspect, the statistics may represent an inventory of the suppliers.
[0362] Distributor
[0363]
[0364]
[0365]
[0366] Supplier
[0367]
[0368]
[0369]
[0370] Cost
[0371]
[0372] Promotions
[0373]
[0374] In an aspect, each location may include a store. In another aspect, the calculating may include parsing the data based on location information and the promotion item, and dividing the data by the duration information. In a further aspect, the promotion items may include utensils. In yet another aspect, the promotion items may include food. In one aspect, the projected daily usage may be outputted via a network-based interface. In even another aspect, a projected daily usage of finished goods may also be calculated for the plurality of locations based on the data. Next, the projections may be translated into a forecast of processed products required for the plurality of locations as well as into a forecast of delivery and storage parameters.
[0375] Confirmations
[0376]
[0377] In one aspect, the confirmation is received utilizing the network. In such an aspect, the network may include the Internet. In another aspect, the alert is transmitted to the stores utilizing the network. As an aspect, the alert may be displayed on the network-based interface. As a further aspect, the alert may include an electronic mail message.
[0378] The Supply Chain management system of the present invention creates, from its members, a web community with like interests. As a result, a number of different types of vendors may be interested in connecting to the site due to the captive audience comprising the web community, and because the community is a highly targeted audience with similar business goals/interests.
[0379] One area of revenue generation is collection of fees for advertising. Fees can be charged for such things as co-branding, local service and product providers, national providers of optional items/services, distributor specials, utilities, etc.
[0380] Revenue can also be generated by charging a fee to participants who buy and sell though the site, such as bakeries, soft drink vendors, coffee vendors, equipment vendors, consumers, restaurants, etc.
[0381] Sales and services can also be a source of revenue. Potential sources can be utilities, office products, computers, and equipment. Providing an auction service can also create revenue.
[0382] A preferred embodiment of the present invention utilizes one or more of the following revenue models: investment in web site, charge per unit sold through site, exposures or click through, or a combination of these.
[0383] Following are several processes for generating revenue.
[0384]
[0385] In an aspect, the network includes the Internet. In another aspect, the supply chain participant may be a supplier, a distributor, and/or a store. In such an aspect, the advertising advertises the sale of products required for the production of the goods produced by the stores. As another aspect, the advertising may be conducted by at least one of the supply chain participants. In an additional aspect, a charge may be required for the advertising.
[0386]
[0387] In an aspect, the network includes the Internet. In another aspect, the supply chain participant may be a supplier, a distributor, and/or a store. In such an aspect, the advertising may advertise the sale of products required for the production of the goods produced by the stores. As another aspect, the advertising may be conducted by one of the supply chain participants. In one aspect, charge is required for the advertising.
[0388]
[0389] In one aspect, the network includes the Internet. In another aspect, the user may be a supplier, a distributor, and/or a store. In such an aspect, the products may be required for the production of the goods produced by the stores. In such an aspect, the advertising may be conducted by at least one of the users.
[0390]
[0391] In an aspect, the network includes the Internet. In one aspect, the users include suppliers, distributors, and/or stores. In another aspect, advertising is displayed on the network-based interface which advertises the sale of products required for the production of the goods produced by the store. As an aspect, the advertising may be conducted by at least one of the users. As another aspect, a charge is required for the advertising.
[0392]
[0393] In one aspect, the network includes the Internet. In another aspect, the users may be a supplier, a distributor, and/or a store. In a further aspect, advertising is displayed on the network-based interface which advertises the sale of products required for the production of the goods produced by the store. In such an aspect, the advertising may be conducted by at least one of the users. As another aspect, a charge may be required for the advertising.
[0394]
[0395] In one aspect, the supply chain manager is granted authority to negotiate purchase agreements for the at least one supply chain commodity on behalf of all buying supply chain participants. The commodity can be a raw material, a partially finished good, and/or a finished good. In a further aspect, the at least one purchase agreement establishes a contract price depending upon an actual market price for the commodity in circumstances where no determination of the effective price of the commodity has been made. In one aspect, an actual market price of the commodity is kept secret from the at least one buying supply chain participant. In another aspect, an identity of the at least one buying supply chain participant is kept secret from a supplier of the commodity.
[0396] One benefit of this embodiment of the present invention is that the supply chain manager may have greater information about market demand for various raw material commodities than a distributor, and may wish to benefit from the availability of this information. By fixing an “effective raw material price,” the supplier is free to either take the required position (at no cost, since the contract price will be based upon the effective price), or take a contrary view, with the associated risk and benefit.
[0397] An additional benefit of this system is that the supply chain manager may exploit raw material information without: (1) disclosing confidential information beyond the fixed price analysis; and (2) needing to include raw material suppliers immediately into the integrated supply chain models.
[0398]
[0399] By controlling the invoice price, the distributor does not know the contract price of the supplier. Another advantage provided is that the supply chain manager can direct supplier to buy raw materials at a particular price based on supply and demand information gathered by the supply chain management system.
[0400] In one aspect of the present invention, the invoice price is collected from the buying supply chain participant(s). Preferably, the billing and collecting are performed at the direction of the supply chain manager. In another aspect, an overpayment to a selling supply chain participant for a commodity is reconciled by paying the difference between the corresponding contract price and the corresponding invoice price to the supply chain manager. In a further aspect, an underpayment to a selling supply chain participant for a commodity is reconciled by paying the difference between the corresponding invoice price and the corresponding contract price to the selling supply chain participant.
[0401]
[0402] In one aspect of the present invention, commodity position prices can be established based on information including information derived from receiving data from a plurality of supply chain participants of a supply chain utilizing a network, the data relating to the sale of products by the supply chain participants.
[0403] In one aspect, the supply chain manager is granted authority to negotiate supply agreements for the at least one good on behalf of all buying supply chain participants. In another aspect, an actual market price of the at least one good is kept secret from the at least one buying supply chain participant. In a further aspect, an identity of the at least one buying supply chain participant is kept secret from a supplier of the at least one good. In yet another aspect, each supply agreement is between the supply chain manager on behalf of the at least one buying supply chain participant and a selling supply chain participant. In even a further aspect, the good may be an at least partially finished good. In an additional aspect, the determining may include the analyzing of data collected from a plurality of supply chain participants relating to the sale of goods.
[0404]
[0405] A representative hardware environment associated with the various components of
[0406] The workstation shown in
[0407] An embodiment of the present invention may be written using traditional methodologies and programming languages, such as C, Pascal, BASIC or Fortran, or may be written using object oriented methodologies and object-oriented programming languages, such as Java, C++, C#, Python or Smalltalk. Object oriented programming (OOP) has become increasingly used to develop complex applications. As OOP moves toward the mainstream of software design and development, various software solutions require adaptation to make use of the benefits of OOP. A need exists for these principles of OOP to be applied to a messaging interface of an electronic messaging system such that a set of OOP classes and objects for the messaging interface can be provided.
[0408] OOP is a process of developing computer software using objects, including the steps of analyzing the problem, designing the system, and constructing the program. An object is a software package that contains both data and a collection of related structures and procedures. Since it contains both data and a collection of structures and procedures, it can be visualized as a self-sufficient component that does not require other additional structures, procedures or data to perform its specific task. OOP, therefore, views a computer program as a collection of largely autonomous components, called objects, each of which is responsible for a specific task. This concept of packaging data, structures, and procedures together in one component or module is called encapsulation.
[0409] In general, OOP components are reusable software modules which present an interface that conforms to an object model and which are accessed at run-time through a component integration architecture. A component integration architecture is a set of architecture mechanisms which allow software modules in different process spaces to utilize each others capabilities or functions. This is generally done by assuming a common component object model on which to build the architecture. It is worthwhile to differentiate between an object and a class of objects at this point. An object is a single instance of the class of objects, which is often just called a class. A class of objects can be viewed as a blueprint, from which many objects can be formed.
[0410] OOP allows the programmer to create an object that is a part of another object. For example, the object representing a piston engine is said to have a composition-relationship with the object representing a piston. In reality, a piston engine comprises a piston, valves and many other components; the fact that a piston is an element of a piston engine can be logically and semantically represented in OOP by two objects.
[0411] OOP also allows creation of an object that “depends from” another object. If there are two objects, one representing a piston engine and the other representing a piston engine wherein the piston is made of ceramic, then the relationship between the two objects is not that of composition. A ceramic piston engine does not make up a piston engine. Rather it is merely one kind of piston engine that has one more limitation than the piston engine; its piston is made of ceramic. In this case, the object representing the ceramic piston engine is called a derived object, and it inherits all of the aspects of the object representing the piston engine and adds further limitation or detail to it. The object representing the ceramic piston engine “depends from” the object representing the piston engine. The relationship between these objects is called inheritance.
[0412] When the object or class representing the ceramic piston engine inherits all of the aspects of the objects representing the piston engine, it inherits the thermal characteristics of a standard piston defined in the piston engine class. However, the ceramic piston engine object overrides these ceramic specific thermal characteristics, which are typically different from those associated with a metal piston. It skips over the original and uses new functions related to ceramic pistons. Different kinds of piston engines have different characteristics, but may have the same underlying functions associated with it (e.g., how many pistons in the engine, ignition sequences, lubrication, etc.). To access each of these functions in any piston engine object, a programmer would call the same functions with the same names, but each type of piston engine may have different/overriding implementations of functions behind the same name. This ability to hide different implementations of a function behind the same name is called polymorphism and it greatly simplifies communication among objects.
[0413] With the concepts of composition-relationship, encapsulation, inheritance and polymorphism, an object can represent just about anything in the real world. In fact, one's logical perception of the reality is the only limit on determining the kinds of things that can become objects in object-oriented software. Some typical categories are as follows:
[0414] Objects can represent physical objects, such as automobiles in a traffic-flow simulation, electrical components in a circuit-design program, countries in an economics model, or aircraft in an air-traffic-control system.
[0415] Objects can represent elements of the computer-user environment such as windows, menus or graphics objects.
[0416] An object can represent an inventory, such as a personnel file or a table of the latitudes and longitudes of cities.
[0417] An object can represent user-defined data types such as time, angles, and complex numbers, or points on the plane.
[0418] With this enormous capability of an object to represent just about any logically separable matters, OOP allows the software developer to design and implement a computer program that is a model of some aspects of reality, whether that reality is a physical entity, a process, a system, or a composition of matter. Since the object can represent anything, the software developer can create an object which can be used as a component in a larger software project in the future.
[0419] If 90% of a new OOP software program consists of proven, existing components made from preexisting reusable objects, then only the remaining 10% of the new software project has to be written and tested from scratch. Since 90% already came from an inventory of extensively tested reusable objects, the potential domain from which an error could originate is 10% of the program. As a result, OOP enables software developers to build objects out of other, previously built objects.
[0420] This process closely resembles complex machinery being built out of assemblies and sub-assemblies. OOP technology, therefore, makes software engineering more like hardware engineering in that software is built from existing components, which are available to the developer as objects. All this adds up to an improved quality of the software as well as an increased speed of its development.
[0421] Programming languages are beginning to fully support the OOP principles, such as encapsulation, inheritance, polymorphism, and composition-relationship. With the advent of the C++ language, many commercial software developers have embraced OOP. C++ is an OOP language that offers a fast, machine-executable code. Furthermore, C++ is suitable for both commercial-application and systems-programming projects. For now, C++ appears to be the most popular choice among many OOP programmers, but there is a host of other OOP languages, such as Smalltalk, Common Lisp Object System (CLOS), and Eiffel. Additionally, OOP capabilities are being added to more traditional popular computer programming languages such as Pascal.
[0422] The benefits of object classes can be summarized, as follows:
[0423] Objects and their corresponding classes break down complex programming problems into many smaller, simpler problems.
[0424] Encapsulation enforces data abstraction through the organization of data into small, independent objects that can communicate with each other. Encapsulation protects the data in an object from accidental damage, but allows other objects to interact with that data by calling the object's member functions and structures.
[0425] Subclassing and inheritance make it possible to extend and modify objects through deriving new kinds of objects from the standard classes available in the system. Thus, new capabilities are created without having to start from scratch.
[0426] Polymorphism and multiple inheritance make it possible for different programmers to mix and match characteristics of many different classes and create specialized objects that can still work with related objects in predictable ways.
[0427] Class hierarchies and containment hierarchies provide a flexible mechanism for modeling real-world objects and the relationships among them.
[0428] Libraries of reusable classes are useful in many situations, but they also have some limitations. For example:
[0429] Complexity. In a complex system, the class hierarchies for related classes can become extremely confusing, with many dozens or even hundreds of classes.
[0430] Flow of control. A program written with the aid of class libraries is still responsible for the flow of control (i.e., it must control the interactions among all the objects created from a particular library). The programmer has to decide which functions to call at what times for which kinds of objects.
[0431] Duplication of effort. Although class libraries allow programmers to use and reuse many small pieces of code, each programmer puts those pieces together in a different way. Two different programmers can use the same set of class libraries to write two programs that do exactly the same thing but whose internal structure (i.e., design) may be quite different, depending on hundreds of small decisions each programmer makes along the way. Inevitably, similar pieces of code end up doing similar things in slightly different ways and do not work as well together as they should.
[0432] Class libraries are very flexible. As programs grow more complex, more programmers are forced to reinvent basic solutions to basic problems over and over again. A relatively new extension of the class library concept is to have a framework of class libraries. This framework is more complex and consists of significant collections of collaborating classes that capture both the small scale patterns and major mechanisms that implement the common requirements and design in a specific application domain. They were first developed to free application programmers from the chores involved in displaying menus, windows, dialog boxes, and other standard user interface elements for personal computers.
[0433] Frameworks also represent a change in the way programmers think about the interaction between the code they write and code written by others. In the early days of procedural programming, the programmer called libraries provided by the operating system to perform certain tasks, but basically the program executed down the page from start to finish, and the programmer was solely responsible for the flow of control. This was appropriate for printing out paychecks, calculating a mathematical table, or solving other problems with a program that executed in just one way.
[0434] The development of graphical user interfaces began to turn this procedural programming arrangement inside out. These interfaces allow the user, rather than program logic, to drive the program and decide when certain actions should be performed. Today, most personal computer software accomplishes this by means of an event loop which monitors the mouse, keyboard, and other sources of external events and calls the appropriate parts of the programmer's code according to actions that the user performs. The programmer no longer determines the order in which events occur. Instead, a program is divided into separate pieces that are called at unpredictable times and in an unpredictable order. By relinquishing control in this way to users, the developer creates a program that is much easier to use. Nevertheless, individual pieces of the program written by the developer still call libraries provided by the operating system to accomplish certain tasks, and the programmer must still determine the flow of control within each piece after it's called by the event loop. Application code still “sits on top of” the system.
[0435] Even event loop programs require programmers to write a lot of code that should not need to be written separately for every application. The concept of an application framework carries the event loop concept further. Instead of dealing with all the nuts and bolts of constructing basic menus, windows, and dialog boxes and then making these things all work together, programmers using application frameworks start with working application code and basic user interface elements in place. Subsequently, they build from there by replacing some of the generic capabilities of the framework with the specific capabilities of the intended application.
[0436] Application frameworks reduce the total amount of code that a programmer has to write from scratch. However, because the framework is really a generic application that displays windows, supports copy and paste, and so on, the programmer can also relinquish control to a greater degree than event loop programs permit. The framework code takes care of almost all event handling and flow of control, and the programmer's code is called only when the framework needs it (e.g., to create or manipulate a proprietary data structure).
[0437] A programmer writing a framework program not only relinquishes control to the user (as is also true for event loop programs), but also relinquishes the detailed flow of control within the program to the framework. This approach allows the creation of more complex systems that work together in interesting ways, as opposed to isolated programs, having custom code, being created over and over again for similar problems.
[0438] Thus, as is explained above, a framework basically is a collection of cooperating classes that make up a reusable design solution for a given problem domain. It typically includes objects that provide default behavior (e.g., for menus and windows), and programmers use it by inheriting some of that default behavior and overriding other behavior so that the framework calls application code at the appropriate times.
[0439] There are three main differences between frameworks and class libraries:
[0440] Behavior versus protocol. Class libraries are essentially collections of behaviors that can be called when those individual behaviors are desired in the program. A framework, on the other hand, provides not only behavior but also the protocol or set of rules that govern the ways in which behaviors can be combined, including rules for what a programmer is supposed to provide versus what the framework provides.
[0441] Call versus override. With a class library, the code the programmer instantiates objects and calls their member functions. It's possible to instantiate and call objects in the same way with a framework (i.e., to treat the framework as a class library), but to take full advantage of a framework's reusable design, a programmer typically writes code that overrides and is called by the framework. The framework manages the flow of control among its objects. Writing a program involves dividing responsibilities among the various pieces of software that are called by the framework rather than specifying how the different pieces should work together.
[0442] Implementation versus design. With class libraries, programmers reuse only implementations, whereas with frameworks, they reuse design. A framework embodies the way a family of related programs or pieces of software work. It represents a generic design solution that can be adapted to a variety of specific problems in a given domain. For example, a single framework can embody the way a user interface works, even though two different user interfaces created with the same framework might solve quite different interface problems.
[0443] Thus, through the development of frameworks for solutions to various problems and programming tasks, significant reductions in the design and development effort for software can be achieved. A preferred embodiment of the invention utilizes HyperText Markup Language (HTML) to implement documents on the Internet together with a general-purpose secure communication protocol for a transport medium between the client and the server. Information on these products is available in T. Berners-Lee, D. Connoly, “RFC 1866: Hypertext Markup Language—2.0” (Nov. 1995); and R. Fielding, H, Frystyk, T. Berners-Lee, J. Gettys and J. C. Mogul, “Hypertext Transfer Protocol——HTTP/1.1: HTTP Working Group Internet Draft” (May 2, 1996). HTML is a simple data format used to create hypertext documents that are portable from one platform to another. SGML documents are documents with generic semantics that are appropriate for representing information from a wide range of domains and are HTML compatible. HTML has been in use by the World-Wide Web global information initiative since 1990. HTML is an application of ISO Standard 8879; 1986 Information Processing Text and Office Systems; Standard Generalized Markup Language (SGML).
[0444] XML (Extensible Markup Language) is a flexible way to create common information formats and share both the format and the data on the World Wide Web, intranets, and elsewhere. For example, computer makers might agree on a standard or common way to describe the information about a computer product (processor speed, memory size, and so forth) and then describe the product information format with XML. Such a standard way of describing data would enable a user to send an intelligent agent (a program) to each computer maker's Web site, gather data, and then make a valid comparison. XML can be used by any individual or group of individuals or companies that wants to share information in a consistent way.
[0445] XML, a formal recommendation from the World Wide Web Consortium (W3C), is similar to the language of today's Web pages, the Hypertext Markup Language (HTML). Both XML and HTML contain markup symbols to describe the contents of a page or file. HTML, however, describes the content of a Web page (mainly text and graphic images) only in terms of how it is to be displayed and interacted with. For example, the letter “p” placed within markup tags starts a new paragraph. XML describes the content in terms of what data is being described. For example, the word “phonenum” placed within markup tags could indicate that the data that followed was a phone number. This means that an XML file can be processed purely as data by a program or it can be stored with similar data on another computer or, like an HTML file, that it can be displayed. For example, depending on how the application in the receiving computer wanted to handle the phone number, it could be stored, displayed, or dialed. XML is “extensible” because, unlike HTML, the markup symbols are unlimited and self-defining. XML is actually a simpler and easier-to-use subset of the Standard Generalized Markup Language (SGML), the standard for how to create a document structure. It is expected that HTML and XML will be used together in many Web applications. XML markup, for example, may appear within an HTML page.
[0446] To date, Web development tools have been limited in their ability to create dynamic Web applications which span from client to server and interoperate with existing computing resources. Until recently, HTML has been the dominant technology used in development of Web-based solutions. However, HTML has proven to be inadequate in the following areas:
[0447] Poor performance;
[0448] Restricted user interface capabilities;
[0449] Can only produce static Web pages;
[0450] Lack of interoperability with existing applications and data; and
[0451] Inability to scale.
[0452] Sun Microsystems's Java language solves many of the client-side problems by:
[0453] Improving performance on the client side;
[0454] Enabling the creation of dynamic, real-time Web applications; and
[0455] Providing the ability to create a wide variety of user interface components.
[0456] With Java, developers can create robust User Interface (UI) components. Custom “widgets” (e.g., real-time stock tickers, animated icons, etc.) can be created, and client-side performance is improved. Unlike HTML, Java supports the notion of client-side validation, offloading appropriate processing onto the client for improved performance. Dynamic, real-time Web pages can be created. Using the above-mentioned custom UI components, dynamic Web pages can also be created.
[0457] Sun's Java language has emerged as an industry-recognized language for “programming the Internet.” Sun defines Java as: “a simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithreaded, dynamic, buzzword-compliant, general-purpose programming language. Java supports programming for the Internet in the form of platform-independent Java applets.” Java applets are small, specialized applications that comply with Sun's Java Application Programming Interface (API) allowing developers to add “interactive content” to Web documents (e.g., simple animations, page adornments, basic games, etc.). Applets execute within a Java-compatible browser (e.g., Netscape Navigator) by copying code from the server to client. From a language standpoint, Java's core feature set is based on C++. Sun's Java literature states that Java is basically, “C++ with extensions from Objective C for more dynamic method resolution.”
[0458] Another technology that provides similar function to Java is provided by Microsoft and ActiveX Technologies, to give developers and Web designers wherewithal to build dynamic content for the Internet and personal computers. ActiveX includes tools for developing animation, 3-D virtual reality, video and other multimedia content. The tools use Internet standards, work on multiple platforms, and are being supported by over 100 companies. The group's building blocks are called ActiveX Controls, small, fast components that enable developers to embed parts of software in hypertext markup language (HTML) pages. ActiveX Controls work with a variety of programming languages including Microsoft Visual C++, Borland Delphi, Microsoft Visual Basic programming system and, in the future, Microsoft's development tool for Java, code named “Jakarta.” ActiveX Technologies also includes ActiveX Server Framework, allowing developers to create server applications. One of ordinary skill in the art readily recognizes that ActiveX could be substituted for Java without undue experimentation to practice the invention.
[0459] Transmission Control Protocol/Internet Protocol (TCP/IP) is a basic communication language or protocol of the Internet. It can also be used as a communications protocol in the private networks called intranet and in extranet. When one is set up with direct access to the Internet, his or her computer is provided with a copy of the TCP/IP program just as every other computer that he or she may send messages to or get information from also has a copy of TCP/IP.
[0460] TCP/IP comprises a Transmission Control Protocol (TCP) layer and an Internet Protocol (IP) layer. TCP manages the assembling of series of packets from a message or file for transmission of packets over the internet from a source host to a destination host. IP handles the addressing of packets to provide for the delivery of each packet from the source host to the destination host. Host computers on a network, receive packets analyze the addressing of the packet If the host computer is not the destination the host attempts to route the packet by forwarding it to another host that is closer in some sense to the packet's destination. While some packets may be routed differently through a series of interim host computers than others, TCP and IP provides for the packets to be correctly reassembled at the ultimate destination.
[0461] TCP/IP uses a client/server model of communication in which a computer user (a client) requests and is provided a service (such as sending a Web page) by another computer (a server) in the network. TCP/IP communication is primarily point-to-point, meaning each communication is from one point (or host computer) in the network to another point or host computer. TCP/IP and the higher-level applications that use it are collectively said to be “stateless” because each client request is considered a new request unrelated to any previous one (unlike ordinary phone conversations that require a dedicated connection for the call duration). Being stateless frees network paths so that everyone can use them continuously (note that the TCP layer itself is not stateless as far as any one message is concerned. Its connection remains in place until all packets in a message have been received.).
[0462] Many Internet users are familiar with the even higher layer application protocols that use TCP/IP to get to the Internet. These include the World Wide Web's Hypertext Transfer Protocol (HTTP), the File Transfer Protocol (FTP), Telnet which lets one logon to remote computers, and the Simple Mail Transfer Protocol (SMTP). These and other protocols are often packaged together with TCP/IP as a “suite.”
[0463] Personal computer users usually get to the Internet through the Serial Line Internet Protocol (SLIP) or the Point-to-Point Protocol. These protocols encapsulate the IP packets so that they can be sent over a dial-up phone connection to an access provider's modem.
[0464] Protocols related to TCP/IP include the User Datagram Protocol (UDP), which is used instead of TCP for special purposes. Other protocols are used by network host computers for exchanging router information. These include the Internet Control Message Protocol (ICMP), the Interior Gateway Protocol (IGP), the Exterior Gateway Protocol (EGP), and the Border Gateway Protocol (BGP).
[0465] Internetwork Packet Exchange (IPX)is a networking protocol from Novell that interconnects networks that use Novell's NetWare clients and servers. IPX is a datagram or packet protocol. IPX works at the network layer of communication protocols and is connectionless (that is, it doesn't require that a connection be maintained during an exchange of packets as, for example, a regular voice phone call does).
[0466] Packet acknowledgment is managed by another Novell protocol, the Sequenced Packet Exchange (SPX). Other related Novell NetWare protocols are: the Routing Information Protocol (RIP), the Service Advertising Protocol (SAP), and the NetWare Link Services Protocol (NLSP).
[0467] A virtual private network (VPN) is a private data network that makes use of the public telecommunication infrastructure, maintaining privacy through the use of a tunneling protocol and security procedures. A virtual private network can be contrasted with a system of owned or leased lines that can only be used by one company. The idea of the VPN is to give the company the same capabilities at much lower cost by using the shared public infrastructure rather than a private one. Phone companies have provided secure shared resources for voice messages. A virtual private network makes it possible to have the same secure sharing of public resources for data.
[0468] Using a virtual private network involves encryption data before sending it through the public network and decrypting it at the receiving end. An additional level of security involves encrypting not only the data but also the originating and receiving network addresses. Microsoft, 3Com, and several other companies have developed the Point-to-Point Tunneling Protocol (PPTP) and Microsoft has extended Windows NT to support it. VPN software is typically installed as part of a company's firewall server.
[0469] Wireless refers to a communications, monitoring, or control system in which electromagnetic radiation spectrum or acoustic waves carry a signal through atmospheric space rather than along a wire. In most wireless systems, radio frequency (RF) or infrared transmission (IR) waves are used. Some monitoring devices, such as intrusion alarms, employ acoustic waves at frequencies above the range of human hearing.
[0470] Early experimenters in electromagnetic physics dreamed of building a so-called wireless telegraph. The first wireless telegraph transmitters went on the air in the early years of the 20th century. Later, as amplitude modulation (AM) made it possible to transmit voices and music via wireless, the medium came to be called radio. With the advent of television, fax, data communication, and the effective use of a larger portion of the electromagnetic spectrum, the original term has been brought to life again.
[0471] Common examples of wireless equipment in use today include the Global Positioning System, cellular telephone phones and pagers, cordless computer accessories (for example, the cordless mouse), home-entertainment-system control boxes, remote garage-door openers, two-way radios, and baby monitors. An increasing number of companies and organizations are using wireless LAN. Wireless transceivers are available for connection to portable and notebook computers, allowing Internet access in selected cities without the need to locate a telephone jack. Eventually, it will be possible to link any computer to the Internet via satellites no matter where in the world the computer might be located.
[0472] Bluetooth is a computing and telecommunications industry specification that describes how mobile phones, computers, and personal digital assistants (PDA's) can easily interconnect with each other and with home and business phones and computers using a short-range wireless connection. Each device is equipped with a microchip transceiver that transmits and receives in a previously unused frequency band of 2.45 GHz that is available globally (with some variation of bandwidth in different countries). In addition to data, up to three voice channels are available. Each device has a unique 48-bit address from the IEEE 802 standard. Connections can be point-to-point or multipoint. The maximum range is 10 meters. Data can be presently be exchanged at a rate of 1 megabit per second (up to 2 Mbps in the second generation of the technology). A frequency hop scheme allows devices to communicate even in areas with a great deal of electromagnetic interference. Built-in encryption and verification is provided.
[0473] Encryption is the conversion of data into a form, called a ciphertext, that cannot be easily understood by unauthorized people. Decryption is the process of converting encrypted data back into its original form, so it can be understood.
[0474] The use of encryption/decryption is as old as the art of communication. In wartime, a cipher, often incorrectly called a “code,” can be employed to keep the enemy from obtaining the contents of transmissions (technically, a code is a means of representing a signal without the intent of keeping it secret; examples are Morse code and ASCII). Simple ciphers include the substitution of letters for numbers, the rotation of letters in the alphabet, and the “scrambling” of voice signals by inverting the sideband frequencies. More complex ciphers work according to sophisticated computer algorithm that rearrange the data bits in digital signals.
[0475] In order to easily recover the contents of an encrypted signal, the correct decryption key is required. The key is an algorithm that “undoes” the work of the encryption algorithm. Alternatively, a computer can be used in an attempt to “break” the cipher. The more complex the encryption algorithm, the more difficult it becomes to eavesdrop on the communications without access to the key.
[0476] Rivest-Shamir-Adleman (RSA) is an Internet encryption and authentication system that uses an algorithm developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman. The RSA algorithm is a commonly used encryption and authentication algorithm and is included as part of the Web browser from Netscape and Microsoft. It's also part of Lotus Notes, Intuit's Quicken, and many other products. The encryption system is owned by RSA Security.
[0477] The RSA algorithm involves multiplying two large prime numbers (a prime number is a number divisible only by that number and 1) and through additional operations deriving a set of two numbers that constitutes the public key and another set that is the private key. Once the keys have been developed, the original prime numbers are no longer important and can be discarded. Both the public and the private keys are needed for encryption/decryption but only the owner of a private key ever needs to know it. Using the RSA system, the private key never needs to be sent across the Internet.
[0478] The private key is used to decrypt text that has been encrypted with the public key. Thus, if User A sends User B a message, User A can find out User B's public key (but not User B's private key) from a central administrator and encrypt a message to User B using User B's public key. When User B receives it, User B decrypts it with User B's private key. In addition to encrypting messages (which ensures privacy), User B can authenticate himself to User A (so User A knows that it is really User B who sent the message) by using User B's private key to encrypt a digital certificate. When User A receives it, User A can use User B's public key to decrypt it.
[0479] Communication
[0480] Data collection and dissemination is preferably accomplished over a network such as the Internet.
[0481]
[0482] In an aspect, the network includes the Internet. In another aspect, the stores, the distributors, the suppliers, the supply chain manager, and the office of the supply chain manager communicate utilizing a network-based interface. In a further aspect, the gross purchase data includes monthly gross purchase data. In one aspect, the supply chain manager manages the distributors.
[0483]
[0484] In one aspect, the network includes the Internet. In another aspect, the stores, the distributors, the suppliers, the supply chain manager, and the office of the supply chain manager communicate utilizing a network-based interface. In a further aspect, the gross purchase data includes monthly gross purchase data. In an additional aspect, the supply chain manager manages the distributors.
[0485] EMail Capability
[0486] An E-mail system can be used to report information if external mail capabilities that support the Internet are present. Any existing Internet account can be used, as can one from a value added service provider (e.g. America On-line, Compuserv, Microsoft Network, etc.). If there are no existing E-Mail capabilities, an account can be established with an Internet Service Provider.
[0487] SMTP (Simple Mail Transfer Protocol) is a TCP/IP protocol used in sending and receiving e-mail. However, since it's limited in its ability to queue messages at the receiving end, it's usually used with one of two other protocols, POP3 or Internet Message Access Protocol, that let the user save messages in a server mailbox and download them periodically from the server. In other words, users typically use a program that uses SMTP for sending e-mail and either POP3 or MAP for receiving messages that have been received for them at their local server. Most mail programs such as Eudora let you specify both an SMTP server and a POP server. On UNIX-based systems, sendmail is the most widely-used SMTP server for e-mail. A commercial package, Sendmail, includes a POP3 server and also comes in a version for Windows NT.
[0488] The next step is testing E-mail connectivity by sending a message to Supply Chain management's Test Mailbox. A response is made (via other communications means) in the event the E-mail transmission is not received. A reply to the message via E-mail is made once successfully received. As an option, a file attachment (any text-ASCII file) can be included to verify the ability to send messages with separate file attachments.
[0489] After receiving confirmation concerning a successful Test Message, an actual data file (created from the Franchisee Information Layout section, below) is sent to the TEST Mailbox. After receiving confirmation concerning successful processing of the Test data, a notification is sent to begin Production reporting according to the reporting period specified in the Franchisee Information Layout section.
[0490] Franchisee Information Layout
[0491] Table 1 sets forth Illustrative daily POS data elements
TABLE 1 Fld # Data Element Name Type Size Column(s) Example Req 00 Record Type ID 3 001-003 FR1 M 01 Item Number ID 10 004-013 12645 M 02 Item Description AN 20 014-033 burger M patty 03 Period Date DT 8 034-041 19990601 M 04 Retail Outlet ID 4 042-045 0107 M Number 05 Total Sales $ N2 6 046-051 3264.50 M 06 Total Quantity NO 5 052-056 1034 M
[0492] Example: This example should be one line. Field justification is irrelevant.
1 2 3 4 5 12345678901234567890123456789012345678901234567890123456
FR112645 whopper patty 1999060101073264501034
[0493] General Implementation Information
[0494] The following information is a guideline for the requested data files.
[0495] Record Type:
[0496] All records that are similar are considered a logical group of data. Each record in a group has a unique identifier called a Record Type consisting of three alphanumeric characters. This should be placed before the first field of each record (see the Example above in the Franchisee Information Layout section), and repeated on each row.
[0497] Field:
[0498] A Field can represent a qualifier, a value, or text (such as a description). A Field can be thought of as a piece of data.
[0499] Record:
[0500] Each row of data is a Record. To allow for future expansion, Records can be padded to any length.
[0501] Field Number:
[0502] Based upon the sequential position assignment of a Field in the Record, each Field assumes a unique or numeric location for each Record. The value of the FLD# column represents the position within the Record where the individual Field appears (i.e., FLD#
[0503] Fields:
[0504] Fields can be either left or right justified. The Record Type should always precede the first field. All Fields should completely fill their column sizes (pad with spaces).
[0505] Field Types:
AN Alpha/Numeric—Should not be enclosed in quotes (e.g. FXD- 4543). Nn Numeric with n decimal places—Symbolized by the two-position representation Nn. N indicates a numeric, and n indicates the decimal places to the right of a fixed decimal point. This should not contain dollar signs or commas, but may contain decimal points (e.g. N2 for $4,255.50 is 4255.50; N0 for $4,255.50 is 4256). This should be rounded to the respective decimal place (e.g. N2 for $4,255.506 is 4255.51). For negative values, a leading minus sign (−) is used (e.g. N2 for $−12.42 is −12.42). Left- padding with zeroes is optional (e.g. 4532 could be either 4532 or 004532). ID Identifier Value—May contain alpha/numeric data restricted to a list of possible values. DT Date Value—Format for the date type is CCYYMMDD, where CC indicates century, YY is the last two digits of the year (00-99), MM is the numeric value of the month (01-12), and DD is the numeric value of the day (01-31). TM Time Value—Format for the time type is HHMMSS. HH is the numeric expression of the hour (00-23), MM is the numeric expression of the minute (00-59), SS is the numeric expression of the second (00-59), and d..d is the numeric expression of the decimal seconds. This fields may be relevant for EDI formats.
[0506] Size:
[0507] The minus sign and the decimal point are counted when determining the length of the data element (Field) value.
[0508] Column(s):
[0509] Specifies the column numbers allocated to a particular Field.
[0510] Requirement (Req):
[0511] M—Mandatory This field must be present
[0512] C—Conditional This field is present based on a condition
[0513] O—Optional This field may become Mandatory or
[0514] R—Reserved Reserved for future use
[0515] File Format.
[0516] All files can be requested in a fixed-length ASCII format. Programmatically, these are simple to produce. Many PC applications include an export utility which allows specification of column widths and formats. When using spreadsheet applications, column widths and formats may have to be pre-set to produce the desired results. Empty Fields can be filled with spaces.
[0517] Compression.
[0518] Files can be compressed. Compressing files will typically reduce file sizes to some 20% of their initial size. Preferably, the system supports the use of ZIP files created from a PC. Before transmission, all files would be compressed into one ZIP file using PKZIP, a file compression package available from most software sources.
[0519]
[0520] In an aspect, all of the interfaces may be written in hypertext mark-up language. In another aspect, the information may identify the distributors and the suppliers. In an additional aspect, the link may include a hyperlink. In a further aspect, the linking may require the entry of an identification code.
[0521] In an embodiment of the present invention, a supply chain coordinator web site may be provided to allow users easy access to specific information that relates to their role in the restaurant management system.
[0522] In one embodiment, users may be registered with the supply chain management system. Upon registration, the user may then be able to access and partake some or all of the features of the supply chain management system. The users can be registered based on information regarding pre-existing relationships, based on new information, etc. Actual registration may be accomplished manually, via telephone, or online for example. Some illustrative registration information that can be collected may include, for example:
[0523] Identification of the user
[0524] User contact information
[0525] User function
[0526] Goods/Service Provider
[0527] Client/Customer
[0528] Billing/Payment Status
[0529] The users may be assigned to specific user groups based on their function. Some exemplary user groups include:
[0530] Retail Outlet Members (e.g., Franchisees, Stores, etc.)
[0531] Suppliers
[0532] Distributors
[0533] Retail Outlet Managers
[0534] Retail Outlet Management Corporation
[0535] Supply Chain Coordinator
[0536] In addition, users may be linked to the specific retailers, distribution centers and Areas of Direct Influence (ADI's) with which they are involved.
[0537]
[0538] Convenient links to other web sites (e.g., a retail management corporation web site such as, for example, the Burger King Corporation web site, or the National Franchise Association web site) may be included on the supply chain coordinator start page.
[0539] In a preferred embodiment, to access the appropriate home page for a specific user group, the user may enter the designated user name
[0540]
[0541] Local Promotions
[0542] Franchisee
[0543] Reports
[0544] Personal Info
[0545] Legal
[0546]
[0547] In an aspect, the parameters relate to a forecasted amount of the required goods. In another aspect, the network includes the Internet. In a further aspect, the information is displayed utilizing a network-based interface. In one aspect, the stores include restaurants.
[0548]
[0549] In an aspect, the parameters relate to a forecasted amount of the required goods to be delivered to the stores. In another aspect, the network includes the Internet. In a further aspect, the information is displayed utilizing a network-based interface. In an additional aspect, the stores include restaurants.
[0550]
[0551] This report
[0552] Another report that may be displayed via the supply chain coordinator web site is a service level report which lists each distribution center's fill rate, on-time percentage and the percentage of perfect orders. The service level report may also indicate how the fill rate, on-time and perfect order for each distribution center compare to the minimum standards set by supply chain coordinator and restaurant management corporation.
[0553]
[0554] The local promotion summary—by distribution center report
[0555]
[0556] In calculating the data, the average per restaurant unit sales of each menu item are computed based on the restaurants sampled, and then multiplied by the total number of restaurants served to determine implied total sales by menu item. The report
[0557] a daily total for each inventory item for the past 14 days
[0558] weekly totals for the 4 weeks prior to the 14 days
[0559] a calculation of prior day usage as a percentage of average daily usage for the past 14 days
[0560] In a preferred embodiment, the POS implied daily usage—supplier report
[0561] Another report that may be displayed via the supply chain coordinator web site is an average restaurant daily POS sales report which provides average restaurant daily menu item sales grouped by category and indicates the changes from a prior period. In a preferred embodiment, this report may be recalculated daily. For example, an average restaurant daily POS sales report containing the prior day's sales can be available after 3 PM on the following business day from the day the information was obtained.
[0562]
[0563] the inventory item supplied by the distribution center with the distribution center's cost (see “DC Cost” column)
[0564] the markup amount supply chain coordinator negotiated on behalf of the franchisee (see “Markup” column) and
[0565] the resulting total landed cost as of a specified date (see “Rest Cost” column).
[0566] In a preferred embodiment, only inventory items that supply chain coordinator purchases are included. Also, if a franchisee has not appointed supply chain coordinator as supply chain manager, only the distribution center cost will be available in the report and the franchisee may add the mark up as per the franchisee's contract with the distributor. Like the other reports available via the supply chain coordinator web site, the restaurant landed cost verification report
[0567]
[0568] This provides a degree of confidentiality among competitors who are supply chain participants. Because many of the participants may need to disclose trade secrets to the supply chain manager, such as prices, sources of raw materials, and quantity data, they may be wary of joining. By providing a separate interface on a per-participant basis, trade secretes are protected, and competitors are more likely to join. Further, this avoids antitrust issues, as sales information can be kept secret to all but the supply chain coordinator.
[0569] In one aspect, the database may include data representative of sales by the stores. As another aspect, the database may include data representative of goods ordered by the stores. As an additional aspect, the database may include data representative of goods delivered by the distributors. As a further aspect, the database may include data representative of goods in an inventory of the suppliers. Also, the data may be displayed in each of the web-pages utilizing the Internet.
[0570] The following sections describe the secure Integrated Supply Chain web portal. The secure web-enabled integrated supply chain portal allows supply chain management to offer supply chain services within a member community.
[0571] The sub-sections that follow describe the security process recommendations, policies, functionality, system requirements, user communities, and technical and organizational issues that need to be addressed during the subsequent design, development and implementation phases.
[0572] The specifications contained herein express the Integrated Supply Chain web portal preferred Critical-To-Quality (CTQ) factors. One skilled in the art will appreciate that actual implementation of the requirements may differ from that described without straying from the scope of the invention, as the CTQ criteria may evolve and adapt to market conditions or other influences on their strategic vision and direction.
[0573] The recommendations include major functional requirements, interfaces, and infrastructure as well as the non-functional requirements (systems and organizational attributes). It includes functional and system needs.
[0574] One goal of the present invention is to enhance Supply Chain management services to improve the efficiency of their member's supply chain.
[0575] The underlying concept of electronic commerce (EC) is to use information to displace time and cost in the supply chain. The Integrated Supply Chain Management system (ISCM) portal functions as the electronic commerce facilitator in the supply chain by efficiently collecting, transporting, transforming and sharing information across the enterprise.
[0576]
[0577] The process works as follows. Restaurants send detailed menu sales information to the ISCM each day from their point of sale (POS) registers. The POS data is converted from menu sales data to material usage data. Specifically a recipe or bill of materials is used to convert each menu item into its purchased components (e.g. bun, meat, wrapper, etc.). The usage data is made available to the supply chain via the ISCM portal. The data is made available to the portal community in the following forms. Distributors see the daily usage of the materials they supply to the restaurants they service. Additionally this usage will be broken down by their distribution center locations. Suppliers see the daily usage of the products/commodities that they supply to the distributors who service the restaurants. Additionally this usage will be broken down by their plant locations. The franchisee and individual restaurants can view sales in the contexts of material usage.
[0578] The restaurants can enter orders and send them to the distributor electronically via the ISCM portal. This information enables the entire supply chain to better plan inventory stocking levels and replenishments. This improved planning results in several supply chain efficiencies and benefits. Waste, obsolescence and carrying costs that result from excessive inventories are reduced. The amount of lost sales that result from inventories that are inadequate to meet demand is reduced. Fewer emergency and expedited orders are created. Advanced shipment planning is enabled, which results in lower freight and transportation costs.
[0579] The electronic ordering capability enables the restaurants to reduce the costs and times associated with preparing, submitting and receiving orders.
[0580] The ISCM system can be enhanced with additional capabilities that serve to further increase the efficiency of the supply chain. These may include electronic invoicing, electronic funds transfer to pay invoices, evaluated receipt settlement, bar coding, and tracking capabilities.
[0581]
[0582] In one aspect of the present invention, the barcode is attached at the start of the process so that a common barcode is used throughout the shipping process. However, barcodes can also be attached at other points in the process if desired.
[0583] In an aspect, the network may include the Internet. In another aspect, the results may be accessible utilizing a network-based interface. In a further aspect, the supply chain participant may comprise a restaurant. In one aspect, the supply chain participant may be allowed access only after an identity thereof is verified. In an additional aspect, the goods may have the bar code adhered thereto.
[0584] ISCM Access and Security Perspective
[0585] System management becomes more complicated when security and access management are added to it. They expand the role of ISCM portal to include the function of enterprise gatekeeper in addition to that of information distribution facilitator.
[0586] The underlying concepts of electronic commerce (EC), and security and access management are somewhat at odds. EC makes the supply chain more efficient by facilitating the flow information throughout the enterprise. Security and access management on the other hand, restricts access and the flow of information. They may be some of the evils that are needed to prevent outsiders from accessing the system and its data, prevent unauthorized users from performing restricted activities, and preserve privacy within the enterprise by limiting data access to a need to know basis.
[0587] Although security is an ingredient to the electronic commerce business model, it has a price that can be measured in direct out of pocket costs, ease of use, flexibility, administration overhead, and system maintenance and flexibility. The greater the protection against unauthorized access and use, the greater the cost of the system and the cost of using the system.
[0588] Regarding ease of user, the greater the security of a system the harder it is to use. For example, a security arrangement that requires different passwords to access each sub-function of a system would be very secure. On the other hand it would be perceived by its end users as inefficient and hard to use because of the many passwords that are needed. The end users would prefer a less secure single log on that provides them access to all the functions and data in a system.
[0589] In an EC community that is populated by several different players, flexibility in specifying access privileges is important. This due to the fact that the access arrangements can accommodate different functions (e.g. franchisees, distributors, suppliers, the supply chain coordinator, retail management, etc.) and different organizations within a given function. The more flexible the system, the easier it is for the users to adapt it to their organization. However, the price of flexibility in this area is either less security (simplicity) or greater complexity and system development and maintenance costs.
[0590] The greater the security of a system, the greater the administrative effort needed to setup users and to maintain security. Additionally the administrative effort becomes more complex as greater security is required and the complexity (effort) increases over time as the system ages.
[0591] Complex systems are inflexible and difficult to enhance and maintain. Security makes systems complex in two ways. First, through the introduction of the programs/modules needed to protect the system. Second, by introducing code that attempts to insulate the end user from security (i.e. provide high security without sacrificing flexibility, ease of use, etc.). Insulating complexity can become very pervasive and expensive. As systems grow and expand, the users should be insulated across new modules, features and data views in a fashion consistent with the original approach. This can be difficult when 3
[0592] Security challenges the designers of EC systems to provide a level of security that is appropriate for the system's data and users while minimizing the direct and indirect costs of security that were just discussed. Additionally, the designer may try to anticipate the future growth and the expansion of the EC system so that its security architecture can easily accommodate new features, users and data.
[0593]
[0594] The user community is comprised of several entities. These include retail outlets
[0595] Security management for data access will be complex because data is shared across the community. A single data item (e.g. daily beef usage for a restaurant) can belong to several domains (e.g. restaurant (retailer), franchisee, distributor, supplier, etc.).
[0596] The variety of user communities and the organizational variations that are found within each create a challenge to provide a flexible sub administrative capability that will enable user organizations to manage their own domains.
[0597] The security challenges and the tradeoffs created by them will be covered in detail in the technical design and recommendation sections.
[0598]
[0599] The community member relationships can be characterized as follows. Supply chain management gives distributors
[0600] The purpose of the following sub-sections is to look at the members of the supply chain community in terms of member characteristics (supply chain role that is performed by each member and how each member is organized to perform their role) and members personnel who will likely interact with ISCM. Member domains that will form the basis for security and access management are also defined.
[0601] User Organizations
[0602] Supply Chain Management
[0603] The supply chain coordinator manages the supply chain for their member's retailers. Its services include:
[0604] Negotiating supplier agreements on behalf of their members.
[0605] Negotiating distributor agreements on behalf of their members. Distributors are given exclusive rights to supply retailers in a given geography. Distributor agreements specify territory, retail outlets, items supplied, suppliers, delivery requirements and quality requirements.
[0606] Overseeing and managing the supply chain process to insure consistent and high quality performance.
[0607] Providing an ISCM web portal that will make the supply chain more efficient and will enable the members of the supply chain to run their businesses better.
[0608] The functions in the following table interact with ISCM:
TABLE 2 User Function Description System Person who has access to all of the users and capabilities of administrator ISCM. Responsible for creating, modifying and deleting members, distributors and suppliers. Member Person who has access to all of the members users of administrator ISCM. Responsible for providing the information for setting up and maintaining members and their domains. Also responsible for providing access to member data to non- member users (e.g. SCC, NFA, RM). Distributor Person who has access to all of the distributor users of administrator ISCM. Responsible for providing the information for setting up and maintaining distributors and their domains. Also responsible for providing access to distributor data to non- distributor users (e.g. distributor contract negotiator). Supplier Person who has access to all of the supplier users of ISCM. administrator Responsible for providing the information for setting up and maintaining suppliers and their domains. Also responsible for providing access to supplier data to non-supplier users (e.g. supplier contract negotiator). Operations Person has access to system audit log and system support/ operational reports. Responsible identifying things such manager as attempts to gain unauthorized access, abnormal usage patterns, system bottlenecks, etc. Help desk Person(s) responsible for supporting the user community when they have questions or encounter difficulties.
[0609]
[0610] In one aspect, the network includes the Internet. In another aspect, the electronic order form is generated by the at least one store. In a further aspect, the electronic order form is generated by the distributor. In an additional aspect, the suppliers are selected using the data. In yet another aspect, the suppliers are selected using performance information collected regarding the suppliers.
[0611] Members
[0612] The members are franchisees who own one to several hundred retail outlets. They also are the owners of the supply chain coordinator cooperative and as such, they are the primary focus ISCM from efficiency and cost reduction points of view.
[0613] In the initial form of ISCM, members perform three functions. They create retailer orders and send them to distributors for processing. They provide daily POS data to supply chain management, who will then enhance it and provide it to members, distributors and supplier on an aggregated basis to assist them in planning inventories and purchases. Also, they retrieve and view orders, and enhanced sales history data.
[0614] The member organizations that ISCM can support vary from a single level organization to ones that can contain as many as four levels. The structure depends on the nature of the business entity (sole proprietorship, partnership or corporation), the size (number of retail outlets) and the preferences of the owner/CEO/board/partners. The structure impacts ISCM as it dictates the number (width and depth) of data domain levels that ISCM supports.
TABLE 3 Usage User Function Type Description Administrator Active Responsible for adding, modifying and deleting users in their distributor domain. Sets access permissions for users in their domains. Corporation/ Passive View forecasts, and historical sales and owner/partner: usage for corporate level and sub domains CEO below corporate. VP of marketing VP of development CFO VP of operations Area staff: Passive View forecasts, and historical sales and VP usage for area level and sub domains Director of OPS below area. Marketing manager District managers Passive View forecasts, and historical sales and usage for district level and sub domains below district. Restaurant managers Active View orders, forecasts, and historical sales and usage for restaurant. Order preparer Active View orders, forecasts, and historical sales and usage for restaurant. Enter orders for restaurants.
[0615] Distributors
[0616] Distributors are middlemen with whom the supply chain coordinator has contracted to supply all member retailers in a given geography.
[0617] Distributor supply chain services include:
[0618] Receive, pick, pack and ship retailer orders as specified by the terms and conditions of a supply chain agreement.
[0619] Invoice shipped retailer orders as specified by the terms and conditions of the supply chain agreement.
[0620] Provide warehouse storage space for inventory levels that are sufficient to service the retailers in their geography as specified by the terms and conditions of the supply chain agreement.
[0621] Provide storage environments (e.g. refrigeration) that are needed to maintain the quality of the items they supply to the retailers in their geography.
[0622] Maintain inventory levels that are sufficient to supply retailers as specified by the terms and conditions of the supply chain agreement.
[0623] Replenish inventories by buying from approved and/or pre-specified suppliers.
[0624] The distributors serve a large geography. As a result, they have several strategically located distribution centers throughout their territory. These distribution centers maintain local inventories and service retailers in their locale to reduce transportation time and costs.
[0625] Functions such as sales, accounting, billing, customer service, are generally centralized at a headquarters location.
[0626] The supply chain coordinator's contracts with distributors specify:
[0627] Service levels that cover things like order cycle times, commodity quality, etc.
[0628] Retailers served by the distributor.
[0629] Distribution center that services each retailer.
[0630] Items/commodities that the distributors will carry in their inventory for the retailers.
[0631] Suppliers and supplier plant that will be used to provide each item that will be carried by each distribution center for the retailers they service.
[0632]
[0633] In one aspect, the information relates to a timeliness of delivery of the goods. In another aspect, the information relates to a quality of the goods delivered by the distributor. In a further aspect, the information relates to a price of the goods delivered by the distributor. In an additional aspect, an alert is sent upon the comparison indicating a discrepancy between the tracked information and the terms of the contract. In such an aspect, the alert may be made available on the network-based interface.
[0634] The following table lists distributor functions that may interact with ISCM:
TABLE 4 Usage User Function Type Description Administrator Active Responsible for adding, modifying and deleting users in their distributor domain. Sets access permissions for users in their domains. Headquarters: Passive View orders, forecasts, and historical sales and CEO/GM usage for corporate level and distribution Marketing centers below corporate level. Procurement Credit Accounts receivable Accounts payable Customer Active View orders for all distribution centers to deal Service with retailers question/issues QA Account Active Distributor point of contact for the supply chain executive coordinator. View orders, forecasts, and historical sales and usage for corporate level and distribution centers below corporate level. Contract Active View orders, forecasts, and historical sales and manager usage for corporate level and distribution centers below corporate level. Distribution Active View forecasts, and historical sales and usage Center: by supplier for DC. Uses information to plan DC buyer purchases Transportation Active View orders and forecasts to schedule trucks manager and determine routes. Order pickers Active View individual orders to pick them Shipping Active View individual orders to pack and ship them.
[0635]
[0636] In one aspect, the network includes the Internet. In another aspect, the electronic order forms are generated by the at least one store. In a further aspect, the comparison is accessible utilizing a network-based interface. In an additional aspect, the electronic order forms indicate a type of the goods, an amount of goods, and a target delivery date of the goods. In another aspect, the comparison is used to gauge a performance of the distributors.
[0637] Suppliers
[0638] Suppliers produce the items that the retailers buy from the distributors. Distributors replenish their inventories with bulk purchases from suppliers.
[0639] All suppliers are approved by retail outlet management. The supply chain coordinator negotiates agreements with suppliers on behalf of their members. Distributors can utilize supply chain coordinator-specified suppliers to service the restraints.
[0640] Large national/regional suppliers will have several production/processing facilities around the country. The facilities that will supply the distributors are inspected and approved by retailer management. The supply chain coordinator can specify the supplier facility that will be used to replenish each distributor distribution center.
[0641] The following table has supplier functions that may interact with ISCM:
TABLE 5 Usage User Function Type Description Administrator Active Responsible for adding, modifying and deleting users in their supplier domain. Sets access permissions for users in their domains. Headquarters: Passive View item forecasts and historical sales and Marketing usage for corporate level and for plants below Procurement corporate level. Credit Accounts receivable Accounts payable Account Active Supplier point of contact for the supply chain executive coordinator. View item forecasts and historical sales and usage for corporate level and for plants below corporate level. Plant: View item forecasts, and historical sales and Production usage. Use to plan production. planner Buyer Active View item forecasts, and historical sales and usage. Use to plan production material purchasing. Transportation Active View item forecasts, and historical sales and manager usage. Use to plan transportation.
[0642]
[0643] In one aspect, the network includes the Internet. In another aspect, the electronic order forms are generated by the at least one store. In a further aspect, the comparison is accessible utilizing a network-based interface. In yet another aspect, the electronic order forms indicate a type of the goods and an amount of goods. In an additional aspect, the comparison is used to gauge a performance of the suppliers.
[0644] User Relationship Domains for Access and Reporting
[0645] The following table depicts the domains for access and reporting for members, distributors and suppliers.
TABLE 6 Member Member Area District Retailer Item Quantity Distributor Distributor (order) Distribution center Retailer Item Quantity Distributor (usage) Item Distribution center Supplier Supplier plant Item Quantity Supplier Supplier Plant Item Quantity
[0646]
[0647] In one aspect, the information relates to a timeliness of deliveries made by the distributors. In another aspect, the information relates to a quality of the goods delivered by the distributors. In a further aspect, the information relates to a price of the goods delivered by the distributors. In an additional aspect, a store from which the information is received is identified. As another aspect, the store from which the information is received may be identified utilizing an electronic mail address for communication purposes.
[0648]
[0649] In an aspect, the catalog displays a plurality of raw products from which the goods are produced. In such an aspect, the catalog may display a plurality of distributors from which the raw products can be ordered. As a further aspect, the catalog may also display a comparison of performance of the distributors. As an additional aspect, the performance may be calculated based on the data. In an another aspect, the catalog may include links to additional network-based interfaces relating to suppliers.
[0650] When defining the features and functionality of a newly designed system, it is recommended to begin with the actual business needs of the users of the web portal. It has already been defined in the section entitled User Characteristics that the users of the web portal will be managing and maintaining many if not all of the security administrative aspects of the system.
[0651] It is important to gather and understand the business needs for each user community and then translate those needs into actual Critical To Quality (CTQ) requirements. To obtain these CTQs, each user group supplied their own Voice Of the Customer (VOC) demands upon the system.
[0652] The VOCs are then mapped into high level categories that ultimately map to desired features and functional requirements (discussed in the section entitled Functional Requirements, below).
[0653] The overall approach uses a six sigma consulting methodology
[0654] Using this approach, it is possible to design a system solution that ties directly back to the core customer groups and their business needs. Features and high level functional requirements are the core to system design, and using the Six Sigma consulting methodology maintains the integrity of the original business needs as presented by the key stakeholders for the web portal.
[0655] The next set of sections will detail the specific VOCs and CTQs that were collected in the workshop sessions. These CTQs will then be tied to the features and functional requirements as outlined in the section entitled Functional Requirements, below.
[0656] Each of the core customer communities as outlined in the section entitled User Characteristics were interviewed to collect their VOCs in relation to a web security model. Each workshop discussed potential portal applications and their functionality, providing a back drop for the potential security needs of the system. The following table lists all of the VOCs collected at each workshop, and places them into high level categories.
TABLE 7 Supplier Voice of the Customer SCC Member Distributor 1. Securely isolate data and functions to prevent unauthorized access. Isolate my data X My data for my eyes only X Insure my data is safe X Want to feel the system is secure X Assume a high level of security; keep X X competitors out Ability to perform password X X X administration and manage accounts Access right/password changes must be X granted immediately. System should require periodic X password changes for all accounts Make it difficult for someone to take X data directly to a competitor 2. Security is simple from an end user's perspective. Make it quick and easy X Give me a single logon with multiple X X community access. Ability to select access rights for all X levels If you make it too difficult to access we X won't want to bother accessing it. 3. Security administration is simple from a user perspective Make maintenance simple X 4. Access management administration is very flexible. Give me a single logon with multiple X X community access. Ability to select access rights for all X levels Simultaneous/reciprocal access X Be able to select individuals to set up X access to his/her group Various levels would have varying X degrees of password change enforcement We need multiple levels of security X access Single individuals may have multiple X owner organizations I need flexibility X 5. System proactively monitors for potential security breaches. I want the system to take preventative X measures We should be able to detect that X something isn't right We want an audit trail of some sort X Incident tracking capability; especially X for inappropriate use. 6. Reports are available that enable community administrator to effectively manage and maintain security and access. Tell me who is using the SCC web site X Show me who is using the system for X my organization Who has done what to my data? X I want reporting functionality for audits. X We should be able to detect that X something isn't right We want an audit trail of some sort X Want to track information flow X Need to know who has access X Need to have detailed information X available to determine who went where when. Incident tracking capability; especially X for inappropriate use. 7. System does not create cost or incremental effort for the supply chain community Don't waste time on the Internet X No incremental cost X X X Don't disrupt my business operations X I don't want to hire anyone for support X or administration I'm concerned about information X overload Target the information and give me X what I need to know. This is supposed to represent cost X savings 8. Effective training and documentation Create a common nomenclature X (classification and roles) Training concerns X 9. Integrate with existing systems Single sign-on X X One location “one-stop-shop” X
[0657] The VOCs identify most of the security concerns for each user community. These statements are then assessed to fall into distinct and measurable requirements, the critical to quality factors for each of the stated issues.
[0658] The following table outlines how each of the high level VOCs categories map to specific CTQ requirements and these items will ultimately map to the desired features and functionality of the security system.
TABLE 8 Voice of the Customer CTQ 1. Securely isolate data and functions to prevent Security, unauthorized access. Prevention 2. Security is simple from an end user's Simplicity perspective. 3. Security administration is simple from a user Simplicity, perspective Ease of Use 4. Access management administration is very Flexibility flexible. 5. System proactively monitors for potential Reporting, security breaches. Prevention 6. Reports are available that enable community Reporting, administrator to effectively manage and Simplicity, maintain security and access. Prevention 7. System does not create cost or incremental Cost effort for the supply chain community 8. Effective training and documentation Simplicity 9. Integrate with existing systems Integration, Simplicity
[0659] Any security model will require certain business processes and procedures to maintain the integrity and ease of use. This section outlines some business processes that need to be in place to begin implementation.
[0660] The next section, entitled Policy Requirements, will further identify specify policies that surround and govern aspects of these processes. It is important to note that these procedures need to be assigned clearly to responsible parties, and the policies outlined in the Section entitled Policy Requirements (below) should be clearly provided in order to maintain system integrity.
[0661] The first procedure that needs to be addressed is how to add and delete users to the system. Users are defined as an individual who requires access to applications and data on the web portal. This process should be replicated throughout the domains and user communities, always managed by a specifically named administrator role (see Administration below).
[0662] Adding New Users
[0663] The sequence of steps for adding a user begins with authorization:
[0664] 1. Request for new user account
[0665] 2. Request verified by administrator, notification sent to user's manager
[0666] 3. Authorization of new account provided
[0667] 4. Reference to policy for access rights and privileges for the requested class of user
[0668] 5. Configure access levels
[0669] 6. Send new user ID and default password to new user
[0670] 7. Confirm successful logon and password change at first logon
[0671] These steps can exist at all user community levels, and also for providing administrator access, such as from the supply chain coordinator corporate to a Member organization. It is important to provide an authorization step before creating an account, so that the administrator is also monitored for security purposes.
[0672] Deleting Existing Users
[0673] The sequence of steps for deleting a user requires similar authorization:
[0674] 1. Request for deleting an existing account
[0675] 2. Request verified by administrator, notification sent to user's manager
[0676] 3. Authorization for deleting account provided
[0677] 4. Reference to policy for deleting access rights and privileges for the requested class of user
[0678] 5. Delete user account
[0679] 6. Send verification of deletion to user's manager
[0680] 7. Confirm successful deletion by attempting administrator logon
[0681] The confirmation of deletion may be a useful step, as security breaches are most likely to occur from an improperly deleted account. The supply chain coordinator should require all levels of security management to provide verification of deleted accounts, especially in the member and supplier/distributor communities.
[0682] Changing Key Contact Administrator
[0683] At times the key contact administrator within a domain organization may change. While the process of adding a new user as an administrator follows the same process as adding a new user, there are a few additional kick-off steps that initiate the process. The key contact in this process is not the account contact (not the Member owner, or supplier contact person), but is in fact the web portal administrator for that organization.
[0684] 1. Supplier/Distributor/Member notifies the supply chain coordinator account manager of change in key contact.
[0685] 2. The account manager validates change via phone call to Supplier/Distributor/Member
[0686] 3. Upon verification, the account manager notifies the supply chain coordinator administrator of new key contact information
[0687] 4. The administrator suspends user account rights and privileges
[0688] 5. The administrator sets up new user account with organization administration rights according to access policy guidelines
[0689] 6. Notify new administrator of new user ID and default password
[0690] 7. Confirm successful logon and password change at first logon
[0691] When the key contact for the security system changes at a domain organization, it is not likely that the supply chain coordinator administrator will be directly notified of the change. That is why it is useful for the account manager to verify the change, and obtain the new user information and submit the request. This process ensures that the administrator is acting upon an authorized and verified request. The process may be audited to trace where the authorization initiated, in the event a false transfer of rights is made.
[0692] This section describes in detail the procedures to follow for auditing and monitoring the security system usage. What to collect, how to collect it, and how to preserve the integrity of the audit data are all useful procedures for maintaining proper and effective security measures.
[0693] Data to Collect
[0694]
[0695] In one aspect, the electronic order forms include a price of the goods. In another aspect, a price of the goods is calculated from the electronic order forms. In such an aspect, the price of the goods may be calculated from the electronic order forms utilizing a table mapping a plurality of goods with a plurality of prices. In further aspect, the electronic order forms are generated by the stores. In an additional aspect, an alert is generated upon a discrepancy being found during the comparison.
[0696] Audit data should include any attempt to achieve a different security level by any person, process, or other entity in the network. This information includes login and logout, super user access (administrator rights), and any other change of access or status. The processes outlined previously include a fair amount of authorization and verification steps-these steps are important to create cross domain, cross organizational audit trails.
[0697] The actual data to collect may differ for the different types of applications and different types of access changes made within the portal. In general, the information to collect includes:
[0698] Username, for login and logouts
[0699] Previous and new access rights, to track changes to access
[0700] Timestamp
[0701] One very important note: Do not gather passwords. There is an enormous potential for security breach if the audit records are improperly accessed. Do not gather incorrect passwords either, as they often differ from the correct passwords by only a single character or transposition.
[0702] Collection Process
[0703] There are basically three ways to store audit records:
[0704] 1. Read/write file on a host
[0705] 2. Write-once/read-many device (CD-ROM or tape drive)
[0706] 3. Write-only device (e.g. line printer)
[0707] File system logging is also the least reliable method. If the logging host has been compromised, the file system is usually the first thing to go—and an intruder could easily cover up traces of the intrusion.
[0708] Collecting audit data on a write-once device is slightly more effort to configure than a simple file, but it has the significant advantage of greatly increased security because an intruder could not alter the data showing that an intrusion has occurred. The disadvantage of this method is the need to maintain a supply of storage media and the cost of that media. Also, the data may not be instantly available.
[0709] Line printer logging is useful in system where permanent and immediate logs are required. A real time system is an example of this, where the exact point of a failure or attack may be recorded. A laser printer, or other device that buffers data (e.g., a print server), may suffer from lost data if buffers contain the needed data at a critical instant. The disadvantage of, literally, “paper trails” is the need to keep the printer fed and the need to scan records by hand. There is also the issue of where to store the, potentially, enormous volume of paper that may be generated.
[0710] For each of the logging methods described, there is also the issue of securing the path between the device generating the log and actual logging device (i.e., the file server, tape/CD-ROM drive, printer). If that path is compromised, logging can be stopped. In an ideal world, the logging device would be directly attached by a single, simple, point-to-point cable. Since that is usually impractical, the path may pass through the minimum number of networks and routers.
[0711] If the supply chain coordinator selects an outsourced host for the security system, these options can be optimized against security breaches. Keeping this audit collection process in-house would require effort to secure the various options for maintaining audit data integrity, detailed further in the following sub-section.
[0712] Preserving Audit Data
[0713] Audit data should be some of the most carefully secured data at the site and in the backups. If an intruder were to gain access to audit logs, the systems themselves, in addition to the data would be at risk.
[0714] Audit data may also become useful to the investigation, apprehension, and prosecution of the perpetrator of an incident. If a data handling plan is not adequately defined prior to an incident, it may mean that there is no recourse in the aftermath of an event, and it may create liability resulting from improper treatment of the data.
[0715] Legal Considerations
[0716] Due to the content of audit data, there are a number of legal questions that arise which might need to be addressed by legal counsel. As the Supply Chain management system collects and saves audit data, it needs to be prepared for consequences resulting both from its existence and its content.
[0717] One area concerns the privacy of individuals. In certain instances, audit data may contain personal information. Searching through the data, even for a routine check of the system's security, could represent an invasion of privacy. The privacy policy outlined in the Policy Requirements section (below) should clearly outline procedures that guarantee privacy of an individual user, both in terms of existing contracts (such as between members and retailer management) and also other existing legal regulations.
[0718] A second area of concern involves knowledge of intrusive behavior originating from the web portal. If an organization keeps audit data, is it responsible for examining it to search for incidents? If a host in one organization is used as a launching point for an attack against another organization, can the second organization use the audit data of the first organization to prove negligence on the part of that organization?
[0719] The operative philosophy in the event of a breach of web security is to react according to a plan. This is true whether the breach is the result of an external intruder attack, unintentional damage, a student testing some new program to exploit vulnerability, or a disgruntled employee. Each of the possible types of events, such as those just listed, should be addressed in advance by adequate contingency plans.
[0720] Traditional web security, while quite important in the overall site security plan, usually pays little attention to how to actually handle an attack once one occurs. When an attack is in progress, many decisions are made in haste and can be damaging while tracking down the source of the incident, collecting evidence to be used in prosecution efforts, preparing for the recovery of the system, and protecting the valuable data contained on the system.
[0721] One of the most important, and often overlooked, benefits for efficient incident handling is an economic one. Having both technical and managerial personnel respond to an incident requires considerable resources. If trained to handle incidents efficiently, less staff time is required when one occurs.
[0722] Another benefit is related to public relations. News about computer security incidents tends to be damaging to an organization's stature among current or potential clients. Efficient incident handling minimizes the potential for negative exposure. In the member community it is important to maintain good public relations with retail management, suppliers, and distributors in the interest of positive supply chain collaboration.
[0723] A final benefit of efficient incident handling is related to legal issues. It is possible that in the near future organizations may be held responsible because one of their nodes was used to launch a network attack. In a similar vein, people who develop patches or workarounds may be sued if the patches or workarounds are ineffective, resulting in compromise of the systems, or, if the patches or workarounds themselves damage systems. Knowing about operating system vulnerabilities and patterns of attacks, and then taking appropriate measures to counter these potential threats may be helpful in circumventing possible legal problems.
[0724] This section will outline and discuss the following areas of incident handling:
[0725] Notification
[0726] Identifying an Incident
[0727] Law Enforcement and Legislative Agencies
[0728] Internal and External Communications
[0729] Containment
[0730] On-going Activities
[0731] Notification
[0732] It is important to establish contacts with various personnel before a real incident occurs. These contacts should include local managers and system administrators, administrative contacts for other domain organizations, and various investigative organizations.
[0733] For each type of communication contact, specific “Points of Contact” (POC) should be defined. These may be technical or administrative in nature and may include legal or investigative agencies as well as service providers and vendors. When establishing these contacts, it is important to decide how much information will be shared with each class of contact. It is especially important to define, ahead of time, what information will be shared with the users at a site, with the public (including the press), and with other sites.
[0734] A list of contacts in each of these categories is an important time saver for the key contact individuals during an incident. It can be quite difficult to find an appropriate person during an incident when many urgent events are ongoing. It is strongly recommended that all relevant telephone numbers (also electronic mail addresses and fax numbers) be included in the site security policy. The names and contact information of all individuals who will be directly involved in the handling of an incident should be placed at the top of this list.
[0735] Identifying an Incident
[0736] When an incident occurs, the first step is to identify if it truly is a security incident. Most signs of virus infection, system intrusions, malicious users, etc., are simply anomalies such as hardware failures or suspicious system/user behavior. To assist in identifying whether there really is an incident, it is usually helpful to obtain and use any detection software that may be available. Audit information is also extremely useful, especially in determining whether there is a network attack.
[0737] It is extremely important to obtain a system snapshot as soon as one suspects that something is wrong. Many incidents cause a dynamic chain of events to occur, and an initial system snapshot may be the most valuable tool for identifying the problem and any source of attack. Finally, it is important to start a log book. Recording system events, access to data, time stamps, etc., may lead to a more rapid and systematic identification of the problem, and is the basis for subsequent stages of incident handling.
[0738] There are certain indications or “symptoms” of an incident that deserve special attention:
[0739] 1. System crashes.
[0740] 2. New user accounts (unusual or non-precedent nomenclature, or high activity on a previously low usage account)
[0741] 3. New files created (usually with strange file names, such as data.xx or *.xx).
[0742] 4. Accounting discrepancies
[0743] 5. Changes in file lengths or dates without proper authorization
[0744] 6. Attempts to write to system without authorization
[0745] 7. Data modification or deletion (complaints that files or data start to disappear)
[0746] 8. Denial of service
[0747] 9. Unexplained, poor system performance
[0748] 10. Anomalies (e.g. frequent and unexplained “beeps”).
[0749] 11. Suspicious probes (there are numerous unsuccessful login attempts)
[0750] 12. Suspicious browsing (someone accesses file after file on many user accounts.)
[0751] 13. Inability of a user to log in due to modifications of his/her account.
[0752] This list is not comprehensive, but does highlight some common indicators of security incidents. It is recommended to collaborate with other technical and web security personnel to make a decision as a group about whether an incident is occurring.
[0753] Law Enforcement and Investigative Agencies
[0754] In the event of an incident with legal consequences, it is important to establish contact with investigative agencies (e.g., the FBI and Secret Service in the U.S.) as soon as possible. It should be acknowledged that the supply chain coordinator and it's user community organizations may have its own local and governmental laws and regulations that will impact how they interact with law enforcement and investigative agencies. The security policies and procedures need to identify those potential differences to help the various domain organizations follow consistent incident response methods.
[0755] The supply chain coordinator should notify legal counsel soon after knowledge of an incident is in progress. At a minimum, legal counsel needs to be involved to protect the legal and financial interests of the web portal and subsequent member organizations. There are many legal and practical issues, a few of which are:
[0756] 1. Negative publicity—Is the supply chain coordinator willing to risk negative publicity or exposure to cooperate with legal prosecution efforts.
[0757] 2. Downstream liability—Leaving a compromised system as is so it can be monitored while allowing access that causes damage on a downstream system may force liability on the supply chain coordinator for damages incurred.
[0758] 3. Distribution of information—If the supply chain coordinator web portal distributes information about an attack in which another site or organization may be involved or the vulnerability in a product that may affect ability to market that product, the supply chain coordinator may again be liable for any damages (including damage of reputation).
[0759] 4. Liabilities due to monitoring—the supply chain coordinator may be sued if users at its site or elsewhere discover that the web portal is monitoring account activity without informing users.
[0760] There are no clear precedents yet on the liabilities or responsibilities of organizations involved in a security incident or who might be involved in supporting an investigative effort. Investigators will often encourage organizations to help trace and monitor intruders. Indeed, most investigators cannot pursue computer intrusions without extensive support from the organizations involved. However, investigators cannot provide protection from liability claims, and these kinds of efforts may drag on for months and may take a lot of effort.
[0761] On the other hand, an organization's legal council may advise extreme caution and suggest that tracing activities be halted and an intruder shut out of the system. This, in itself, may not provide protection from liability, and may prevent investigators from identifying the perpetrator.
[0762] The balance between supporting investigative activity and limiting liability is tricky. the supply chain coordinator should consider the advice of legal counsel and the damage the intruder is causing (if any) when making the decision about what to do during any particular incident.
[0763] Internal and External Communications
[0764] It is crucial during a major incident to communicate why certain actions are being taken, and how the users (or departments) are expected to behave. In particular, it should be made very clear to users what they are allowed to say (and not say) to the outside world (including other departments). For example, it would not be good for an organization if users replied to customers with something like, “I'm sorry the systems are down, we've had an intruder and we are trying to clean things up.” It would be much better if they were instructed to respond with a prepared statement like, “I'm sorry our systems are unavailable, they are being maintained for better service in the future.”
[0765] Communications with customers and contract partners should be handled in a sensible, but sensitive way. One can prepare for the main issues by preparing a checklist. When an incident occurs, the checklist can be used with the addition of a sentence or two for the specific circumstances of the incident.
[0766] One of the most important issues to consider is when, who, and how much to release to the general public through the press. The public relations office is trained in the type and wording of information released, and will help to assure that the image of the site is protected during and after the incident (if possible). A public relations office has the advantage that one can communicate candidly with them, and provide a buffer between the constant press attention and the need of the POC to maintain control over the incident.
[0767] If a public relations office is not available, the information released to the press can be carefully considered. If the information is sensitive, it may be advantageous to provide only minimal or overview information to the press. It is possible that any information provided to the press will be quickly reviewed by the perpetrator of the incident. Also note that misleading the press may backfire and cause more damage than releasing sensitive information.
[0768] Some guidelines to keep in mind are:
[0769] 1. Provide low levels of technical detail. Detailed information about the incident may provide enough information for others to launch similar attacks on other sites, or even damage the site's ability to prosecute the guilty party once the event is over.
[0770] 2. Do not speculate. Speculation of who is causing the incident or the motives are very likely to be in error and may cause an inflamed view of the incident.
[0771] 3. Cooperate with law enforcement. Work with law enforcement professionals to assure that evidence is protected. If prosecution is involved, assure that the evidence collected is not divulged to the press.
[0772] 4. Maintain focus on containment and recovery. Do not allow the press attention to detract from the handling of the event. It is of primary importance to contain the incident and begin recovery efforts.
[0773] Containment
[0774] The purpose of containment is to limit the extent of an attack. A part of containment is decision making (e.g., determining whether to shut a system down, disconnect from a network, monitor system or network activity, set traps, disable functions such as remote file transfer, etc.).
[0775] Sometimes this decision is trivial; shut the system down if the information is classified, sensitive, or proprietary. Removing all access while an incident is in progress obviously notifies all users, including the alleged problem users, that the administrators are aware of a problem; this may have a deleterious effect on an investigation. In some cases, it is prudent to remove all access or functionality as soon as possible, then restore normal operation in limited stages. In other cases, it is worthwhile to risk some damage to the system if keeping the system up might enable identification of an intruder.
[0776] The supply chain coordinator should define acceptable risks in dealing with an incident, and should prescribe specific actions and strategies accordingly. If features and functionality need to be shut town temporarily, there should be a notification process as well as a back-up (non-web based) process to continue normal business operations. As application functionality is implemented into the web portal, each web feature needs to address the potential for shutdown.
[0777] On-going Activities
[0778] There are a number of steps the supply chain coordinator should implement to keep up with changes in web security. The following is a list of activities to include for continual incident tracking and handling measures:
[0779] 1. Subscribe to advisories that are issued by various security incident response teams, like those of the CERT Coordination Center, and update systems against those threats that apply to the supply chain coordinator's web portal technology.
[0780] 2. Monitor security patches that are produced by the vendors of equipment, software, applications, and third party affiliates, and obtain and install all that apply.
[0781] 3. Actively watch the configurations of the supply chain coordinator systems to identify any changes that may have occurred, and investigate all anomalies.
[0782] 4. Review all security policies and procedures annually (at a minimum).
[0783] 5. Regularly check for compliance with policies and procedures. This audit should be performed by someone other than the people who define or implement the policies and procedures.
[0784] Web Portal security policies are designed to address security issues within an Internet community. The supply chain coordinator needs a guide to setting computer security policies and procedures for sites that have systems on the Internet—and may need to also address sites and systems that are not yet connected to the Internet.
[0785] The web portal team will need to make many decisions, gain agreement and then communicate and implement these security policies. The focus of this section is on the policies and procedures that need to be in place in order to support the technical security features of the ISC web portal.
[0786] The basic approach to developing a security policy plan for a web portal follows traditional protection rules for overall system security [Fites, 1989 Control and Security of Computer Information Systems]:
[0787] 1. Identify what you are trying to protect
[0788] 2. Determine what you are trying to protect it from
[0789] 3. Determine how likely the threats are
[0790] 4. Implement measures which will protect your assets in a cost-effective manner
[0791] 5. Review the process continuously; make improvements each time a weakness is found
[0792] Using approach, the supply chain coordinator will be able to continually identify critical assets and required policies throughout the implementation phase for both the security system, as well as future releases of functionality for the web portal.
[0793] The types of security-related decisions that are made, or the failure to make them, largely determine how secure or insecure the web portal will be, how much functionality the portal will offer, and how easy the portal is to use. To effectively use security tools and policies, the supply chain coordinator may determine its security goals clearly.
[0794] Trade-offs exist when defining goals, as outlined here:
[0795] Services Offered vs. Security Provided Each service offered to users carries its own security risks. For some services the risk outweighs the benefit of the service, and the administrator may choose to eliminate the service, rather than try to secure it.
[0796] Ease of Use vs. Security The easiest system to use would allow access to any user and require no passwords; that is, there would be no security. Requiring passwords makes the system a little less convenient, but more secure. Requiring device-generated one-time passwords (e.g. secure id tokens), makes the system even more difficult to use, but much more secure.
[0797] Cost of Security vs. Risk of Loss There are many different costs to security: Monetary, Performance, and Ease of Use. There are also many levels of risk: Loss of Privacy, Loss of Data, and Loss of Service. Each type of cost can be weighed against each type of loss for optimization.
[0798] the supply chain coordinator goals should be communicated to all users, operations staff, and managers through a set of security rules, called a “security policy.” The scope of this policy includes all types of information technology as well as the information stored and manipulated by the technology.
[0799] Purpose of A Security Policy
[0800] The main purpose of a security policy is to inform users, staff and managers of their obligatory requirements for protecting technology and information assets. The policy should specify the mechanisms through with these requirements may be met. Another purpose is to provide a baseline from which to acquire, configure and audit systems and networks for compliance with the policy. Therefore an attempt to use a set of security tools in the absence of at least an implied security policy is meaningless.
[0801] The cost of protecting oneself against a threat should be less than the cost of recovering if the threat were to strike. Cost in this context should include losses expressed in real currency, reputation, and trustworthiness. Without reasonable knowledge of what one is protecting and what the likely threats are, following this rule of cost-effectiveness may be difficult.
[0802] It is recommended that as the supply chain coordinator designs and implements additional functionality to their ISC web portal, they examine the extent of security levels and features in relation to the value of the assets involved. There are two elements of risk analysis that one should consider:
[0803] 1. Identifying the assets
[0804] 2. Identifying the threats
[0805] Identifying the Assets
[0806]
[0807] In an aspect, the network may include the Internet. In another aspect, the identifier may include a numeric string. In a further aspect, the identifier may indicate a region where the associated store is located. In an additional aspect, the data may be listed utilizing a network-based interface. In one aspect, the supply chain participants may include restaurants.
[0808] For each asset, the basic goals of security are availability, confidentiality, and integrity. Each threat should be examined considering how it may affect these areas. The first step for asset protection is to identify all of the things that need protection. The point is to list all things that could be affected by a security problem. Again, a traditional list for system protection is applicable in the Internet arena:
[0809] Hardware: boards, keyboards, workstations, personal computers, printers, communication lines, servers, routers
[0810] Software: source programs, object programs, utilities, diagnostic programs, operating systems, communication programs
[0811] Data: during execution, stored on-line, archived off-line, backups, audit logs, databases, in transit over communication media
[0812] People: users, administrators, hardware maintainers
[0813] Documentation: on programs, hardware, systems, local administrative procedures
[0814] Supplies: paper, forms, ribbons, magnetic media
[0815] The supply chain coordinator should use the preliminary goals and objectives for the ISC web portal to identify the primary assets. Existing procedures and policies for system protection is a good starting point to begin the process for asset identification.
[0816] Once identified, it is important to note the differing levels of importance for each of these categories to the users of the portal. For example, a member may hold his or her hardware assets at a higher protection value than a supplier, who may have leased assets or complete warranty and maintenance coverage. Documentation for procedures may have higher value for the administrators at the supply chain coordinator corporate, and less so at an end user level, as reliance on the accuracy of these materials falls into a very defined set of users.
[0817] Identifying the Threats
[0818] Once the assets requiring protection are identified, it may be useful to identify the threats to those assets. The threats may then be examined to determine what potential for loss exists. The following are classic threats to be considered:
[0819] 1. Unauthorized access to resources and/or information
[0820] 2. Unintended and/or unauthorized disclosure of information
[0821] 3. Denial of service
[0822] The remainder of this section will outline and identify security policies that address these types of threats for most types of assets.
[0823] In order for a security policy to be appropriate and effective, it needs to have the acceptance and support of all levels of employees within an organization. The ISC web portal has the additional challenge of integrating policy acceptance from third party organizations. These outside organizations may have conflicting policies or policies that are considered substandard to the needs for the supply chain coordinator.
[0824] It is especially important that corporate management fully support the security policy process otherwise there is little chance that they will have the intended impact, no matter where the incident resides. The following list of individuals should be involved in the creation and review of security policy documents:
[0825] Site Security Administrator
[0826] Information Technology Technical Staff
[0827] Administrators of Large User Groups (e.g. Domain organizations, business divisions)
[0828] Security Incident Response Team
[0829] Representatives of the user groups affected by the security policy
[0830] Responsible management
[0831] Legal Counsel
[0832] This list is representative, but not necessarily comprehensive. The supply chain coordinator may find as it adds functionality to the web portal that additional representation may be required, especially when integrating third party or member level systems and networks. It may be helpful to bring in representation from stakeholders, management with budget and policy authority, technical staff with knowledge about what can and cannot be supported, and legal counsel that understand the legal ramifications of various policy choices.
[0833] This section will discuss the specific policy requirements for the web portal. The recommended policies are based on Internet industry standards and best practices for web portal security.
[0834] Appropriate Use Policy (AUP)
[0835] An Appropriate Use Policy (AUP) may also be part of a security policy. It should spell out what users shall and shall not do on the various components of the system, including the type of traffic allowed on the networks. The AUP should be as explicit as a possible to avoid ambiguity or misunderstanding.
[0836] Privacy Policy
[0837] Privacy of files and information stored on or within the web portal applications needs to be assured. User information that includes name, address, financial information, and other confidential information may at times need to be shared.
[0838] Sometimes during the normal course of operations, a member of the web portal support staff will have a need to view a file belonging to another user of the system. Some examples are: helping a user with an application problem which requires access to the supply chain coordinator's source program; or helping a user resolve an electronic mail problem which requires viewing part of the user's mail message file. Whenever required to view a user's file in the course of helping that user, the consent of the user can be first obtained. In all cases the client should be advised that his/her file(s) may need to be viewed/accessed to assist them.
[0839] When assisting web portal users, it is recommended that the Support Staff should use the following guidelines:
[0840] Use and disclose the users data/information only to the extent necessary to perform the work required to assist the user. Particular emphasis should be placed on restricting disclosure of the data/information to those persons who have a definite need for the data in order to perform their work in assisting the user.
[0841] Do not reproduce user's data/information unless specifically permitted by the user.
[0842] Refrain from disclosing a user's data/information to third parties unless written consent is provided by the user.
[0843] Return or deliver to the user, when requested, all data/information or copies to the user or someone they designate.
[0844] The privacy policy should define reasonable expectations of privacy regarding other issues such as monitoring of electronic mail, logging of keystrokes, as well as access to users' files.
[0845] Access Policy
[0846] Clearly defined access policies may be helpful to the success for implementing and sustaining a secured web portal. The ability to grant access rights occurs throughout the levels of security as defined by the business needs for the supply chain coordinator corporate, members, suppliers, and distributors. This complexity forces the need for an effective access policy to assure clear adherence to these business rules.
[0847] An access policy needs to define access rights and privileges to protect assets from loss or disclosure by specifying acceptable use guidelines for users, operations staff, and management. It should provide guidelines for external connections, data communications, connecting devices to a network, and adding new software to systems. It should also specify any required notification messages (e.g. connect messages should provide warnings about authorized usage and line monitoring, and not simply say “Welcome”).
[0848] The web portal has identified several concerns as outlined in the voice of the customer (VOC) section earlier, and from those issues is the following recommended approach for granting, restricting, and monitoring access rights:
[0849] 1. Ensure a minimum level of consistent access control for supply chain coordinator information assets.
[0850] 2. Ensure protection of the supply chain coordinator information resources in a manner befitting their value and the risks to which they are exposed. It will assure that:
[0851] Access is granted proactively rather than by default
[0852] Decisions are made by appropriate persons
[0853] Decisions are implemented accurately
[0854] Access control integrity is maintained
[0855] Security violations are monitored and followed up appropriately
[0856] 1. Ensure that managers of personnel who perform system/security administration functions are responsible for ensuring compliance with this standard.
[0857] Note: The Chief Security Officer should recognize that there may be instances where compelling business need warrants use of a system that cannot comply with this standard. It is strongly recommended that requests for exceptions must be approved by the Chief Security Officer.
[0858] The following items should be part of the overall access policy, as well as detailed in separate and distinct policy statements (see the following sections):
[0859] Authorization
[0860] Authorization refers to the process of granting privileges to processes and ultimately to users. This differs from Authentication in that authentication is the process used to identify a user (see next section). Once identified reliably, the privileges, rights, property, and permissible actions of the user are determined by authorization.
[0861] In a reasonable security system, it is impossible to explicitly list all of the authorized activities of each user with respect to all resources. The recommended approach is outlined within the section entitled Technology (below) that allows for roles and groupings to help manage and maintain the authorization levels for collections of users. The Technology section also describes how hierarchies can be implemented to provide greater flexibility for authorization, and expend authorization controls to span of data control as well as application access control.
[0862] However a solution is implemented, policies governing authorization should include the following stipulations:
[0863] Requests for access must be properly authorized BEFORE being granted
[0864] A process must be followed to ensure that the authorization is valid. In the case when security administration is done for a large number of users with many authorizers, it may be useful to maintain a list of authorized signers or signatures.
[0865] Administration
[0866] Administration of access rights should be simple and easy to maintain. Policies that specify administrative users and their access rights and privileges should be clearly defined before assigning responsibilities. Who is responsible for what types of administration activities will be the primary result of definitive access policies specifically for administrators. Certain aspects of access policy will simply the role of the administrator, including the following items:
[0867] The user identifications should be unique within the domain for which a particular administrator is responsible. User identifications are called various names depending on the system used. Examples include: USERID, ID, LOGON ID.
[0868] New passwords should be issued by a process that ensures that they will not be disclosed to anyone other than the intended recipient. If disclosure occurs in the issuing process, the process must detect it.
[0869] Activity/Violation Review
[0870] It is important to clearly identify within the Access policy that these activities are monitored and tracked. A review process should be in place to assure that the access rights and privileges are granted appropriately. The following aspects should be addressed in the Access policy:
[0871] Security administration activity must be reviewed to verify its accuracy and appropriateness. This review must be conducted by someone other than the person whose activity is being reviewed.
[0872] Reported security violations should be reviewed daily. Records should be kept to show that the review occurred, by whom it was conducted and what action, if any, was taken.
[0873] Record Keeping
[0874] If a data processing system is used as a record keeping system, sufficient backup should be provided to allow recovery of the security activity records in case of system problems.
[0875] Records that show the person to whom an ID has been issued, the access requested, the person who authorized it, must be maintained.
[0876] Records of IDs that have been suspended and reactivated should be maintained. These will assist in detecting users who need more training or IDs that are being used for unauthorized access attempts.
[0877] Records of terminated employees' access should be kept on hand for at least six months after termination. After that time period that information may be placed in accessible archives.
[0878] Records for security violations should be maintained onsite for a minimum of one month. These records will assist in detecting longer term trend and penetration attempts.
[0879] Records should be kept to show system/security administrator activities:
[0880] Have been reviewed
[0881] By whom the review was conducted
[0882] What action was taken to deal with any noted exception conditions
[0883] It is important to include policy and procedures for granting access as well as removing access for web portal users.
[0884] Remote Access
[0885] While Internet-based attacks get most of the media attention, most computer system break-ins occur via dial-up modems. The nature of the supply chain coordinator's membership and access requirements will in most cases use dial-up modem access. Policies and procedures to specify and monitor the method and use of dial-in access need to be stated.
[0886] There are a variety of configurations for supporting remote access via dial-up lines and other means. In general, the major security issue is authentication—making sure that only legitimate users can remotely access your system. The use of one-time passwords and hardware tokens is recommended for most companies; however, the supply chain coordinator's web portal user communities may not be able or willing to monitor these remote access devices, particularly due to high expense and difficulty to track.
[0887] Another issue is the supply chain coordinator's ability to monitor the use of remote access capabilities. The most effective approach is to centralize the modems into remote access servers or modem pools. This design enables an easier monitoring and tracking of dial-in usage.
[0888] For low level security requirements, the following dial-in policy is sufficient:
[0889] All users who access the web portal system through dial-in connections must periodically change their passwords.
[0890] However, the supply chain coordinator has set requirements that demand higher levels of security, with information sources beyond just the supply chain coordinator servers, but also at third party locations, so it may become useful to increase the dial-in protection policy statement to the following:
[0891] Direct dial-in connections to the supply chain coordinator web portal systems must be approved by the Operations Support Manager and the Chief Security Officer.
[0892] Information regarding access to company computer and communication systems, such as dial-up modem phone numbers, is considered confidential. This information must not be posted on electronic bulletin boards, listed in telephone directories, placed on business cards, or made available to third parties without the written permission of the Operations Support Manager. The Operations Support Manager will periodically scan direct dial-in lines to monitor compliance with policies and may periodically change the telephone numbers to make it more difficult for unauthorized parties to locate company communications numbers.
[0893] Additional policy statements should address encryption within any remote access policy, as suggested in the following:
[0894] All remote access to the web portal system, whether via dial-up or Internet access, must use encryption services to protect the confidentiality of the session. Supply chain coordinator approved remote access products must be used to assure interoperability for remote access server encryption technologies.
[0895] Physical Access
[0896] It may be useful for the supply chain coordinator to put into place appropriate safeguards to limit physical access to any computer or computer related device. The retailer level access has multiple opportunities for non-authorized access, and may even require physical locks or other types of security devices to prevent theft of equipment. It becomes more important to set policies in place that at a minimum attempt to secure physical access in the following ways:
[0897] Secure Locations. Mainframe, servers and other computer devices may be stored in a location that protects them from unauthorized physical access. Physical access to such equipment potentially provides access to information stored therein. Placing equipment where such access may not be easily restricted does not preclude accountability for such access.
[0898] Location Selection. Physical locations for all computer related equipment should be selected to protect against equipment and information loss by flood, fire, and other disasters, natural or man-made.
[0899] Review of New Connections to Outside Sources. Proposed access to or from a network external to the agency must be reviewed and approved by the organization head or designee prior to establishment of the connection.
[0900] Review of Installation. Installation, upgrade, changes or repairs of computer equipment and computer related devices (hardware, software, firmware) must be reviewed by the organization head for potential physical security risks.
[0901] Platform-specific Physical Security. Platform-specific physical security must be established, implemented and periodically reviewed and revised as necessary to address physical vulnerabilities of that platform.
[0902] Laptop, Notebook and Portable Computer Devices. Portable computing devices must not be left unattended at any time unless the device has been secured. When traveling, portable computers should remain with the user's carry-on hand luggage.
[0903] It is equally important to state within a physical access policy that the accountability for such access is not precluded where exceptions must be made, such as in a restaurant, where locked offices are not common. Users should remain accountable for usage regardless when reasonable attempts have been made to secure physical access to the web portal.
[0904] Accountability Policy
[0905] An Accountability Policy is needed to define the responsibilities of users, operations staff, and management. It should specify an audit capability, and provide incident handling guidelines (i.e. what to do and whom to contact if a possible intrusion is detected). The previous section outlined procedures for incident handling, and clear accountabilities should be stated in conjunction with those processes.
[0906] Authentication Policy
[0907] An Authentication Policy establishes trust through an effective password policy, and by setting guidelines for remote location authentication and the use of authentication devices (e.g. one-time passwords and the devices that generate them). Encryption may also be used to authenticate users, as it requires possessing a key to unscramble data, and this policy may apply for some of the more sensitive data exchanges provided through the web portal.
[0908] Robust Passwords
[0909] In many cases of system penetration, the intruder needs to gain access to an account on the system. One way that goal is typically accomplished is through guessing the password of a legitimate user. This attempt is often accomplished by running an automated password cracking program, utilizing a very large dictionary, against the system's password file. The only way to guard against passwords being disclosed in this manner is through the careful selection of passwords that cannot be easily guessed (i.e. combinations of numbers, letters, and punctuation characters). Passwords should also be as long as the system supports and users can tolerate.
[0910] Change Default Passwords
[0911] Many existing security systems and application programs are installed with default accounts and passwords. These should be changed immediately to something that cannot be easily guessed or cracked.
[0912] Restrict Access to the Password File
[0913] Restrict access to the password file, in particular, the security system should protect the encrypted password portion of the file so that would-be intruders do not have them available for cracking. One effective technique is to use shadow passwords where the password field of the standard file contains a dummy or false password. The file containing the legitimate passwords are protected elsewhere on the system.
[0914] Password Aging
[0915] When and how to expire passwords may become a subject of controversy among the security community. It is generally accepted that a password should not be maintained once an account is no longer in use, yet it is hotly debated whether a user should be forced to change a good password that is in active use. The opposition claims that frequent password changes lead to users writing down their passwords in visible areas (such as sticky notes on a terminal), or for users to select very simple passwords that provide very little if any protection.
[0916] Password Lock-outs/Account Blocking
[0917] Some sites find it useful to disable accounts after a predefined number of failed attempts to authenticate. If the supply chain coordinator site uses this mechanism, it is recommended that the mechanism not “advertise” itself. After disabling, even if the correct password is presented, the message displayed should remain that of a failed login attempt. Implementing this mechanism will require legitimate users to contact their system administrator to request that their account be reactivated.
[0918] At the supply chain coordinator Member level, it may become cost prohibitive and even an operational nuisance to field the numerous calls that may result from retailer level users locking out of the system. This type of policy may need to be adjusted for effectiveness, as one risks similar issues of writing down passwords in visible locations in order to avoid accidental lock-outs.
[0919] Encryption
[0920] There will be information assets that the supply chain coordinator will want to protect from disclosure to unauthorized entities. Many existing security systems have built-in file protection mechanisms that allow an administrator to control who on the system may access or “see” the contents of a given file.
[0921] A stronger way to provide confidentiality is through encryption. Encryption is accomplished by scrambling data so that it is very difficult and time consuming for anyone other than the authorized recipients or owners to obtain the plain text. Authorized recipients and the owner of the information will possess the corresponding decryption keys that allow them to easily unscramble the text to a readable form. The supply chain coordinator should consider the extent and value of its information assets (as outlined previously) to determine the need for encryption protection.
[0922] Additionally, the use of encryption is sometimes controlled by governmental and site regulations, so the supply chain coordinator should encourage administrators to become informed of laws or policies that regulate its use before employing it. As the specific encryption needs require clearly identified data and information sources, so it is outside the scope of this document to mention various programs available for this purpose. However the recommended solutions in this document include systems that provide appropriate use of encryption.
[0923] Availability Statement
[0924] An Availability Statement sets users' expectations for the availability of resources. It should address redundancy and recovery issues, as well as specify operating hours and maintenance down-time periods. It should also include contact information for reporting system and network failures.
[0925] Information Technology System and Network Maintenance Policy
[0926] An Information Technology System and Network Maintenance Policy describes how both internal and external maintenance people are allowed to handle and access technology. One important topic to be addressed here is whether remote maintenance is allowed and how such access is controlled. Another area for consideration here is outsourcing and how it is managed.
[0927] Violations Reporting Policy
[0928] A Violations Reporting Policy indicates the types of violations that must be reported (e.g. privacy and security, internal and external), and to whom these reports are made. A non-threatening atmosphere and the possibility of anonymous reporting will result in a greater probability that a violation will be reported if it is detected.
[0929] Supporting information should provide users, staff, and management with contact information for each type of policy violation; guidelines on how to handle outside queries about a security incident, or information that may be considered confidential or proprietary; and cross-references to security procedures and related information, such as company policies and governmental laws and regulations.
[0930] The purpose of this section is to specify the capabilities that must be available in the portal to achieve the security related CTQs.
[0931] The section will begin by defining some terms that are commonly associated with the management of security and access.
[0932] Next the portal will be viewed from the perspective of security and access management to identify the components that are associated with security and access management.
[0933] Lastly each component will be described in terms of the specific functions it must provide to effectively secure and manage portal access.
[0934] Some features that characterize the capabilities the portal must possess in order to achieve its CTQs will be used to validate each functional component. These features will include the ones that were explicitly cited in the user workshops plus some capabilities that were added after those sessions.
[0935] This section will set a baseline for functional specification discussion by:
[0936] Defining concepts and terms that are commonly employed to manage security and access.
[0937] Describing each in the context of the portal and it community.
[0938] Specifying, where applicable, how each will be used to manage security and access.
[0939] Community
[0940] Community refers to all of the users of the portal. The security capabilities will be used manage access within the community.
[0941] Domain
[0942] A domain is a community subset that relates to a type of user in the portal.
[0943] The portal is comprised of the following domains:
[0944] Members (franchisees)
[0945] Distributors
[0946] Suppliers
[0947] Corporate
[0948] An individual can belong to one or more domains.
[0949] Group
[0950] A group relates to an organizational entity in the portal. Examples of groups are a member company or a specific supplier or distributor company.
[0951] Groups belong to domains.
[0952] Groups are made up of one or more data related entities. A retailer is an example of a data related entity.
[0953] Groups can be enabled to create sub-groups. A member regional division that consists of several retailers is an example of a sub-group.
[0954] The reason for having groups is to define authorization. A group specifies the data that can be accessed by the individuals that are associated with the group.
[0955] Role
[0956] Roles relate to a set of permission within a group.
[0957] Examples of roles are:
[0958] Administrator
[0959] Store manager
[0960] Retail outlet owner
[0961] Roles can be aligned with a corporate function (e.g. marketing) or other criteria.
[0962] Reasons for having roles is to define privilege. A role specifies the portal functions an individual can access.
[0963] User
[0964] A user relates to an individual in the community.
[0965] User will belong to a domain (i.e. member, supplier, distributor or supply chain coordinator).
[0966] User must be associated with one group.
[0967] User may or may not have a role assigned to them.
[0968] A user's access is controlled through the group(s) to which they belong (authorization) and the role that has been assigned to them (privileges).
[0969] Hierarchy
[0970] A hierarchy is a tree structure that maps to a specific domain entity's organization (e.g. member ABC).
[0971] Hierarchies can apply to groups and/or users.
[0972] Group hierarchies are used to further refine authorization.
[0973] View data from any point downwards
[0974] Restrict at intermediate levels below the top group level.
[0975] User hierarchies can be used to delegate permissions or to create users owned by other users (e.g. the relation ship of a district manager to the retailer managers that report to him/her).
[0976]
[0977]
[0978] User Logon
[0979] The user logon component verifies that a user is authorized to access to the portal.
[0980] Community Management
[0981] The community management component allows administrators to manage the users in their span of control within the portal. Specifically they can add, change and delete users and they can control what users can view and what functions they can perform.
[0982] Policy Management
[0983] The policy management component uses the user authorizations and privileges to verify that a user is authorized to perform a requested function.
[0984] Reporting
[0985] The reporting component provides the administrators with user and activity information that is suitable for managing security and access.
[0986] The purpose of this section is to specify the functions that may be useful for delivering the features for achieving the portal's security related CTQ.
[0987] The following factors can be considered in specifying the functions:
[0988] The security features that were identified by the members, supplier and distributors in their workshop sessions. These are the characteristics of the portal that must be present in order to meet their CTQs.
[0989] Additional features that were identified in follow-up review sessions with supply chain coordinator personnel. These are more subtle features that emerged during technical, organizational and authorization discussions.
[0990] Best practices that are frequently employed in system security and access management.
[0991] Each functional component will first be described in terms of purpose and general approach. Then details will be provided for each function to specify the capabilities that must be present.
[0992] Assuming that the supply chain coordinator desires to use existing 3
[0993] Logon (Authentication)
[0994] Function Purpose
[0995] The logon function represents the first line of security and it validates that a user is authorized to access the portal.
[0996] Function Details
[0997] The authentication process begins when a user connects to the portal. At that time they will be prompted for:
[0998] Company ID
[0999] User ID
[1000] Password
[1001] The user will enter the requested data and it will be encrypted prior to sending it to the portal logon function. Additionally the password field will be masked when the user enters it (i.e. it won't print on the screen when the user enters it).
[1002] Once the user has submitted the information, the logon function will check the portal access control list to determine if access is permitted to the companyID/userID/password combination that the user submitted.
[1003] Users failing to enter a valid companyID/userID/password combination will be notified of the failure and re-prompted. A userID will be locked out after n failures.
[1004] The logon function will provide the following password management capabilities:
[1005] Password disablement after an administrator specified period of inactivity.
[1006] New user must provide a new password the first time they logon to the portal.
[1007] Passwords will expire after an administrator specified period of time and the user will be required to provide a new one.
[1008] Alternate passwords will be provided for lost/forgotten password situations.
[1009] New passwords will be subjected to minimum security password validation rules. These will include things like minimum/maximum length, percent of characters that must differ, uniqueness, etc.
[1010] Once a user has been successfully authenticated the system will:
[1011] Offer an option to the user to change their password.
[1012] Show the date and time the user last sign on to the system (detect stolen user ID and password).
[1013] Retrieve the user's profile data that defines what data and functions the user can access and transfer to the policy management function (i.e. portal main menu).
[1014] All details associated with the logon session will be written to the audit log. The system administrator will be notified of user ID lockout. The following table lists User Specified Features.
TABLE 9 CTQ Feature Category Explanation Lockout user after n Security, unsuccessful logon attempts Prevention Notify administrator of Security, This is a proactive notification lockouts Prevention that occurs via email, pager, etc. when the attempt occurs On line monitoring Security, This includes administrator Prevention notification of lockout and could be expanded to include other threats or situations. Provide alternate passwords Flexibility for lost/forgotten password situations Password expiration; Security, require periodic password Prevention changes Acceptable password length Security parameters Ability to assign/select Security User can specify their password password and change it any time. Ability to transfer logon Simplicity The ability to transfer the user intelligence. profile information that specifies what data and applications they can access is helpful for supporting a single sign on capability for the portal. Record all activities to the Security, This was not an explicitly stated audit log Preven- feature. However, it will be tion, required to support the reporting Reporting features that were requested by the users.
[1015] Community Management
[1016] The community management capability allows administrators to manage the user activities within the portal. Specifically it provides the capabilities to add, change and delete users, and to manage what the user can see and what functions they can perform.
[1017] Community management can be covered in four sections:
[1018] Community/Domain Wide Administration Describes the supply chain coordinator system wide administrative capabilities that will be required to establish the community and the entities that make it up (i.e. members, suppliers, distributors and supply chain coordinator).
[1019] Basic Delegated Community Management Describes the capabilities that will be needed to achieve the CTQs. Many of the capabilities that are found in this basic model can be accommodated by 3
[1020] Group Hierarchical Management Describes the use of hierarchies to manage access. This will achieve many of the simplicity and flexibility related CTQs that were not meet by the basic model. It will likely require custom development.
[1021] Data Publication Describes a capability that is need to support situations such as joint ownership of stores and corporate board committees. It will enable the owner of a group to permit user in other groups to access data in the owner's group. This will be largely custom development.
[1022] Community/Domain Wide Administration
[1023] Function Purpose
[1024] There are certain capabilities that affect the entire community or all of the occupants of a domain (members, suppliers, distributors and supply chain coordinator). These are limited to a single system wide administrator and potentially to domain administrators.
[1025] Function Details
[1026] Community and domain wide administration will include the following capabilities:
[1027] Community wide administration
[1028] Add/change or delete a domain.
[1029] Delegate domain administration to a domain administrator.
[1030] Domain administration Domains are comprised of organizations (e.g. members). Organizations are made up of data related entities (retailers, distribution center, plants, etc.). The domain administrator needs the following capabilities to create and manage organizations that make up their domain.
[1031] Add, change and delete data related entities (e.g. retailers).
[1032] Link data related entities together (e.g. retailers) into an organization (e.g. member).
[1033] Create an organization administrator and delegate the administration of their organization to them.
[1034] Basic Delegated Community Management
[1035] Function Purpose
[1036] The purpose of community management is to provide a sub administrator with the ability to control what their users can view and what tasks they can perform.
[1037] An administrator who has been granted administrative privileges for the sub domain that represents their organization performs community management (e.g. a member's retail outlets make up the member's sub domain).
[1038] The basic model provides the administrator with tools that are used to manage a user's access (view and tasks). These tools include:
[1039] Groups to specify span of control.
[1040] Privileges to specify tasks
[1041] Roles to specify a set of privileges that are associated with a function (e.g. retail outlet manager).
[1042] Community management then provides the administrator with the ability to add, change and delete users.
[1043] Lastly it enables the administrator to control user's view and access rights by associating them with a group of data related entities (e.g. retailer) to specify what the user can see and with a role or specific privileges to specify what tasks the user can perform.
[1044]
[1045] Function Details
[1046] Functional details will be covered in the context of groups, roles and users.
[1047] Group Management
[1048] As stated earlier, a group is an organizational entity that is made up of one or more data related entities. The retail outlets owned by a franchisee comprise a member group. Groups serve to specify a user's span of control when they are associated with a user.
[1049] An administrator who has been authorized to manage groups can create new groups, and change and delete existing groups.
[1050] New groups:
[1051] Requires an ID that is unique in the administrator's span of control.
[1052] Requires a descriptive name.
[1053] Entities (e.g. retailers) that are placed in the new group must exist within the administrator's span of control.
[1054] In order to change or delete a group, it must exist in the administrator's span of control. Entities being added to an existing group (change) must exist in the administrators span of control.
[1055] Role Management
[1056] A role is a functional entity that is made up of tasks the function is permitted to perform. A restaurant manager is a role that is permitted (i.e. given a privilege) to perform the tasks of ordering food and packaging, and viewing forecasts.
[1057] An administrator who has been authorized to manage roles can create new roles, and change and delete existing ones.
[1058] An administrator must possess any privilege they assign to a role.
[1059] New roles:
[1060] Requires an ID that is unique in the administrators span of control.
[1061] Requires a descriptive name
[1062] In order to change or delete a role, it must exist in the administrator's span of control.
[1063] Privileges can be specified as default or optional when they are assigned to a role. Default privileges are automatically given to a user when they are assigned to a role. The administrator must explicitly specify each optional privilege (yes/no) for a user when they are assigned a role.
[1064] A role may be assigned to a group as well as to a user. When it is associated with a group, users receive the privileges specified by the role when they are associated with the group.
[1065] User Management
[1066] A user is an individual who is authorized to perform some set of tasks on behalf of a group (e.g. a set of retail outlets).
[1067] An administrator who has been authorized to manage users can create new users, and change and delete existing ones.
[1068] A company ID, a user ID and a password identify a user. The administrator cannot view the user password.
[1069] New users:
[1070] Require a user ID that is unique in the sub domain (e.g. unique within a member organization).
[1071] Require an email address.
[1072] Require a descriptive information such as name and address name.
[1073] The system will assign the password to a new user and inform them of it via email.
[1074] User span of control:
[1075] The administrator specifies a user's span of control by associating the user with a group(s) that represent the desired span of control.
[1076] The administrator can associate (add) and disassociate (remove) users with groups.
[1077] In order modify a user's span of control, the user must exist within the administrator's span of control.
[1078] In order associate a user with a group, the group must exist within the administrator's span of control.
[1079] User/group application access:
[1080] The administrator specifies the application a user/group can perform by assigning roles/privileges to the user/group.
[1081] The administrator can add and remove roles/privileges from users/groups.
[1082] In order assign a role to a user/group, the role must exist within the administrator's span of control.
[1083] In order modify a user roles/privileges, the user must exist within the administrator's span of control.
[1084] An administrator must possess any privilege they assign to a user/group.
[1085] If a role is being assigned to a user/group, and if the role has optional privileges, the administrator will be shown the optional privileges and allowed to remove ones that they don't want to grant to the user.
[1086] Other
[1087] All details associated with community management activities will be written to the audit log.
[1088] A capability to link community management with the supply chain coordinator's member management system is required to eliminate duplicate data entry and keep the two systems synchronized.
[1089] A batch bulk load capability is required to enable user to export data from existing systems to set up their organization in the portal community.
TABLE 10 CTQ Feature Category Explanation Distributed community Flexibility Users need to be able to administration manage their users and their access within the portal. They don't want to be dependent on the supply chain coordinator. Ability to add, change and Security, delete users. Flexibility Ability to assign access to Security, Specify span of control and users Flexibility privileges Ability to create roles or Simplicity, level of users Flexibility Ability to set up default Simplicity, levels of access Flexibility Ability to clone and/or Simplicity, access rights Flexibility Mass delete of users Simplicity, Not provided as a part of Flexibility community management. Ability to copy a user ID Simplicity, Provide to extent that a user's Flexibility access attributes can be easily specified through groups and roles Ability to export user load Cost Large member would like to information from member use existing data to backend. establish/maintain their organization in the portal. User can be associated with Flexibility District manager A is a multiple groups. backup for district manager B. As a result, A will need to perform ordering district A and B and will need to be associated with both groups. Feature will also be required to support organizations such as finance who will need to view the data of several groups.
[1090] Hierarchy
[1091] Function Purpose
[1092] The basic community model that was outlined in the previous section supported authorization and access management for a flat single level organization. Although this can be adapted to support a multi-level organization, it falls short on the CTQs related to simplicity and flexibility. Specifically, the administrator must create groups to correspond to each span of control. This results in a single entity having to be included in several groups. For example, a single retailer may be included in a district, region and a corporate group. Administration in a scenario like this is complex and labor intensive. It becomes particularly cumbersome and error prone because things like an organization change (e.g. new retail outlet) requires the modification of several groups (i.e. add it to district, region and corporate group).
[1093] A hierarchy provides a superior way to manage span of control and access. The hierarchy defines a company's organization. A user's span of control is set by associating them to the node of the hierarchy that corresponds to their position in the company. This association authorizes them to view the data associated with any entity that belong to the node to which they are assigned. In the case of a new retail outlet, assigning it to a manager also places it in the span of control of the manager's district and region mangers and the corporate CEO.
[1094] Hierarchies can also simplify the specification of user privileges by associating them to a hierarchy.
[1095] Although hierarchies introduce technical complexity, they greatly simplify administration in large and complex organizations.
[1096] The following outlines the requirement details associated with hierarchies.
[1097] Function Details
[1098] A hierarchy is made up of nodes where a node represents a business function (e.g. retail outlet manager, district manager, etc.). The bottom nodes of a hierarchy are associated with a data related entity (e.g. retail outlet is associated with a manager node/function). They are then grouped under nodes at successively higher levels (e.g. districts, regions, etc.). The top of the hierarchy is a single node (e.g. corporate). In a hierarchy an entity (e.g. retail outlet) will appear in the span of control of each successive parent node.
[1099] The following administrative capabilities are required to manage authorization and access with hierarchies.
[1100] Hierarchy Management
[1101] Add a node Specify a parent node in a hierarchy and add a node beneath it.
[1102] Delete a node Specify a node in a hierarchy and delete it. This also results in the deletion of any dependent nodes reporting to the node that was deleted.
[1103] Move a node Specify a node in a hierarchy and move it and its dependents to another node (drag and drop).
[1104] Associate a data entity with a node Specify a node in a hierarchy and associate a data related entity to it (e.g. retailer) with it. In this situation, no nodes can exist beneath the node specified. Also the data related entity must exist in the administrator's span of control.
[1105] Disassociate a data entity with a node Specify a data related entity in a hierarchy structure and delete it from it parent node.
[1106] Move a data entity from one node to another Specify a data related entity in a hierarchy structure and move it from its present parent node to a new parent node (drag and drop).
[1107] User Span of Control Management
[1108] Span of control relates to the data a user can view. Under a hierarchy, associating a user to a node in a hierarchy specifies their span of control. This association entitles the user to view the data associated with any entity that is found in the user's node group.
[1109] User Access Management
[1110] Access management relates to the functions a user can perform. It is controlled by privileges and roles that are assigned to a user (groups of privileges). Under a hierarchy, roles and privileges can be associated to a node. Any user who is then associated to the node receives the privileges that accompany it. See the table below.
TABLE 11 CTQ Feature Category Explanation Ability to publish rights and Simplicity, privileges across hierarchies. Flexibility Ability to authorize multiple Simplicity, levels of a hierarchy Flexibility Ability to manage access Simplicity, against hierarchies Flexibility Flexible data access and Simplicity, management. Flexibility
[1111] Data Publication
[1112] Function Purpose
[1113] Portal data (e.g. a retailer) is owned by one and only one sub domain entity (e.g. member). The ability to view and process that data is restricted to users and groups who inhabit the entity's sub domain and who have been authorized to do so by its administrator.
[1114] However, there are several business situations where an organization needs to view and process data that is owned by another organization that may or may not belong to the same domain. Some common examples are:
[1115] Two members share ownership of a retailer. As a result both members need to view information about the jointly held retail outlets and order supplies for them.
[1116] Members belong to the supply chain coordinator board or corporate committees. In order to participate in these roles the members need to view and potentially access data in the supply chain coordinator's domain.
[1117] The data publication capability is a mechanism for the owners (e.g. member A) of an entity (e.g. retailer
[1118] Function Details
[1119] Data publication is an administrative privilege. It is used by a data owner's administrator to setup a relationship with another party in the portal that will allow that party to view and access data entities (e.g. retailers) that are found the owner's sub domain.
[1120] The data publication function will possess the following capabilities.
[1121] The administrator can add, change or delete a data publication relationship.
[1122] Any data entity that is published must exist in the administrator span of control.
[1123] The following elements will be provided to specify a data publication relationship.
[1124] The span of control (view) that is associated with a data publication. The span of control may be specified as an individual entity (e.g. a retailer), a group (e.g. a district) or a hierarchical node (if a hierarchy feature is provided).
[1125] Privileges or functions the receiver can perform with the published data.
[1126] The domain (i.e. member, supplier, distributor, supply chain coordinator) and sub-domain ID (company ID) of the organization to which the data is being published.
[1127] The group or node ID in the receiving organization that the published data will be associated with.
[1128] The user ID of the person in the receiving organization who will own the data. This person will control the user views and access (privileges) associated with the published data in their organization.
[1129] All details associated with creating or modifying a data publication relationship will be written to the audit log.
[1130] The following table sets forth User Specified Features:
TABLE 12 CTQ Feature Category Explanation User can view or access Simplicity Joint ownership of retail outlets by data in another sub- Flexibility distinct members. domain in their domain. User can view or access Simplicity Support board of directors and data in different domain. Flexibility committees that require members to view and access supply chain coordinator corporate data.
[1131] Policy Enforcement
[1132] Function Purpose
[1133] The policy enforcement function is a centralized capability that manages access to all of the applications that comprise the portal.
[1134] Policies specify the access requirements for each application that makes up the portal. The policy enforcement function determines if a requesting user meets the access requirements for an application. The user is granted access by the policy enforcement function if they meet they requirements specified by the policy.
[1135] Function Details
[1136] A central administrative capability is required to maintain the policies that are used to manage access to the portal's applications.
[1137] The details associated with policy enforcement are as follows:
[1138] When a user successfully logs on to the system by providing a valid user ID and password, their span of control and application privileges are retrieved.
[1139] The user is presented with main menu for the portal.
[1140] The user requests a function from the menu.
[1141] The policy enforcement function retrieves the access policies for the requested application from the central policy repository.
[1142] The user's span of control and application privileges are evaluated against the application's policies.
[1143] If the user satisfies the requirements specified by the policy, access is granted.
[1144] If the user does not satisfy the requirements specified by the policy, access is denied.
[1145] Details associated with an access request are recorded in the central audit log.
[1146] The policy enforcement function is responsible for interfacing with the portal applications and passing them information about the user that they require.
[1147] The following table sets forth User Specified Features.
TABLE 13 CTQ Feature Category Explanation Single sign on Simplicity After signing on to the portal, the user can access all applications that make up the portal. Ability to integrate with Simplicity Provide the affiliate affiliates (i.e. other 3 Integration application with the user applications that make up the Cost information it requires to portal). function. Prevent redundant data entry, redundant security, etc. Ability to interface with other Simplicity The supply chain coordinator applications: Integration wants to use 3 supply chain coordinator Cost application service providers 3 (ASPs) for their portal Remote hosts applications. The policy Platform independent enforcement manager must be capable of interfacing with a variety of platforms in a variety of situations. Centralized policy Simplicity Don't want redundant management Integration application access permission Cost management.
[1148] Reporting
[1149] Function Purpose
[1150] The portal must provide its administrators with two forms of reporting:
[1151] Community management reports.
[1152] An event reporting capabilities that provides the administrator with the data and tools for researching issues, problems, potential breaches, etc.
[1153] Functional Details
[1154] The functional details of reporting will be covered from the perspective of report type.
[1155] Community Management Reports
[1156] Community management reports provide administrators with the information they need to manage their users, groups, roles and hierarchies (if implemented).
[1157] Reports will likely include:
[1158] User information report showing things such as:
[1159] Basic user information (name, address, telephone number, etc.)
[1160] User span of control
[1161] Roles/privileges
[1162] Usage data (date of last logon, number of logons, total logon time, average logon time, etc.)
[1163] User lockout
[1164] Group reports showing thing such as:
[1165] The entities (e.g. retailers) that make up a group.
[1166] Role associated with a group.
[1167] Users associated with a group.
[1168] Role reports showing things such as:
[1169] Default and optional privileges associated with each role.
[1170] Groups associated with each role.
[1171] Users assigned to each role.
[1172] Users assigned to each available privilege.
[1173] Report content will be limited by the administrator's span of control.
[1174] Query and filter capabilities will be required to specify report type and content (e.g. a specific group, a range of users, all roles, user usage details for date range, etc.).
[1175] Event Reporting
[1176] An event is a system activity that is written to the audit log. Examples of events include connection to the portal, logon attempt, application access requests, add a new user, system errors, etc. information will accompany an events that identifies it, identifies the user that initiated it, the date and time the event was initiated, status (success/failure), etc.
[1177] Events are recorded so that the details associated with them are available to research problems, security breach attempts, etc.
[1178] An alert capability is required to specify administrator notification (email, page, etc.) in the case of certain events (e.g. attempted breach, a portal application is unavailable, etc.).
[1179] Because event reports from the audit log are run in response to problems or issues, good filtering capabilities will be required to eliminate unneeded data and provide the administrator with only the information they are seeking. Filters should include user(s), event, and date and time.
[1180] The following table sets forth User Specified Features.
TABLE 14 CTQ Feature Category Explanation The following community Security management reports were Reporting identified: Prevention Master user list Click and view access list User with published data authorization (i.e. users in other domains or sub-domains. Usage reports Lockout notification Security Online monitoring capability Security Reporting Prevention View audit log Security Reporting Prevention Parameter driven reports Simplicity
[1181] Component and Actor definition of the supply chain coordinator web portal
[1182] As detailed in the previous section, the supply chain coordinator's portal may allow access to supply chain applications. The nature of the applications require a feature and function set; this engagement collected CTQs and functions from the community and organized them along categories.
[1183] This section places a slightly different view of requirements on the portal. There may be a public site and a private site (secured access); there may also be applications behind the portal provided by 3
[1184] Some functional components that may comprise the Portal:
[1185] PVC: Public View Component
[1186] SVC: Secure View Component
[1187] AC: Administrative Component
[1188] CUC: Contact Us Component
[1189] A more detailed description of each of these components is stated in the following sections.
[1190] Public View Component
[1191] The Public View Component describes the functionality that is available to users of the public web pages on the supply chain coordinator portal.
[1192] Secure View Component
[1193] The Secure View Component describes the functionality that is available to users once they have logged onto the private pages of the supply chain coordinator portal. The private pages include access to the Applications and other functionality.
[1194] Administrative Component
[1195] The Administrative Component describes the functionality that allows users to access administrative links available to Company Administrators and individual Users. Additionally, the component contains information required for users to log on and request passwords.
[1196] Contact Us Component
[1197] The Contact Us Component describes the functionality and information that is available to users on both the public and private pages of the supply chain coordinator. This information consists of service-related questions and other areas of concern for community members.
[1198] An actor is a user that plays a role with respect to the system. It is someone or something outside the application that interacts with the supply chain coordinator portal. The defined use cases and their definitions are specified below.
[1199] The systems ‘Actors’ are the different types of people involved in the business process. Earlier, several types of users are defined for each customer type (supply chain coordinator member, supply chain coordinator, supplier, distributor, retail outlet manager). While those are separate organizations, the actors in each share qualities at this high level of definition. The actors for the supply chain coordinator exchange portal are:
[1200] Company Administrator (Tier
[1201] Exchange User (Tier
[1202] Non-Registered User (Tier
[1203] Content Manager (CM, Internal GXS/RM User who has permissions to submit updated content; Access to public and private pages)
[1204] Internal Administrator (Internal GXS/RM User who has permissions to run reports validate the registration status of potential customers; Access to public and private pages)
[1205] Company Administrator; (Tier
[1206] Description. A Registered User (Tier
[1207] Computer skills. Computer skill can vary, but a general knowledge of the Web is assumed.
[1208] Business Knowledge: Knowledge of products and services related to the supply chain coordinator suite of applications. This User may be responsible for setting up roles/responsibilities/permissions for Tier
[1209] Exchange Level User; (Tier
[1210] Description: A Registered User (Tier
[1211] Computer Skills: Computer skill can vary, but a general knowledge of the Web is assumed.
[1212] Business Knowledge: Knowledge of products and services related to a solutions suite of applications.
[1213] Non-Registered User; (Tier
[1214] Description: A Non-Registered User (Tier
[1215] Computer Skills: Computer skill can vary, but a general knowledge of the, Web is assumed.
[1216] Business Knowledge: Knowledge of products and services related to the solutions suite of applications.
[1217] Description: A CM is a Content Manager who has been authorized to add/update content to the portal, pertaining to the particular products they own.
[1218] Computer skills: Computer skill can vary, but a general knowledge of the Web is assumed.
[1219] Business Knowledge: Knowledge of products and services related to the solutions suite of applications.
[1220] Description: An Internal Administrator is a registered user who has been authorized to access certain report generation functionality on the private pages of the supply chain coordinator. They may be the only users allowed to view certain links related to report generation (Similar to Content Managers and the Upload Content Link).
[1221] Computer skills: Computer skill can vary, but a general knowledge of the Web is assumed.
[1222] Business Knowledge: Should be at the RailMarketplace.com, Inc. or GXS executive or marketing level, interested in site usage and feedback for further enhancements.
[1223] The following section is an attempt to outline the requirements expressed by stakeholders/subject matter experts (SMEs) associated with the supply chain coordinator portal. These requirements revolve around the feature/function lists collected in meetings with the supply chain community as addressed in the previous sections. This list should be considered proposed at this point and based on GE's interpretation of the features collected. IT may be finalized through prioritization and solution decisions. It may be further refined by the design process that the organization chosen to deliver this solution must complete during implementation.
[1224] A listing of these component areas along with their index key is provided below. Table 15 provides a listing of functional requirements so that they can be easily found.
TABLE 15 Included in Req. ID Requirement Name Approach Public View Component UC-PVC.01 View Public Site UC-PVC.02 View supply chain coordinator press releases UC-PVC.03 View Service Info UC-PVC.04 View Media Coverage/Latest News UC-PVC.05 Request to Register UC-PVC.06 View Legal Pages (Extends from PVC.06) UC-PVC.07 View About Us UC-PVC.08 View Site Map UC-PVC.09 View FAQ's UC-PVC.10 Submit Feedback Secure View Component UC-SVC.01 View Secure Welcome Page UC-SVC.02 Select Application UC-SVC.03 Launch Application UC-SVC.04 View Application Request Form UC-SVC.05 Submit Application Request Form UC-SVC.07 View “Community Directory” UC-SVC.08 Search “Community Directory” UC-SVC.09 Community Directory- New User Listing UC-SVC.10 Submit Feedback UC-SVC.11 Submit User Survey UC-SVC.12 Register for Training UC-SVC.13 Quit Private Pages UC-SVC.14 View Press Releases UC-SVC.15 View Service Info UC-SVC.16 View Media Coverage/Latest News UC-SVC.17 View Site Map UC-SVC.18 View FAQ's Administrative Component UC-AC.01 Login UC-AC.02 Submit “Password” Reminder Request UC-AC.03 Re-set Password UC-AC.04 Submit “Administration” Change Request UC-AC.05 Add Content UC-AC.06 Submit “User Information” Change Request UC-AC.07 Generate User Report UC-AC.08 Generate Site Activity Report UC-AC.09 Clone User UC-AC.10 Mass Delete of Users UC-AC.11 Create and Manage Hierarchies UC-AC.12 Manages Access Rights Relative to Hierarchies UC-AC.13 Grant Privilege to Another User UC-AC.14 View Master User List UC-AC.15 View Access List UC-AC.16 View Users Who Can Access My Company's Data Contact Support Component UC-CUC.01 Submit Tech Support Feedback UC-CUC.02 View Tech Support Main Page UC-CUC.02 Access Email ASP UC-CUC.04 Submit Press Analyst Questions UC-CUC.05 View Business Development UC-CUC.06 Submit Billing Questions UC-CUC.07 Submit Accounts Payable Questions UC-CUC.08 Verify Account Information UC-CUC.09 Submit “Other” Questions
[1225] Now that the features have been defined and categorized, and the portal components and actors are known, technology must be selected to address high priority items such as integrating affiliate sites, central policy management, and distributed user administration. Considerations for this selection may include the following IT strategy drivers:
[1226] Integrating existing and new security systems
[1227] Integrating existing applications with new Web-based applications
[1228] Providing a seamless integration between portal and affiliate sites
[1229] Delegated and single-point administration
[1230] Centralized security management
[1231] Scalability of the integrated security systems
[1232] This list of general drivers matches up well to the feature list as collected:
[1233] Distributed User Administration
[1234] Administrative Audit Trail
[1235] Access Management
[1236] Logon/Password Management
[1237] Reporting
[1238] Policy Enforcement
[1239] Data Management
[1240] Security is a major concern, as web sites may contain proprietary business information such as news, data/information, and procurement systems. Without adequate security, opportunities are presented for inappropriate dissemination of proprietary information, sabotage, and other mischievous acts.
[1241] Comprehensive Security for the supply chain community breaks down into three areas: Web, Network, and Security. Each of the features extends across all three areas, as the following chart illustrates.
[1242]
[1243] Technically, from the web portal view, there are two main approaches to meeting the CTQs of the supply chain communities. The first option is for the supply chain coordinator to use its existing NT infrastructure. The second option involves purchasing a portal management solution to abstract user management from applications.
[1244] Using the existing NT infrastructure
[1245] Using the basic functionality of the portal management solution with minimal configuration
[1246] If option 2 is selected, there are two additional levels of implementation that are additive to option 2. These may be overall options 3 and 4:
[1247] 3. Further development within the portal management solution to add additional features
[1248] 4. In addition to extension of the portal management solution, creating custom developed community administration features in a relational database that are matched to the portal directory structure
[1249] There is a choice to be made between approach 1 and 2. Approaches 2 through 4 build on each other, with approach 4 including all the functionality of choices 2 and 3 as well. Within choice 2, 3, and 4, there are also sub-decisions to make about products or level of customization. Table 16 illustrates chart comparing options and product/customization levels.
TABLE 16 Option 1 Option 2 Option 3 Option 4 Use current NT Netegrity or Security Security security Securant Management Management solution Security Solution Solution Software + Management Software + Custom Solution Custom Administration + Software Administration Advanced Community Structure
[1250] The technology portion of this report may provide a section on each approach. The technical architecture for each may be detailed, as well as decisions that can be made by the supply chain coordinator within each. Each section may then compare the functionality pieces outlined in the section entitled Fundamental Requirements to that provided by the approach being described. Finally, costs and level of effort for each approach may be included at the end of each section.
[1251] After each web portal approach is documented, sections on network and application development recommendations may also be included.
[1252] Solution Overview
[1253] The supply chain coordinator already manages Windows NT user accounts for all the employees of the supply chain coordinator. This is to control access to internal business applications. The IT team has the ability to create and delete users, assign user groups, and assign privileges to either the individual user or the user group. Access Control Lists manage the resources each user or user group can access, as well as the level of access such as Read, Write, or Execute. These are some of the same functional requirements for the integrated supply chain portal.
[1254] Moving to Internet based systems in the NT environment, most applications developed using Microsoft languages and methods run with Microsoft IIS as the webserver. IIS has authentication functionality included. IIS also provides a authorization features as well such as Read and Write, and since IIS runs as a service on top of Windows NT, it relies heavily on Windows NT user accounts and the Windows NT File System.
[1255] This is the approach the supply chain coordinator uses for the pilot web portal system. The supply chain coordinator has created an NT domain for the web application to use. The supply chain coordinator is setting up user accounts in this domain, and the web application is validating users against Windows NT.
[1256]
[1257] For data access in the current web portal, there is an association of retailers to specific supplier, distributors, or supply chain members. This resides in a supply chain SQL database
[1258] There are ways that the supply chain coordinator could continue this operation to manage the entire community of supply chain users. This would involve centrally administering users and physically adding them to the NT user base. The supply chain coordinator would own validating users and setting up access rights, and would need to communicate frequently with companies (supply chain members, suppliers. distributors) to make sure that user setup was proper.
[1259] In order to integrate 3
[1260] Reporting would be handled by the IIS logs. If community members wanted to know what their employees were doing on the supply chain applications, they would need to submit a request to the supply chain coordinator. The supply chain coordinator would then need to manually check their logs and find out what user activities occurred. If a community member wanted to know what activities were performed on a 3
[1261] In a previous section, the features requested by the supply chain community were detailed along with the functions those features imply. The following table shows whether functions are provided by this approach along with an explanation. Table 17 illustrates features within option one.
TABLE 17 Feature Y/N Explanation SECURITY Lockout user after n Y Application can be written to unsuccessful logon attempts lockout after n successful tries Notify administrator of lockouts Y IIS log should capture failed attempt. Application can capture lockout event and write to NT log On line monitoring Lockouts are captured in the NT log. Provide alternate passwords for lost/forgotten password situations Password expiration; require Y This can be configured in NT periodic password changes and added to application with minimal development Acceptable password length Y Included in NT parameters Ability to assign/select password Y The supply chain coordinator would create in IIS Ability to transfer logon N Not part of NT; a custom intelligence. integration effort is required per additional 3 party application. Record all activities to the audit N Only activities for log applications the supply chain coordinator hosts can be captured. COMMUNITY MANAGEMENT Distributed community N The supply chain coordinator administration must manage the community centrally Ability to add, change and delete Y The supply chain coordinator users. would perform centrally Ability to assign access to users Y Access Control Lists could be setup in NT Ability to create roles or level of Y NT allows user groups. Levels users beyond that are not supported. Ability to set up default levels of Y Read or Write access Ability to clone and/or access Y NT can be configured to allow rights this. Mass delete of users Ability to copy a user ID Y There are workaround to enable this using NT. Ability to export user load N Details would be needed and information from member sent to the supply chain backend. coordinator for a custom load User can be associated with N Here groups refers to multiple groups. corporate organizations, and NT structure makes all users part of the same organization within an NT domain. Hierarchies N NT security does not support complex hierarchical structures. Ability to publish rights and N No hierarchies. privileges across hierarchies. Ability to authorize multiple N No hierarchies levels of a hierarchy Ability to manage access against N No hierarchies hierarchies Flexible data access and N NT provides very rigid security management. structures DATA PUBLICATION User can view or access data in N Data is within a domain. another sub-group in their domain. User can view or access data in N NT has single domain. different domain. POLICY ENFORCEMENT Single sign on N A workaround for SSO is detailed in the section above, but IIS and NT are not SSO products. Ability to integrate with N Not supported. affiliates (i.e. other 3 applications that make up the portal). Ability to interface with other N Not supported applications: the supply chain coordinator 3 Remote hosts Platform independent Centralized policy management N This refers to all policies for multiple applications. NT security manages policies for all applications running on in the NT domain, but not applications outside of it. REPORTING The following community The NT admin can view some of management reports were these reports, but they would not identified: be available to the general Master user list community as this requirement Click and view access list specifies. User with published data authorization (i.e. users in other domains or sub-domains. Usage reports Lockout notification Y NT admin can see lockout notification. Online monitoring capability N Not available through web. Available to NT admin on admin desktop. View audit log Y Admin can view Parameter driven reports N Not provided to community users.
[1262] It is possible to custom develop additional authentication and access control functionality on top of NT-based applications. Code can be written in ASP to provide this additional functionality, which would provide a portion of the functionality included in the products considered for option
[1263] Costs and Timelines for Option 1
[1264] In terms of up front cost, this is the supply chain coordinator's lowest cost alternative. The NT administration features already exist, the supply chain coordinator has skilled NT administrators, and the equipment is already in place. An additional server may be required to handle the number of portal requests once the applications are fully available and ramped.
[1265] However, this approach fails on several fronts including application integration and distributed administration. Therefore, the supply chain coordinator would need to manage the community centrally with this alternative. The supply chain coordinator would need many administrators to manage the community with this approach, so that should factor into the ongoing costs of this approach.
[1266] Option 2: Implementing a Portal Management Solution
[1267] Two shortfalls of using the internal NT approach are:
[1268] The supply chain coordinator would only be able to have one set of business rules apply to each user
[1269] Users would need to be managed centrally.
[1270] These shortfalls are especially critical considering the supply chain coordinator is planning to outsource many of the applications behind the portal to ASP providers. In a sense, the supply chain coordinator may become an ASP integrator. With this in mind, a component of a solution is providing a clear method for the supply chain coordinator to deliver ASP model services to members and trading partners with distributed administration.
[1271] Option
[1272] In a single-entity model, such as option
[1273] The separation of community
[1274] Single Sign-on Definitions
[1275] To discuss single sign-on, central policy management, and delegated administration, it is important to define two terms.
[1276] Authentication—First step in single sign-on. Uniquely identify a user based on company id, user id, and password.
[1277] Authorization—Occurs after authentication. The level of application of data access allowed for an individual user.
[1278] Portal Management Solutions
[1279] As the integrated supply chain concept caught on, organizations had to deal with the challenges of single sign-on and distributed administration. These are the same issues the supply chain coordinator is dealing with as they begin their initiatives. The first response of large community owners was to custom build solutions on top of their IIS or Netscape server-based applications, as was suggested as possible in option 1. But as organizations began to build custom solutions, there were many failures or limitations on what could be accomplished. At the same time, the market has matured as the need for SSO and distributed organizations expanded to more organizations. Off-the-shelf single sign-on portal management solutions came to market, and many owners of large communities have replaced their homegrown systems with solutions based on these products, which have the following features:
[1280] User entitlement management
[1281] Authentication with single sign-on
[1282] Distributed and delegated user administration (group level responsibility)
[1283] Affiliate Services (integrate ASPs)
[1284] Centralized privilege management (one place for all applications)
[1285] User tracking (configurable)
[1286] Ability to link attributes for personalization to single sign-on
[1287] Distributed and delegated portal administration
[1288] Integration with most directory services
[1289] Web-based Single Sign-on/Portal Management Architecture
[1290] SSO/Portal Management products are software packages that run on their own server. They also require a directory to operate against. This can be either LDAP or database directories.
[1291] The interaction between applications and the SSO/Portal Management server is client-server based, with the application webserver using an agent or plug-in (client) to reference the central policy server for user validation.
[1292]
[1293] Technologies Supported by SSO Products
[1294] Within each area of the architecture, there are multiple methods supported. Solutions can run on multiple operating platforms and with multiple types of user directories. Solutions can be extended with multiple development languages, support many authentication technologies, and operate in conjunction with many network security implementations.
[1295] Policy Based Security
[1296]
[1297] When purchasing an off-the-shelf product, the infrastructure above is part of the solution. The work that must be performed is setup user and policy management, and then to actually create the users and the policies.
[1298] Comparison to Requested Functions
[1299] In a previous section, the features requested by the supply chain coordinator's community were detailed along with the functions those features imply. The following table shows whether functions are provided by this approach along with an explanation. Table 18 illustrates the various features associated with option two.
TABLE 18 Feature Y/N Explanation SECURITY Lockout user after n Y Supported unsuccessful logon attempts Notify administrator of lockouts Y Supported On line monitoring Provide alternate passwords for lost/forgotten password situations Password expiration; require Y Supported periodic password changes Acceptable password length Y Supported parameters Ability to assign/select password Y Supported (not self-registration) Ability to transfer logon Y Agent to integrate affiliate sites. intelligence. Record all activities to the audit Y Supported log COMMUNITY MANAGEMENT Distributed community Y Basic in this option. administration Ability to add, change and delete Y Supported users. Ability to assign access to users Y Supported Ability to create roles or level of Y Supported users Ability to set up default levels of Y Supported access Ability to clone and/or access Y Supported with configuration rights Mass delete of users Ability to copy a user ID Ability to export user load N Supported, but not implemented information from member backend. User can be associated with N Groups here refers to multiple groups. organizations, which required customization HIERARCHIES Ability to publish rights and N No hierarchies privileges across hierarchies. Ability to authorize multiple N No hierarchies levels of a hierarchy Ability to manage access against N No hierarchies hierarchies Flexible data access and N SSO out of the box does not management. deal with application-specific access (data required with an application) Data Publication N Not supported User can view or access data in N Not supported another sub-domain in their domain. User can view or access data in N Not supported different domain. POLICY ENFORCEMENT Single sign on Y Supported Ability to integrate with Y Supported affiliates (i.e. other 3 applications that make up the portal). Ability to interface with other Y Supported applications: The supply chain coordinator 3 Remote hosts Platform independent Centralized policy management Y Supported REPORTING The following community N Admin can see some of this management reports were data, but it is not enabled to be identified: viewed by users through their Master user list own application Click and view access list User with published data authorization (i.e. users in other domains or sub-domains. Usage reports Lockout notification Y Online monitoring capability View audit log N The supply chain coordinator's admin only - not readily available to individual users Parameter driven reports N The supply chain coordinator's admin only - not readily available to individual users
[1300] In comparing this chart to the one in the last section outlining option 1, there are many more “Yes” functions. These are in the areas of single sign-on, integration of affiliate sites, distributed user administration, and central policy management. What is not supported in this approach are hierarchies, publishing privilege rights to other users outside of one's group, managing application specific data in the user profile, and advanced activity reporting made available to individual users.
[1301] Product Options
[1302] There are several companies who provide software and services centered around this approach. These companies include Netegrity, Securant, enCommerce (a division of Entrust), and Oblix. For the supply chain coordinator, GE recommends that Netegrity and Securant be evaluated for the portal management software solution. This is as a result of research conducted for GE Global Exchange Services deployments already in production and implementation experience in the General Electric Company.
[1303] There are several differences between the two products in architecture more than function. Netegrity is the market leader and has the most large scale implementations, including providing the base architecture for GE's global supplier portal and several other GXS solutions where the requirements were similar to the supply chain coordinator's. Securant waited longer to go to market, but by many accounts has a better future vision and more elegant architecture. Another significant different is that Netegrity is very focused on development around LDAP, where Securant uses database technology as the base under their directory structures.
[1304] In order to compare the two products, data is provided below from Giga Information Group. The following is a list of criteria used by Giga Information Group to evaluate web-based single sign-on products:
[1305] Multiple Authentication Types—All SSO products support passwords, of course. But some may support additional authentication types, such as biometrics, digital certificates, tokens or smart cards.
[1306] Authentication Method—The method differs from the type by representing the underlying authentication architecture. How well does the product handle the registration, suspension, etc.
[1307] Quality of Administration—In the case of employee SSO, the emphasis is placed on easy-to-use administrative console, intuitive commands and integration with user data repositories already in existence (e.g., human resources databases). Web SSO products are evaluated similarly, with the added point of distributed, subordinate administration-allowing multiple administrators to manage subsets of the user population.
[1308] Breadth of Supported Applications—How diverse are the supported target applications and platforms?
[1309] Granular Access Management—The Administrative console should permit the administrator to control authorization not only to certain applications, but also under certain conditions. Web SSO products are heavily weighed on this point.
[1310] Robust Architecture—How fault-tolerant and efficient is the underlying architecture of the product itself? How well does it scale to loads and to geographic distances?
[1311] Use of Directory Services—To what extent does the product rely on directories, compounded with the ability of that directory to be used for other purposes simultaneously?
[1312] End User Ease of Use—For employee SSO, this refers mainly to the familiar desktop experience and the elimination of normal log-in interruptions. For Web SSO users, this refers to the degree to which the user's desktop browser is modified in any way.
[1313] Vision—Also known as product road map, which vendor projects the most visionary use for its products during the next five years?
[1314] Costs and Timelines
[1315] For option 2 the assumption is that the security management solution software provides single sign-on, authentication management, entitlement management, distributed administration and affiliate services. Table 19 shows list of assumed functionality for the purpose of cost and level of effort estimation:
TABLE 19 Option 2: Netegrity or Securant Security Management Feature List Solution Software Distributed User Option 1 plus user registration service with the Administration following directories technology: Netscape LDAP, NT Domains, Novell Directory Services, SQL Database, Oracle Internet Directory Administrative Basic User/Session/Application tracking Audit Trail Access Web interface to administer authorization and access Management control, secure portal management Logon/Password Basic authentication schemes, X.509, tokens, Forms, Management RADIUS, certificates and SSL Reporting Basic reporting from system/software logs Policy Centralized basic policy-based management Enforcement Data Management Basic access rules on data
[1316] Hardware
[1317] Once hardware is acquired, the supply chain coordinator may need to host the solution on a dedicated platform. This may require at least two standard server class machines, one for production and one for pre-production/backup. The supply chain coordinator may choose to have a third box as a dedicated development and test environment or dedicated backup.
[1318] Product Training
[1319] For all developers who customize and build on the security platform, training may be required. The estimated time for training is a month per applied resource.
[1320] Resources
[1321] The following is an estimated list of resources that may be required to install and configure the security management solution software to provide the functionality in the table above.
[1322] 1 project manager
[1323] 1 system integrator
[1324] 1 QA
[1325] 1 security consultant
[1326] Estimated Project Length
[1327] Estimated project length is 2-3 months.
[1328] Option 3 addresses many of the delegated and self-administration requirements the supply chain community demands. While the product itself provide the ability to distribute administration features, most of these center around assigning access privileges for applications or resources. It does not take into account distributed administration of user specific data (preferences and data attributes) that may be required by the applications behind the supply chain portal. The basic product also does not capture and consolidate events from multiple applications and make them available for viewing by individual users and group administrators.
[1329]
[1330] In one aspect, the identifier includes a password. In another aspect, the data is encrypted. In a further aspect, the list is updated upon receipt of a notice from at least one of the stores. In an additional aspect, only certain data is displayed based on the user being one of the suppliers, distributors, and stores. In one aspect, the network includes the Internet.
[1331] Setting Up a Unified Directory
[1332] Directory structure may be useful for extending the security management solution. The exact design of the directory may be the first task for an organization implementing the extended functionality for the supply chain coordinator. Directory design is beyond the scope of this engagement, but the following outlines the items to create directory structures that support the supply chain coordinator's needs.
[1333] 1. Determine the Directory's Goals
[1334] 2. Plan the Directory Data
[1335] 3. Identify all data to go into the directory
[1336] Determined where the data may be mastered
[1337] Determine who manages the data and who exactly may be allowed to update data
[1338] Determine who can use the data and form
[1339] Document the results
[1340] In identifying data, the question of what should go into the directory should be asked. The answer is data that is read often and written little:
[1341] Data that can be expressed in simple object-attribute-value form
[1342] Data useful for more than one audience
[1343] Data accessed from more than one physical location
[1344] It is also important to ask what should not go into the directory. The answer is data that changes frequently, Large and unstructured chunks of data designed for file systems, ftp servers, web servers, or relational databases, data that requires sophisticated database operations to be accessed and manipulated.
[1345] 4. Plan the Directory Schema
[1346] Identify all attributes needed to support a directory
[1347] Identify which attributes should be indexed
[1348] Identify all object classes needed to support a directory data
[1349] Determine if and how you may extend the schema
[1350] Document
[1351] The questions in planning the schema are how may the data be represented?
[1352] What is the authoritative source of each data element
[1353] Who is the owner for each element in the schema
[1354] How is the data element updated in the directory and how often
[1355] How often is the data accessed and in what way
[1356] Would indexing the data element be productive for speeding up lookups?
[1357] 5. Plan the Directory Tree
[1358] 6. Plan the Security Policies
[1359] 7. Plan for Replication and Referrals
[1360] 8. Create the Implementation Plan
[1361] Extending the Directory to Meet Application Specific Requirements
[1362] Adding User Specific Attributes
[1363] Portal management solutions based on a directory include the ability to create extended attribute columns in the schema. Extended attributes can serve a number of uses by applications. Two common examples are user preferences such as language and local time. Once the directory structure designed by the process above is in place, the supply chain coordinator may need an application to allow users to manage their preferences and other data to be used by applications.
[1364]
[1365] For each attribute category the supply chain coordinator decides to include in the directory store, administration screens may be required to add, modify, or delete the attribute data.
[1366] Advanced User Privileges for Extended Directory Use
[1367] Once the application functionality specified previously exists, a new community management challenge presents itself. The question of who can access the new administrative features and what attributes they can update must be answered.
[1368] What makes this challenge much greater than managing privileges in Option
[1369] At creation time, a user can get the following privileges:
[1370] Default privileges (defined by group type, user type and creator privileges, they are the intersection of these three sets of privileges, what is common to all of them).
[1371] Allowable privileges (creator privileges) These privileges are those, which the creator has, but are not included in the users default privileges.
[1372] Default privileges are assigned to the user at creation time (a trigger should be automatically fired), the allowable privileges may be granted if the creator choose to. The user privileges can be modified later by a user with sufficient privileges. That modifier user can revoke any privilege, (no matter if he/she has or does not have that privilege) and can grant only the privileges he/she has.
[1373] The administrative interface needs to be extended to allow for the addition of allowable features. The process by which default privileges may be assigned also needs to be customized in this approach. Once the more sophisticated privileges are in place, the update preference process is enhanced to check for proper access level.
[1374] Once this information is stored and updated in the user profile
[1375] Finally, though outside of the scope of the portal management solution, the applications that may use the extended attribute information must be programmed to correctly receive the information and put in into its application session.
[1376] Custom Privilege Templates
[1377] Another way to extend the security management solution to make administration easier is privilege templates. There should be privilege templates for each domain in the system. These focus on applications a certain type of user can access. For example, certain functions are only for the supply chain ember users. If there are certain things a user type can perform, making the administrator setup these privileges over and over again for each new user is a waste of time. Setting up a template for all users of that domain makes more sense. The domain privilege templates are created and maintained (add/delete privilege) by admin users.
[1378] Throughout the community there are many users who share a similar job function. Some of these differ within a domain, but some also are the same throughout the system. For example, every group may have an administrator regardless of domain. In order to save time in user setup, a user should be able to be assigned a role type that carries a certain number of privileges with it. The role may be used as a template to setup users, or the role might actually become an entity that privileges are assigned to, and whereby a user inherits those privileges by being attached to the role. Some roles may be setup for use across the system by the system administrator; the domain where the role is used may bound these. Other roles might be setup in a domain or group, depending on how much flexibility the supply chain coordinator decides to include in the solution.
[1379] The final piece to what a new user can be granted deals with the fact that a user can add only privileges that he/she was granted with, however he/she can delete any privilege that the grantee template contains.
[1380]
[1381] There should be a user interface for maintaining the tables where domain and role templates are stored. After a new domain or role is created in the system, a UI page is needed that allows the creator to attach newly created templates of privileges to the new domain or role. The creator can grant only his/her privileges.
[1382] Combined Activity Logging and Reporting
[1383] Another feature the supply chain community asked for was a single place to view the activities their employees perform in supply chain applications. In option 1, this was not possible, as there was not a single view of a user across applications. In option 2, there was single sign-on and the infrastructure to capture some user information across applications, but very little customization performed to take advantage of the infrastructure.
[1384] In option 3, two important functions are added. First, development is performed to increase the number of events that are captured about the user. This includes integration to the third party ASP applications to retrieve a set of user initiated events. These events are either stored in the security solution logs or in the supply chain coordinator's database.
[1385] The second part of this development effort includes building online visibility to the events captured for a group's administrator. This function gives the distributed community administrators the tracking capabilities they have asked for. These online views and reports should allow a group admin to see activities, both application access related and perhaps even user actions within an application (depending on what the third party ASP applications can provide). There was also discussion during the workout sessions that the system might provide visibility for users within a company, with possible views including all registered users from their company.
[1386] Comparison to Requested Functions
[1387] In a previous section, the features requested by the supply chain community were detailed along with the functions those features imply. Table 20 shows whether functions are provided by this approach along with an explanation.
TABLE 20 Feature Y/N Explanation SECURITY Lockout user after n Y Supported unsuccessful logon attempts Notify administrator of lockouts Y Supported On line monitoring Provide alternate passwords for lost/forgotten password situations Password expiration; require Y Supported periodic password changes Acceptable password length Y Supported parameters Ability to assign/select password Y Supported (not self-registration) Ability to transfer logon Y Agent to integrate affiliate sites. intelligence. Record all activities to the audit Y Supported log COMMUNITY MANAGEMENT Distributed community Y Basic in this option. administration Ability to add, change and delete Y Supported users. Ability to assign access to users Y Supported Ability to create roles or level of Y Supported users Ability to set up default levels of Y Supported access Ability to clone and/or access Y Supported with configuration rights Mass delete of users Ability to copy a user ID Ability to export user load N Supported, but not implemented information from member backend. User can be associated with N Groups here refers to multiple groups. organizations, which required customization HIERARCHIES Ability to publish rights and N No hierarchies privileges across hierarchies. Ability to authorize multiple N No hierarchies levels of a hierarchy Ability to manage access against N No hierarchies hierarchies Flexible data access and Y Custom extensions to support management. application specific data needed to control data access DATA PUBLICATION User can view or access data in N Not Supported another sub-domain in their domain. User can view or access data in N Not Supported different domain. POLICY ENFORCEMENT Single sign on Y Supported Ability to integrate with Y Supported affiliates (i.e. other 3 application that make up the portal). Ability to interface with other Y Supported applications: the supply chain coordinator 3 Remote hosts Platform independent Centralized policy management Y Supported REPORTING The following community Y Custom management reports were indentified: Master user list Click and view access list User with published data authorization (i.e. users in other domains or sub-domains. Usage reports Lockout notification Y Online monitoring capability View audit log Y Custom Parameter driven reports Y Custom
[1388] From the comparison chart, this is a pretty comprehensive alternative. Still missing are the most complex community management items such as hierarchies and data publication across domains, but most other items are supported by this alternative.
[1389] Costs and Timelines
[1390] For option 3, the assumption is that the security management solution software provides more advanced administration features, self-administration, improved session tracking and event capture, detailed reporting, and custom policy extensions. Table 21 shows a list of assumed functionality for the purpose of cost and level of effort estimation.
TABLE 21 Option 3: Security Management Solution Software + Custom Feature List Administration Distributed User Option 2 plus, Custom approve/reject registration, grant/deny Administration access to applications, grant privilege, modify user profiles, reports Administrative Custom User/Session/Application tracking Audit Trail Access Management Web interface to administer authorization and access control, secure portal management and custom agents. Logon/Password Basic authentication schemes, X.509, tokens, Forms, RADIUS, Management certificates and SSL. Custom notification and online monitoring Reporting Custom reporting integrated with monitoring systems Policy Enforcement Custom extension of the policy Data Management Custom extension
[1391] Software and Hardware
[1392] From a cost standpoint, Option
[1393] Resources
[1394] The following is an estimated list of resources that may be required to install and configure the security management solution software, develop custom administration, and develop custom reports to provide the functionality in the foregoing table.
[1395] 1 project manager
[1396] 1 business analysis
[1397] 1 system integrator
[1398] 2 web/database developers
[1399] 1 QA, security consultant
[1400] Estimated Project Length The estimated project length is 4-6 months (Dependent on completion of option
[1401] The supply chain coordinator has a very unique community with real-world issues that defy standard organizational definitions. No two organizational structures or ownership arrangements are the same. Yet being able to map the real world may be useful for fully meeting the community's requirements without clumsy workarounds.
[1402] The following section describes several custom additions that could be developed to push out community management to end-users and allow them to manage their web-based applications in a way matching their real-world business organization. Also presented is a way to dynamically manage the relationships between supplier, distributors, and retailers in place of a cross-reference method that requires constant update for application data access.
[1403] Each of the following would be custom developed application. While they would integrate heavily with the portal management solution and directory structure in options 2 and 3, they would be stand alone applications that would run in their own environment.
[1404] Hierarchies are a way of representing real-world structures inside of an application. The purpose is to provide a more flexible way to manage the relationships between entities and other entities, entities and users, and users and data. Hierarchies are very complex to implement, especially in a many to many community such as the supply chain coordinator has. If implemented properly, however, they can provide group owners a way to manage their application and data controls that matches the way they see their own businesses and maps how they control functions in real life. This section attempts to lay out how hierarchies are implemented, maintained, and how they can be used to enhance privilege storage.
[1405] Creating and Managing Domains
[1406] The first step in creating a hierarchy is to create domains. Domains are the different types of groups that may exist in the portal, with each one requiring different business rules for privilege assignment. An application function is needed to add a domain or remove a domain as shown below.
[1407]
[1408] Creating and Managing Groups (Corporate Organizations)
[1409] Once domains exist, the next step is to setup groups within a domain. An example is the supplier domain. There are many different supplier companies, and each of these may have their own group (to control data access rights) even though they all share common application access rights. To technically describe groups under the top level domain, the term node is used. Nodes can be single level in nature or built in n-tiered structures, with each node having a parent node. In the case of a top level group, the parent node is the domain itself. An application function to add/modify/delete child nodes is required to add groups as shown in the diagram below.
[1410]
[1411] Groups exist within a domain. Therefore no matter what roles are created within a group, they are bounded by the privileges granted to a domain.
[1412] Adding Users to a sub-group (node) versus to companies
[1413] In a directory based security model (LDAP or NT). users typically belong to companies (groups). In the move to n-tiered hierarchies, there is also a move from the directory used by the SSO product to a relational database. This is because referential integrity is required to take full advantage of and properly manage hierarchies. By only allowing top level groups (not allowing an n-tired hierarchy) the hierarchies are easily synched to the companies in the directory. If the supply chain coordinator chooses to enable sub-groups, however, users belong to nodes and not companies, and the path to the top node of each hierarchy instance identifies the corresponding company in LDAP. An n-tier hierarchy is shown below.
[1414]
[1415] If n-tiered hierarchies are enabled, the management feature must also allow for nodes to be moved from one parent to another, as well as the ability to take a node and all nodes attached below it and move them together.
[1416]
[1417] Hierarchy Linkages for Data Access Control
[1418] In the initial stages, all information distributed by the supply chain coordinator to suppliers and distributors may be packaged by the supply chain coordinator. For example, in the pilot, the supply chain coordinator maintains a list of stores served by a specific distributor. When a report runs, it runs for all retailers associated in the cross-reference table to that distributor. To make sure information is correct, those cross-reference tables must be up to date. This approach also means that the supply chain coordinator is in control of what data can be viewed by a distributor, and there are very few controls over who within a distributor organization can view retailer information. The supply chain member has very little control over their data in this scenario, and the supply chain coordinator has a very high management overhead in this data exchange.
[1419] To perform more complex data access control, the supply chain coordinator may choose to implement linkages between organizational hierarchies. As described below, hierarchies can be added to each domain (The supply chain coordinator, supplier, distributor, supply chain member, retail manager) to add application access flexibility. For data purposes, there can be links between nodes of one hierarchy and another. The most common usage of this would be a distribution center to a store.
[1420] Example: Looking at a large supply chain member and a distributor that serves them. A generic structure is shown in Table 22.
TABLE 22 supply chain member Distributor Corporate Group Operating Group Division Region State Distribution Center City/Area Retailers Retailer
[1421]
[1422] Hierarchy linkages for Data Publication
[1423] Each point in a hierarchy is a “node”. Each node has a number or value assigned to it. This NODE_ID is numeric, unique system-wide and would enable the supply chain coordinator hierarchy system to clearly and unambiguous define in the application any location in the supply chain member, supplier, distributor, or retail outlet manager hierarchy.
[1424]
[1425] Now, assume that Joe is really a field auditor in the west restaurant manager division. As the restaurant manager admin, you want to setup Joe so that he can only access data for the West region, and cannot see the other divisions data. In the database portion of the security management system, the company id (restaurant manager) in the company id is replaced with a group id. Because the group id is a sub-group of the top level restaurant manager node, it can be associated back to the company_id that is stored in the directory.
[1426] Because Joe now belongs to group
TABLE 23 Group Grantor Restricted Id User Id User Type Priv. Id Id Node Id 503 Joe the supply View Order 500 chain member Data
[1427] Another case might be that while Joe works in the West Region, he actually only audits restaurants in the Tempe Metropolitan area. The columns can be added to the privilege to include other information such as a node that further restricts data access. With the privilege below, Joe can now only view order data for restaurants below node
TABLE 24 Group Grantor Restricted Id User Id User Type Priv. Id Id Node Id 503 Joe supply View Order 500 506 chain member Data
[1428] The concept of extending columns in the privilege store becomes very important when on organization has a requirement to grant access to applications and data to users in another group or another domain.
[1429] Introduction
[1430] The requirement to grant access from one group to a user in another group comes from the complex ownership arrangements that the supply chain members have.
[1431] The supply chain members are the owners of the data (retailer information). They can publish (grant) their privileges to users in other organizations. The design for this is that supply chain members publish data in their hierarchy by:
[1432] Granting access to retailers that belongs to their group or to groups downward in their (supply chain member) hierarchy.
[1433] Granting access to specific retailers (many retailer ids).
[1434] Granting access to retailers within a state or a zip code.
[1435] Example:
[1436] The grantor that belongs to 345-supply chain member node publishes the privilege to view order data to user Joe belonging to 123 supply chain member node. What Joe can see, so far, are the retailers the granter can see in his hierarchy, “R
[1437] The grantor can narrow down the publishing by specifying a node in his hierarchy, let us say node
[1438] A “state” or “zip code” can narrow more the publishing.
[1439]
[1440] Table 25 shows an example of how the privilege would be written to the central policy management.
TABLE 25 Re- Res- Group User User Priv. Grantor stricted taurant Attributes Id Id Type Id Id Node Id Id(s) (state/zip) 123 Joe supply View 345 456 chain Order member Data
[1441] Just the node numbers are stored in the directory. When the user is authenticated and accessing applications that need a store list in order to properly enforce data access rules, the custom application written in this alternative must access the hierarchies in the database. From the database, the application translates the intersection of the node ids into a list of valid stores that the user may perform the granted functions. This retailer list is then returned as part of the header strong to the resource requested.
[1442] You could even make this more granular by adding attributes for state or zip code associated with the nodes (especially the lowest node, which is a retailer).
[1443] Publication Functionality
[1444] The following is a list of publication functionality from a supply chain member point of view.
[1445] Publish any privilege a user has (and my data span of control) to users that need to perform actions for my retailers.
[1446] Publish all my privileges a user have (and my data span of control) to users that need to perform actions for my retailers (mainly for equal partners).
[1447] Revoke user publication.
[1448]
[1449] Publication Business Rules
[1450] A supply chain member can grant access to retailers that belong to their group or to groups downward their hierarchy. A user can see only items at retailer level if he/she got “privilege” published “to him/her. The supply chain member nodes and retailer ids should not be mutually exclusive, as a node can be specified but a retailer may also be specified.
[1451] Retailer ids and attributes should be mutual exclusive, either one can be specified, but not both. This is because attributes are restrictive, so by default any store specified must also have that attribute as part of it.
[1452] Only the grantor can revoke data publication.
[1453] The supply chain member does not publish data to users that belong to supplier or distributor hierarchy.
[1454] Suppliers or distributors can see data based on the retailers linked to their hierarchy without the supply chain member specifically publishing data (assuming the application permission has been granted to the supplier/distributor domain by the supply chain coordinator). There is no need for a supplier/distributor to see another supplier/distributor hierarchy data.
[1455] The supply chain member can publish data to the supply chain member users.
[1456] The supply chain members publish data to another supply chain member user only if the user is not in the same hierarchy with the grantor or if the user is in another branch of the hierarchy than the grantor.
[1457] A very complex customization of the directory attributes would be to bound all privileges by start and end dates. The reason behind this optional function is that retailers often change hands. It was expressed in the workout sessions that members may need to view historical data for a specific retailer (from both the supplier/distributor side as well as the supply chain member side) even if they not currently own or serve that retailer. There are also legal requirements that may require this ability. Table 26 illustrates an example of this privilege.
TABLE 26 Group Grantor Restricted Retailer Attributes Id User Id User Type Priv. Id Id Node Id Id(s) (state/zip) Start Date End Date 123 Joe Supply View 345 456 Jan. 1, 2000 Jan. 1, 2001 chain member Order Data
[1458] As the number of attributes that need to be used by the application or translated into other information such as retailer numbers increases, so does application load. There are significant impacts on application performance and ease of use, as well as maintainability of both the portal management solution and the applications.
[1459] Auto associate store information
[1460]
[1461] In an aspect, the updating includes updating the first identification information to include the second identification information. In another aspect, the updating includes updating a distributor assigned to the stores based on the comparison. In further aspect, the first information includes a store identification number. In one aspect, the registration is further updated based on the data. In an additional aspect, the network includes the Internet.
[1462] The supply chain coordinator receives a load of updated retailer information from the retailer manager. This information is currently batch loaded into the SQL database and updates are made to tables matching retailers to suppliers, distributors, and supply chain members.
[1463] A desire is for the supply chain coordinator to automate this maintenance in the portal management solution as well. This is straight forward if the supply chain coordinator continues to use straight cross-reference between retailers and suppliers/distributors as the same tables may probably be accessed by the applications to determine data access in the application. But if hierarchies are used, there may need to be a custom application written to apply the following business rules.
[1464] When a new retail outlet is added, the application should check to see if that retailer already exists. If it does not, a new retailer entity should be auto-added to the proper group/the supply chain member node.
[1465] Each time new retailer information in the address field arrives the application may compare the new information to the retailer address information to see if data has changed. If yes, the retailer information is updated.
[1466] If the retailer is moved from a group node (deleted or reassigned) and it is the last retailer attached to a group node, the group node and corresponding supply chain member should be auto-deactivated.
[1467] Each time new retailer information arrives, the retailer's group/supply chain member information should be compared with the group/supply chain member # the retailer is already associated to. If it is different, the retailer should be reassigned (re-linked) to the appropriate group/supply chain member node. The Auto-add/delete processes may run as appropriate.
[1468] One issue may be how to auto-associate a retailer to the proper place in a node. In the design phase, available data elements should be examined to see if it is possible. If not, then there should be an “unattached” node not visible to applications outside of the hierarchy management. When the supply chain coordinator adds a retailer to a supply chain member, that member could assign it to the proper hierarchy point through the distributed administration.
[1469] A second issue may be where to associate the new retailer to the distributor or supplier node. There may the ability to pull attributes from the information the supply chain coordinator puts in their database (distribution center number or supplier ship from location). If an attempt is made to auto-associate the new retailer to other domains beyond the supply chain member's, a check process may be required to make sure the auto-association is correct, otherwise unauthorized data access could occur.
[1470] In a previous section, the features requested by the supply chain coordinator's community were detailed along with the functions those features imply. Table 27 shows whether functions are provided by this approach along with an explanation.
TABLE 27 Feature Y/N Explanation SECURITY Lockout user after n unsuccessful Y Supported logon attempts Notify administrator of lockouts Y Supported On line monitoring Provide alternate passwords for lost/forgotten password situations Password expiration; require Y Supported periodic password changes Acceptable password length Y Supported parameters Ability to assign/select password Y Supported (not self-registration) Ability to transfer logon Y Agent to integrate affiliate sites. intelligence. Record all activities to the audit Y Supported log COMMUNITY MANAGEMENT Distributed community Y Basic in this option. administration Ability to add, change and delete Y Supported users. Ability to assign access to users Y Supported Ability to create roles or level of Y Supported users Ability to set up default levels of access Y Supported Ability to clone and/or access Y Supported with configuration rights Mass delete of users Ability to copy a user ID Ability to export user load Y Custom information from member backend. User can be associated with N But goal is accomplished with publish multiple groups. privilege feature HIERARCHIES Ability to publish rights and Y Custom hierarchies privileges across hierarchies. Ability to authorize multiple Y Custom hierarchies levels of a hierarchy Ability to manage access against Y Custom hierarchies hierarchies Flexible data access and Y Custom extensions to support management. application specific data needed to control data access DATA PUBLICATION User can view or access data in Y Custom another group in their domain. User can view or access data in Y Publication supports this, though only different domain. real case is the supply chain coordinator board member, and the supply chain coordinator may handle by system admin having a custom feature to assign access privilege to users instead of publishing privilege across domains POLICY ENFORCEMENT Single sign on Y Supported Ability to integrate with affiliates Y Supported (i.e. other 3 make up the portal). Ability to interface with other Y Supported applications: the supply chain coordinator 3 Remote hosts Platform independent Centralized policy management Y Supported REPORTING The following community Y Custom management reports were identified: Master user list Click and view access list User with published data authorization (i.e. users in other domains or sub-domains. Usage reports Lockout notification Y Online monitoring capability View audit log Y Custom Parameter driven reports Y Custom
[1471] Option 4 is the comprehensive community management solution. It requires a lot of customization, a lot of which occurs outside of the SSO/Portal Management solution. It does, however, meet all the functions specified by the supply chain community CTQs.
[1472] For option 4, the assumption is that the security management solution software provides hierarchies, hierarchy management, and other customizations detailed in this section. Table 28 is a list of assumed functionality for the purpose of cost and level of effort estimation:
TABLE 28 Option 4: Security Management Solution Software + Custom Feature List Administration with Advanced Community Structure Distributed User Option 3 plus Custom hierarchical community structure at Administration group/role/user level, structure to structure relationship, grant privilege across group, advanced administration features Administrative Custom User/Session/Application tracking Audit Trail Access Management Web interface to administer authorization and access control, secure portal management and custom agents. Logon/Password Basic authentication schemes, X.509, tokens, Forms, RADIUS, Management certificates and SSL. Custom notification and online monitoring Reporting Custom advanced reporting integrated with monitoring systems Policy Enforcement Custom extension of the policy Data Management Custom extension
[1473] Software and Hardware
[1474] From a cost standpoint, Option 4 assumes that both option 2 and 3 are already implemented. Therefore, additional software license fees are not required for security management software. Additional hardware is probably required to support the heavy application and database requirements for hierarchies and their use.
[1475] The following is an estimated list of resources that may be required to install and configure the security management solution software, develop the custom community management applications, and program custom data structures to provide the functionality in the table above.
[1476] 1project manager
[1477] 1 business analysis
[1478] 1 system integrator
[1479] 2 or 3 web/database developers
[1480] 1 QA
[1481] 1 security consultant
[1482] Estimated Project Length The estimated project length is 6-8 months (assumes completion of options
[1483] Network Considerations
[1484] The supply chain coordinator can host the web portal itself, co-locate the portal servers at an ISP offering co-location services, or completely outsource the portal management solution (network and servers) to a managed service provider
[1485] Hosting a Secure Portal
[1486] From a network view, the following details best practice for configuration of network servers for the portal.
[1487] One major issue may be managing a mission-critical network environment where users can execute transactions. The choice of ASP providers must also be a consideration.
[1488] Managed Services
[1489] A third option is to outsource all port, router, network and platform management. This is called managed services. There is a difference between managing up to the platform (OS) and the actual portal management solution.
[1490] The options for managed services to the platform level are the same players. Again, Level 3 is the only large national player in the Miami market. They do not offer managed services on their own, but have a partner program to provide these services. The actual partner for the southern region would need to be confirmed, but it is probably the same company that provides this service in the mid-Atlantic region, named AiNET. A company like AiNET would not have knowledge of the portal management solution itself, but would manage everything else from a security view including attacks against the network and the machines.
[1491] The next level of managed service includes actually operating and configuring the portal management solution. Companies in this class have resources already trained in the portal management solution and can take ownership of delivering the software and operating it for a community. Each provider has a number of partners in this area; GE Global Exchange Services is one of these companies. GXS provides managed Netegrity solutions along with others. Securant has many system integrator partners, though it is hard to tell who specializes in hosting and operating their solutions.
[1492] Application Security
[1493] Many of the applications that may sit behind the portal may be developed and operated by other organizations. The following details some recommendations for applications built on the NT platform using Microsoft framework and for evaluating ASP provided applications' security.
[1494] Recommended Policies
[1495] Objects must be cleared before they are reused
[1496] Errors during clearing must be handled in a way that ensures objects are not reused without clearing
[1497] Browser caching directives must be used for sensitive pages
[1498] Use of temporary files must be threadsafe
[1499] Temporary files must be removed when no longer required
[1500] Approaches
[1501] Clear after use
[1502] Clear before use
[1503] Use finally to ensure that objects are cleared
[1504] Vulnerabilities
[1505] Database connection is reused, revealing another user's data
[1506] Object pool includes one user's page with another's user page
[1507] Caching algorithm inappropriately matches a request a with a response containing another user's data
[1508] Code Quality
[1509] Recommended Policies
[1510] All code must conform to a consistent style guideline
[1511] All code must be documented
[1512] Intentionally complex code must be justified
[1513] “Easter eggs” shall not be included in the code
[1514] Approaches
[1515] Use style guideline from www.microsoft.com
[1516] Use tools to enforce style guidelines
[1517] Use design reviews to catch problems early
[1518] Use peer reviews to prevent hidden problems
[1519] Vulnerabilities
[1520] The more flaws the more likely one is to be exploitable by an attacker
[1521] Poor code quality can rise to the level of a security problem
[1522] Concurrent Programming
[1523] Recommended Policies
[1524] No thread of execution within the application should be able to substantially affect any other thread
[1525] Approaches
[1526] Synchronize access to all shared resources, including files and the session
[1527] Eliminate all class and instance variables, unless final
[1528] Single Thread Model is not recommended for performance reasons
[1529] Vulnerabilities
[1530] Information in shared resources can be inadvertently
[1531] Debugging is difficult as these problems can be difficult to reproduce
[1532] Database Access
[1533] Recommended Policies
[1534] Parameters used in database queries must not be able to modify the intended query
[1535] Results from queries must match the expected results
[1536] Reliance on database permissions must be minimized and explicitly identified in the implementation
[1537] The username and password used to access the database must have the minimum amount of privilege required by the application
[1538] Approaches
[1539] Single encapsulated library for accessing databases
[1540] Prepared statements should be used instead of ordinary statements
[1541] Vulnerabilities
[1542] Queries can be modified to reveal data or corrupt database
[1543] Debugging and Testing
[1544] Recommended Policies
[1545] Code that is not used must be eliminated
[1546] System.output.println() must not be used
[1547] Approaches
[1548] Use an assertions framework
[1549] Keep testing code separate from production
[1550] Vulnerabilities
[1551] High likelihood that this code may inadvertently get enabled
[1552] Security Organization and Metrics
[1553] Security Roles
[1554] Chief Security Officer
[1555] Define and Continuously Revise Corporate Policy and Standards
[1556] Lead Company Wide Awareness and Training Program
[1557] Enhance Assessment Tools
[1558] Develop Security Dashboards and Scorecards
[1559] Facilitate Session i
[1560] Resource Planning and Budgeting
[1561] Align Security Strategy with Business Objectives (e-commerce)
[1562] Resource Planning and Budgeting
[1563] Session i, Security Self-Assessment, Corporate and Business Specific Security Measurements
[1564] Take Security to the Masses
[1565] Security Manager
[1566] Select and Package Latest Technology for New Security Initiatives
[1567] Coordinate with Businesses to Rollout Initiatives
[1568] Define Technical Security Infrastructure (Single Sign-On,
[1569] Intrusion Detection, Digital Certificates, VPN, etc)
[1570] Assist Business to Resolve Business Specific Security Issues
[1571] Security Administrator(s)
[1572] Multiple people (Finance, IT, or distributed)
[1573] Responsible for Implementation in Business Site
[1574] Perform IT Security Tasks, Monitor Outsourcing Vendors and Coordinate with 3rd Parties
[1575] Security Review Structure
[1576] The new technological infrastructure and its associated electronic reporting and feedback systems equips retailer management with accurate, timely, and previously unavailable information from the Supply Chain on sales, marketing and other performance indicators allow Supply Chain management to fully engage in managing supply and distribution processes and channels toward identified and agreed strategic objectives provide franchisees and retailers with the Supply Chain information they need to operate efficiently and make effective management decisions minimally impacts the resources of Supply Chain management.
[1577] With Supply Chain management assuming full responsibility for managing the fundamentals of the Supply Chain system, Supply Chain participants are strategically positioned to focus on the six business priorities that have been identified: operational excellence, boosting sales growth, focusing resources, discovering the essence of the Brand, image transformation and revitalizing franchisee relations.
[1578]
[1579] In one aspect, the data may be parsed to match each of a plurality of health and personal care products distributors and health and personal care products suppliers. As a further aspect, the data may be made accessible to the health and personal care products outlets, the health and personal care products distributor, the health and personal care products supplier via a network-based interface. As an additional aspect, the data may be accessible to the health and personal care products distributor and the health and personal care products supplier only after verification of an identity thereof. In another aspect, the network may include the Internet. In a further aspect, the health and personal care products outlets, the health and personal care products distributor, and the health and personal care products supplier each may forecast utilizing the data.
[1580]
[1581] In one aspect, the data may be parsed to match each of a plurality of electronics and appliances distributors and electronics and appliances suppliers. In another aspect, the data may be made accessible to the electronics and appliances outlets, the electronics and appliances distributor, the electronics and appliances supplier via a network-based interface. In an additional aspect, the data may be accessible to the electronics and appliances distributor and the electronics and appliances supplier only after verification of an identity thereof. In another aspect, the network may include the Internet. In a further aspect, the electronics and appliances outlets, the electronics and appliances distributor, and the electronics and appliances supplier each may forecast utilizing the data.
[1582]
[1583] In one aspect, the data may be parsed to match each of a plurality of transportation equipment distributors and transportation equipment suppliers. In another aspect, the data may be made accessible to the transportation equipment outlets, the transportation equipment distributor, the transportation equipment supplier via a network-based interface. In an additional aspect, the data may be accessible to the transportation equipment distributor and the transportation equipment supplier only after verification of an identity thereof. In another aspect, the network may include the Internet. In a further aspect, the transportation equipment outlets, the transportation equipment distributor, and the transportation equipment supplier each may forecast utilizing the data.
[1584]
[1585] In one aspect, the data may be parsed to match each of a plurality of home products distributors and home products suppliers.