Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
 

It pays to be popular as 3 launches revolutionary concept
Category:
Writing  

How Precious Are Tack Trunks Really
Category:
Hobbies / Pastimes  

The Best Prostate Cancer Treatment Is Early Treatment
Category:
Health / Fitness  

Home Acne Treatments Tips
Category:
Health / Fitness  

The 7 Steps to Creating Wealth Part Two
Category:
Business  

Stag Night
Category:
Travel  

Boating One Of Life s Great Pleasures
Category:
Sports  

Using subdomains to bypass Googles sandbox
Category:
Computers  

A Healthy And Successful Weight Loss Diet
Category:
Health / Fitness  

Vitamin for Menopause understanding what s good for you
Category:
Home And Family  

Vitamins and Minerals
Category:
Health / Fitness  

Just What Is Herpes Simplex
Category:
Health / Fitness  

What Attributes are Needed to Run a Successful Business
Category:
Business  

What Do The Numbers Indicate On Credit Cards
Category:
Business  

Assumptions in Credit Repair
Category:
Finance / Investment  

Solve the mystery of your english scottish and irish roots
Category:
Hobbies / Pastimes  

CASE STUDY How Website Monitoring Saved an Online Auto Parts Ret...
Category:
Webmaster  

What is a Reverse Mortgage
Category:
Business  

Best Way To Search For Air Fare Deals
Category:
Travel  

Trendsetting Handbag Designers
Category:
Fashion  

Dating Profile does it really make so much sense
Category:
Self Help  

So What Is It About ATVs
Category:
Travel  

Free International Calls The Latest Telephony Offer
Category:
Business  

Personal Loans are here to fulfill your Personal Desires
Category:
Finance / Investment  

Introduction To Hot Tub
Category:
Home And Family  

What Can You Do to Prevent Hair Loss
Category:
Health / Fitness  

Do You Know Why Adsense Is Essential For Content Sites
Category:
Computers  

Best buddy as lover
Category:
Entertainment / Television  

Business Intelligence
Category:
Business  

My Credit Repair Success Story
Category:
Home And Family  

Back links strategies
Category:
Computers  

Make a Fortune Online
Category:
Business  

website or no website
Category:
Marketing  

Tarp Systems For Trucks
Category:
Cars And Trucks  

How to Create Great Online Dating Profiles
Category:
Home And Family  

Getting Your Goals Right
Category:
Self Help  

Online High School Diplomas
Category:
Education  

Open Door for Slim Trim Figure in Company of Phendimetrazine
Category:
Health / Fitness  

Have You Got Credos
Category:
Self Help  

Powerful autorun programs creator for your CD DVD
Category:
Computers  

Education Loans Can Fund A Higher Degree To Boost Your Career
Category:
Finance / Investment  

MANAGING YOUR FEARS AS AN ALTERNATIVE TO ABUSE AND ADDICTION
Category:
Self Help  

Need for Speed The Turbocharger Way
Category:
Cars And Trucks  

Top Marketing Concepts to make money online Part 1
Category:
Marketing  

bad credit personal loan
Category:
Finance / Investment  

Selecting Furniture for a Play Room
Category:
Home And Family  

How to Double Your Romance with One Way Dates
Category:
Home And Family  

Writing Articles Can Explode Your Business
Category:
Marketing  

Spa Vacations Which Ones Are Best
Category:
Travel  

What Is eFax Or Internet Faxing
Category:
Business  

Great Ideas for an In Home Business
Category:
Business  

3 Marketing Myths that are Stopping you Succeed
Category:
Marketing  

Consolidation loans for homeowners when multiple credits become ...
Category:
Finance / Investment  

Pectin and Weight Loss
Category:
Health / Fitness  

7 Steps To Skyrocket Your Internet Business Profits
Category:
Marketing  

Are You Walking Your Talk
Category:
Business  

Write Emails Marketing Messages That Capture Your Audience
Category:
Marketing  

How To Write Copy That Sells
Category:
Marketing  

Do You Want To Know How To Make Halloween More Enjoyable For Tod...
Category:
Home And Family  

Secrets Of A Down On His Luck Guy Who Finally Made The Right Cho...
Category:
Self Help  

Public Relations Tips You Can Take to the Bank
Category:
Business  

4 Necessary Steps You Should Take When You are Online
Category:
Computers  

Double Your Dish Network Affiliate Check
Category:
Marketing  

Weight loss supplements buying tips
Category:
Health / Fitness  

The Science of Lowcarb Diets Why They Work
Category:
Health / Fitness  

7 Sure Fire Ways to Make a Positive Impression With Your Busines...
Category:
Business  

A Home Gym and Walking a Great Exercise Program
Category:
Health / Fitness  

12 Surefire Strategies For Overcoming Your Fear Of Public Speaki...
Category:
Self Help  

Yacht Charters Provide a Luxurious Escape
Category:
Travel  

How LASIK Vision Correction Works
Category:
Health / Fitness  

Motion Sickness Wristbands are Gaining in Popularity for Effecti...
Category:
Health / Fitness  

Fantastic New Solution For All Your Traffic Troubles
Category:
Marketing  

So How Many Credit Cards Do You Want
Category:
Business  

10 Costly Search Engine Mistakes to Avoid
Category:
Business  

Make front page news by NOT inviting the media
Category:
Business

Methods and system for processing changes to existing purchase orders in an object-oriented order processing system Number:7,096,189 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     California Supreme Court Strikes Down Gay Marriage Ban by Mike O'Sullivan
     UN Scales Down Global Growth Forecast by Alex Villarreal
     Donovan, Leslie Lead USA Women's Basketball to Beijing by David Byrd

Title: Methods and system for processing changes to existing purchase orders in an object-oriented order processing system

Abstract: In an order processing system, mechanisms and techniques receive a change to an existing order in the order processing system and generate a change order based on the existing order. The change order includes the change to the existing order. The system can then compare the change order to the existing order to generate change order result that indicates differences between a change order in the existing order. The system then provides the change order result to at least one recipient such that the recipient may distinguish the differences between a change order in the existing order. Since a change to an existing order can result in changes other than those specifically specified in the received change, the system of the invention allows a person making the change to be presented with the change order results that convey all of the changes that result to the existing order.

Patent Number: 7,096,189 Issued on 08/22/2006 to Srinivasan


Inventors: Srinivasan; Subramanian (Fremont, CA)
Assignee: Cisco Technology, Inc. (San Jose, CA)
Appl. No.: 09/759,540
Filed: January 12, 2001


Current U.S. Class: 705/11 ; 707/104.1
Current International Class: G06F 17/30 (20060101); G07F 7/00 (20060101)
Field of Search: 705/1,10,26,22 707/104.1


References Cited [Referenced By]

U.S. Patent Documents
4799156 January 1989 Shavit et al.
5191534 March 1993 Orr et al.
5666493 September 1997 Wojcik et al.
5694551 December 1997 Doyle et al.
5758329 May 1998 Wojcik et al.
5870717 February 1999 Wiecha
5970475 October 1999 Barnes et al.
5987423 November 1999 Arnold et al.
6058373 May 2000 Blinn et al.
6067525 May 2000 Johnson et al.
6085171 July 2000 Leonard
6539386 March 2003 Athavale et al.
6868387 March 2005 Krueger et al.
6871187 March 2005 Gosko
2001/0047285 November 2001 Borders et al.
2002/0128946 September 2002 Chehade et al.
Foreign Patent Documents
WO 99/57664 Nov., 1999 WO

Other References

QAD.com-Application Datasheets, Sales and Distribution, and Product pages (2000), QAD Storefront Informational White Paper (2000), A solution space approach white paper (1999), Archive.org retrieved Nov. 1, 2004. cited by examiner .
Collaborative Applications Power B2B Transactions: Manufacturing Systems B2B Solutions to Command and Control Your Market Supplement, Jul. 2000, p. 2a-6a. cited by examiner .
Gamma, Erich et al., Design Patterns Addison-Wesley Professional, Jan. 15, 1995, ISBN:0201633612, Chapter 1, 4, 5. cited by examiner .
Marchal, Benoit, Applied XML Solutions Sams Professional Publishing, Aug. 29, 2000, ISBN: 0672320541, Chapters 5-7. cited by examiner .
Creating & Releaseing Purchase Order Changes for Standard Orders Checklist, Cornell University, Aug. 1999. cited by examiner .
Stultz, Allen et al., Demystifying EDI Wordware Publishing, Bk&CD-Rom edition, Jan. 15, 2000, ISBN: 1556227086. cited by examiner .
Pearton, Michael, et al., Making real time relevant (Delta Motor in South Africa uses supervisory control to line real-time assembly data with ERP) Manufacturing Systems, Jun. 1999, vol. 17, No. 6, p. 48. cited by examine- r .
Kumar, Ashish, Managing Changes in Large Programs AACE International Transactions, 2000, pp. CSC.04.1-CSC.04.08. cited by examiner .
RosettaNet PIP Specification: PIP3A4 Manage Purchase Order RosettaNet, Release 1.3, Oct. 23, 2000. cited by examiner .
RosettaNet PIP Specification: PIP3B5 Request Shipment Change RosettaNet, Release 1.0, Jan. 2, 2001. cited by examiner .
RosettaNet PIP Specification: PIP3A8 Request Purchase Order Change RosettaNet, Release 1.0, Apr. 19, 2001. cited by examiner .
McKie, Stewart, Understanding business objects: using basic building blocks to build better applications DBMS, vol. 8, No. 2, Feb. 1995. cited by examiner .
Coombs Jason et al., Order Processing on Your E-commerce Site MSDN, Aug. 1999. cited by examiner.

Primary Examiner: Hafiz; Tariq R.
Assistant Examiner: Jarrett; Scott L.
Attorney, Agent or Firm: Chapin IP Law, LLC Chapin, Esq.; Barry W.

Claims



What is claimed is:

1. A method for processing changes to purchase orders of items offered for sale in an object oriented order processing system, the method comprising the steps of: receiving a change to an existing purchase order at said order processing system, said change a result of a request by a customer, said order represented by an order object including a reference to a collection of objects containing attribute information; generating, by said order processing system, a change order based on the existing purchase order, the change order containing the change to the existing purchase order; comparing, at said order processing system, the change order to the existing purchase order to generate a change order result referencing an order comparator object that indicates differences between the change order and the existing order, and determining if any other attributes related to the change order are changed based on the change order, and if the other attributes are changed, then supplementing the change order result to indicate the differences between those other attributes, wherein the step of comparing the change order to the existing order comprises the step of: for each object in the existing order for which the change signal indicates a new value for an attribute of a corresponding object in the change order, generating a change order result that identifies: i) the new value of the attribute of the corresponding object in the chance order; and ii) the existing value of the corresponding attribute of the object in the existing order, and wherein the step of comparing is done concurrently with the step of generating a change order, such that the step of generating a change order result in the step of comparing is performed during the processing of each object in the existing order for which the change signal indicates a new value for an attribute of that object; and providing, from said order processing system, the change order result to said customer such that the customer is capable of distinguishing the differences between the change order and the existing purchase order of items offered for sale.

2. The method of claim 1 wherein the step of generating a change order containing the change to the existing order comprises the steps of: copying the existing order to the change order such that the change order contains any objects that exist within the existing order, each object having at least one attribute and an associated value; and replacing values of any attributes of objects in the change order with new values for those attributes as indicated in the change to the existing order, such that the change order contains objects having attributes having any new values as indicated in the change to the existing order, while the existing order contains objects having attributes having values that are unchanged.

3. The method of claim 1 wherein the step of receiving a change to an existing order comprises the steps of: receiving an identification of an existing order which is to be changed; placing a hold on the existing order; receiving a change signal indicating a new value for an attribute of an object; and wherein the step of generating a change order based on the existing order comprises the step of: for each object in the existing order for which the change signal indicates a new value for an attribute of that object, performing the steps of: i) copying the object and any attributes and associated values in the existing order to an object in the change order having corresponding attributes and associated values; and ii) assigning the new value as indicated in the change signal to a value of a corresponding attribute of the object in the change order.

4. The method of claim 1 wherein the step of comparing the change order to the existing order is done after the step of generating a change order.

5. The method of claim 1 wherein: there are multiple objects in the existing order which correspond to the object in the change order having an attribute for which the change signal indicates a new value; and wherein the step of comparing generates a change order result that indicates each existing value of the corresponding attribute of each of the multiple objects in the existing order.

6. The method of claim 1 wherein the step of comparing the change order to the existing order comprises the step of: for each object having an attribute in the change order that has a different value from an existing value of a corresponding attribute of a corresponding object in the existing order, generating a change order result that identifies: i) the value of the attribute of the object in change order; and ii) the existing value of the corresponding attribute of the corresponding object in the existing order.

7. The method of claim 6 wherein the step of generating a change order result generates a change order result in a format including at least one of text and a markup language.

8. The method of claim 7 wherein the step of generating a change order result selects the format of the change order result based on an identity of a recipient of the change order result and wherein the step of providing provides the change order result to a recipient in the format selected based on the identity of the recipient.

9. An order processing computer comprising: an interface; a processor; a memory encoded with an order application; and an interconnection mechanism coupling the interface, the processor and the memory; wherein the processor performs the order application as an order process to process changes to purchase orders in an object oriented order processing system, said object oriented order processing system having an order object including a reference to a collection of multiple objects containing attribute information, by performing the operations of: receiving, via the interface, a change to an existing purchase order, the existing purchase order existing in an order database accessible to the order process, said change a result of a request by a customer; generating, in the memory, a change order based on the existing purchase order, the change order containing the change to the existing purchase order and including a reference to an order comparator object; comparing the change order to the existing purchase order to generate a change order result in the memory that indicates differences between the change order and the existing purchase order, and determining if any other attributes related to the change order are changed based on the change order, and if the other attributes are changed, then supplementing the change order result to indicate the differences between those other attributes, wherein when the order process performs the operation of receiving a change to an existing order, the order process performs the operations of: receiving an identification of an existing order which is to be changed; placing a hold on the existing order; receiving a change signal via the interface indicating a new value for an attribute of an object; and wherein when the order process performs the operation of generating a chance order based on the existing order, the order process performs the operations of: for each object in the existing order in the memory for which the change signal indicates a new value for an attribute of that object, performing the steps of: i) copying the object and any attributes and associated values in the existing order to an object in the change order in the memory having corresponding attributes and associated values; and ii) assigning the new value as indicated in the change signal to a value of a corresponding attribute of the object in the chance order, and wherein the order process performs the operation of comparing concurrently with the operation of generating a change order, such that the operation of generating a change order result in the operation of comparing is performed during the processing of each object in the existing order for which the change signal indicates a new value for an attribute of that object; and providing the change order result to said customer via the interface, such that the customer is capable of distinguishing the differences between the change order and the existing order.

10. The order processing computer of claim 9 wherein when the order process performs the operation of generating a change order containing the change to the existing order, the order process performs the operations of: copying the existing order to the change order in the memory such that the change order contains any objects that exist within the existing order, each object having at least one attribute and an associated value; and replacing values of any attributes of objects in the change order in the memory with new values for those attributes as indicated in the change to the existing order, such that the change order contains objects having attributes having any new values as indicated in the change to the existing order, while the existing order contains objects having attributes having values that are unchanged.

11. The order processing computer of claim 9 wherein when the order process performs the operation of receiving a change to an existing order, the order process performs the operations of: receiving an identification of an existing order which is to be changed; placing a hold on the existing order; receiving a change signal via the interface indicating a new value for an attribute of an object; and wherein when the order process performs the operation of generating a change order based on the existing order, the order process performs the operations of: for each object in the existing order in the memory for which the change signal indicates a new value for an attribute of that object, performing the steps of: i) copying the object and any attributes and associated values in the existing order to an object in the change order in the memory having corresponding attributes and associated values; and ii) assigning the new value as indicated in the change signal to a value of a corresponding attribute of the object in the change order.

12. The order processing computer of claim 9 wherein the order process performs the operation of comparing the change order to the existing order after the step of generating a change order.

13. The order processing computer of claim 9 wherein: there are multiple objects in the existing order in the memory which correspond to the object in the change order having an attribute for which the change signal indicates a new value; and wherein when the order process performs the operation of comparing, the order process generates a change order result in the memory that indicates each existing value of the corresponding attribute of each of the multiple objects in the existing order.

14. The order processing computer of claim 9 wherein when the order process performs the operation of comparing the change order to the existing order, the order process performs the operations of: for each object having an attribute in the change order that has a different value from an existing value of a corresponding attribute of a corresponding object in the existing order in the memory, generating a change order result in the memory that identifies: i) the value of the attribute of the object in change order; and ii) the existing value of the corresponding attribute of the corresponding object in the existing order.

15. The order processing computer of claim 9 wherein when the order process performs the operation of generating a change order result, the order process generates a change order result in a format including at least one of text and a markup language.

16. The order processing computer of claim 15 wherein when the order process performs the operation of generating a change order result, the order process selects a format of the change order result based on an identity of a recipient of the change order result.

17. The order processing computer of claim 16 wherein when the order process performs the operation of providing, the order process provides the change order result from the memory to a recipient via the interface according to a format based on the identity of the recipient.
Description



FIELD OF THE INVENTION

The present invention generally relates to mechanisms and techniques for processing data in a computer based order processing system, and more particularly, to systems and techniques which manage changes made to orders in such systems.

BACKGROUND OF THE INVENTION

Conventional computer based order processing systems allow a person to interact with a computer system to place orders for items such as goods or services. Merchants of the items often provide access to such order processing systems over a computer network such as the Internet using a standard set of protocols such as those commonly referred to as the World Wide Web and the hypertext transport protocol (HTTP). For example, a customer of the merchant can, for example, operate web browser software to navigate to a web site that the merchant operates the computer network such as the Internet. The web site can provide an online order processing system to allow the customer to order items offered for sale by the merchant over the Internet.

During the process of placing or entering an order for an item, the customer can typically select or enter values for various properties or attributes associated with the item such as color, quantity, size, a specific configuration, or other order attributes. The customer can also enter payment information such as credit card or bank account information and can enter shipping information including a billing and/or a shipping address. Once this process is complete, the order processing system typically presents a summary of the order to the customer and allows the customer to confirm or decline acceptance of the order. Once the customer accepts the order, the order processing system places the order in a queue of orders waiting to be fulfilled by the merchant.

Fulfillment of the order by the merchant can happen in a number of ways. As a simple example, the order processing system can receive a request from a person working in a merchant facility (e.g., a warehouse or manufacturing facility) for the next order in the queue of orders waiting to be fulfilled. In response to this request, the order processing system can simply print out a copy of the purchase order at the end of the queue and can remove this order from the queue of orders to be fulfilled. The purchase order print out typically contains all of the information provided by the customer to the order processing system concerning the items be purchased, as well as payment and shipping information for the items. The person in receipt of the purchase order can then proceed to fill the order by either retrieving the ordered item(s) from existing merchant stock supplies or by the creating, building, manufacturing or otherwise obtaining the item(s) as specified in the purchase order. Once the person fulfilling the order has retrieved or completed creation of the items specified in the purchase order, the person then packages the items and ships the items to the customer according to the shipping information as specified on the purchase order. The person in the merchant facility can then indicate to the order processing system that the order has been fulfilled and the order processing system can cause payment to be transferred from the customer (e.g., from the credit card of the customer) to a merchant account.

In a conventional order processing system, once an order is accepted by a customer, the order including any associated customer information, item information, shipping information, billing information and so forth is treated as a single entity and is often assigned an order or confirmation number. After submitting an order, if a customer desires to make changes to the existing order, the order processing system typically does not allow such changes to be made to the existing order if the existing order has entered the process of fulfillment. In other words, once the merchant begins the fulfillment process for an order, customers are generally not allowed to make changes to the order.

Certain conventional online order processing systems provide a cut-off time after which time a customer can no longer make changes to an order prior to its fulfillment process. For example, consider a conventional order processing system that allows customers to order groceries over the Internet from a supermarket. An online shopper can navigate to the supermarket web site and can select various items to be delivered to the customer's home at a customer specified date and time. Once the online grocery ordering systems accepts the order of groceries by the shopper, the online order processing system provides a date and time after which no changes may be made by the customer to the grocery order. For example, if the shopper places the grocery order on Monday and requests delivery of the order on the following Friday, the order processing system may indicate to the shopper that changes to the order may be made up until 4 PM Thursday. After 4 PM Thursday however, no changes may be made to the order and a customer will receive a delivery of groceries on Friday as specified in the order as of 4 PM Thursday.

SUMMARY OF THE INVENTION

Conventional order processing systems such as those discussed above suffer from a variety of drawbacks. In particular, in conventional order processing systems, if a customer desires to make a change to an order, the customer's ability to do so is limited by the state of the order within the order processing system at the time that the change is received. For example, if fulfillment of the order has begun, typical conventional order processing systems do not allow changes to be made to an order. This is because the process by which conventional order processing systems fulfill orders is not amenable to change.

Consider the simple grocery ordering system explained above. Once the person in the merchant facility receives the purchase order indicating which grocery items are to be purchased by the customer, the person begins the task of traveling throughout the merchant facility to gather the required grocery items to fulfill the order. If the order processing system were to allow a customer to create a change to the order at that point (i.e., after fullfillment began), the person fulfilling the order within the merchant facility would have no way of knowing about the existence of the change to the order until they returned to the order processing system terminal to indicate the order (the order not including the change) had been fulfilled. Thus, if changes to order were allowed during fullfillment of the orders, the fulfillment process would require that the person fulfilling the order within the merchant facility to continually check-in with the order processing system to determine if any changes were made. This requirement creates inefficiency in the order fulfillment process and thus conventional order processing systems mandate that changes are not allowed to an order after a certain point (e.g., a cut off time) in the order processing and fulfillment lifecycle.

Even if changes are allowed to orders at any point in the processing of the orders by an order processing system (e.g., before fullfillment begins), conventional order processing systems do not effectively communicate how those changes totally affect the pre-existing order. That is, if a change to an order is accepted from a customer by a conventional order processing system prior to the fulfillment process of that order, the conventional order processing system does not typically indicate to the customer all of the information concerning an order that has been altered as a result of the change, in comparison to the information as it existed prior to receipt of the change. In other words, conventional order processing systems do not compare the total effect of how changes made to an existing order differ from the existing order without the changes. This is because a change to an existing order often causes other changes to be made to the existing order. These other changes are not specifically stated or presented in the original change to the existing order as received, for example, from the customer. Conventional order processing systems thus do not simultaneously present to a recipient information concerning the order as it existed before the change in relation to the same information as it exists after the change is carried out. This makes it difficult for a person making a change to an order using a conventional order processing system to understand the complete effect or ramification of how a change will effect an order.

Conversely, embodiments of the invention enable a person (e.g., customer) to make one or more changes to an existing order within an order processing system. Based on such changes, embodiments of the invention create a change order containing the changes and then compare or contrast those changes in the change order with existing information (i.e., unchanged information) in the existing order to produce a change order result. The change order result is then presented to the customer in real-time to allow the customer to better understand the changes that the order undergoes (e.g., during fulfillment of the order or any time after placement of the original existing order).

In particular, embodiments of the invention include method embodiments, apparatus or computer system embodiments, and computer readable medium embodiments which each operate to process orders in order processing systems. One method embodiment of the invention provides a method for processing changes to orders in an order processing system. The method comprises the steps of receiving a change to an existing order and generating a change order based on the existing order. The change order contains the change to the existing order. The method compares the change order to the existing order to generate a change order result that indicates differences between the change order and the existing order. The method then provides the change order result to at least one recipient such that the recipient may distinguish the differences between the change order and the existing order.

According to another method embodiment, the step of generating a change order containing the change to the existing order comprises the steps of copying the existing order to the change order such that the change order contains any objects that exist within the existing order. Each object has at least one attribute and an associated value. The method replaces values of any attributes of objects in the change order with new values for those attributes as indicated in the change to the existing order, such that the change order contains objects having attributes having any new values as indicated in the change to the existing order, while the existing order contains objects having attributes having values that are unchanged. In this manner, the change order includes a copy of the content of an existing order and changes specified within the change are applied to the change order instead of the existing order.

In another embodiment, the step of receiving a change to an existing order comprises the steps of receiving an identification of an existing order which is to be changed and placing a hold on the existing order. Then, the method receives a change signal indicating a new value for an attribute of an object. Also in this embodiment, the step of generating a change order based on the existing order comprises the step of performing, for each object in the existing order for which the change signal indicates a new value for an attribute of that object, the steps of i) copying the object and any attributes and associated values in the existing order to an object in the change order having corresponding attributes and associated values, and ii) assigning the new value as indicated in the change signal to a value of a corresponding attribute of the object in the change order. In this manner, during the generation of the change order, any values contained in the change received replace values of attributes in the change order.

In another embodiment, the step of comparing the change order to the existing order comprises the step of generating a change order result, for each object in the existing order for which the change signal indicates a new value for an attribute of a corresponding object in the change order. Such a change order result that identifies: i) the new value of the attribute of the corresponding object in the change order, and ii) the existing value of the corresponding attribute of the object in the existing order. Accordingly, the change order result conveys the before and after differences of an order in response to receiving the change to the order. This allows, for instance, a customer making a change to an order to see how that change effects all attributes of the order, including the specific attributes specified within by the change, as well as any other attributes which may require alteration based upon the attributes specified to be changed within the change as received from a customer. That is, a change received for an order might cause other parts of the order to be changed as well which are not specifically indicated within the change set forth by the customer. Accordingly, embodiments of the invention that operate in this manner are able to produce a change order result which conveys, displays, indicates, etc. all changes which are made to order in response to the change set forth requested by the customer.

As a specific example, if the customer desires to increase the quantity of items purchased in an order, the customer may provide a change indicating only the change in quantity. Though not specifically stated in this change, the price of the order will inherently change (i.e., will increase) due to the change in quantity requested by the customer (i.e., the change received by the invention). Though this change in price is not specifically stated or put forth in the change requested by the customer (i.e., the change received by the embodiment of the invention), an order processing system will inherently update any other attributes of the order which are affected by the change set forth by the customer. The process of determining which other attributes must be change in relation to a specific attribute specified for change by a customer is outside of the scope of this invention. However, embodiments of the invention will operate to compare any changed attributes of the change order (whether or not specifically specified in the change received from a customer) against corresponding peer attributes of the existing order in order to determine all changes made to the order. The change order result will indicate the differences between existing order and the change order and thus will not only include the change in quantity as specifically specified by the customer, but also will include the change in price which results due to the change in quantity.

In another embodiment of the invention, the step of comparing is done concurrently with the step of generating a change order, such that the step of generating a change order result in the step of comparing is performed during the processing of each object in the existing order for which the change signal indicates a new value for an attribute of that object. In this embodiment then, each change specified in the change to the existing order (i.e. the received change) causes an incremental addition to the change order result which includes any values of attributes that existed prior to the change as well as the new values of those attributes in a change order created as a result of applying a change to the change order.

In another embodiment, the step of comparing the change order to the existing order is done after the step of generating a change order. In this embodiment then, all changes are transposed or put into effect within the change order based upon the existing order prior to the generation of the change order results. In other words, where is in the aforementioned embodiment the change order results are incrementally calculated were generated in response to each attribute change made to an order, this embodiment allows all had to be changes to be made after which the change order result is computed on the entire change order.

In another embodiment, there are multiple objects in the existing order which correspond to the object in the change order having an attribute for which the change signal indicates a new value. In other words, for an object in the change order which receives a change, there may be many corresponding peer or equivalent objects in the existing order which may be compared to the object receiving a change in step of comparison. Accordingly, in this embodiment, the step of comparing generates a change order result that indicates each existing value of the corresponding attribute of each of the multiple objects in the existing order. Is an example, and existing order may contain three objects of the same object data structure type. These may be considered peer objects since they are comparable on an attribute were attribute were object by object basis. Since peer objects contain similar data structure fields, the values of the stated structure fields (e.g., the values of their attributes) will be comparable value by value. In the step of generating, when the change order is created based on existing order, the peer objects are copied to the change order into the change is applied to one or more of the peer objects. Then, in the step of comparing, the object or objects in the change order to which the change is applied (which may be considered a peer object(s)) is/are compared to the peer objects in existing order which correspond to that/those object(s). If there are multiple peer objects in the existing order, and the change order result will reflect an existing value for each of the multiple peer objects as well as the new value of the peer object(s) in the change order which contain the change or changes.

In another embodiment, the step of comparing the change order to the existing order comprises the step of generating a change order result that identifies, for each object having an attribute in the change order that has a different value from an existing value of a corresponding attribute of a corresponding object in the existing order, i) the value of the attribute of the object in change order, and ii) the existing value of the corresponding attribute of the corresponding object in the existing order. This allows the change order result to immediately convey to a recipient the differences between existing order and the change order.

Another embodiment, the step of generating a change order result generates a change order result in a format including at least one of text and a markup language. Accordingly, the change order result can be created (e.g., maintained in memory or in an order database) in a variety of different formats.

In another embodiment, the step of generating a change order result selects the format of the change order result based on an identity of a recipient of the change order result and the step of providing provides the change order result to a recipient in the format selected based on the identity of the recipient. Accordingly, depending upon who is to receive the change order result, embodiments of the invention can produce the change order result, for example, in a text format for one recipient (e.g., for receipt via email) or in an HTML format for another recipient (e.g., for receipt via the World Wide Web) or in an XML format for yet another recipient (e.g., encoded in a proprietary format accessible via XML). The particular format in which the change order result is produced can depend upon the identity of the recipient (e.g., customer, salesperson, manufacturing facility) of the change order result and may be generated in each format required for each of the particular recipients of the change order result.

According to another method embodiment of the invention, the method is provided for comparing order objects. The method comprises the steps of receiving a new value for an existing attribute of an existing peer object in an existing order. The new value preferably specifies a change to an existing order. The method then copies the existing order to a change order such that the change order includes a peer object corresponding to the existing peer object. The peer object includes a peer attribute corresponding to the existing attribute. The method then assigns the new value to the peer attribute of the peer object in the change order, so that the change order includes the change to the existing order while the existing order remains unchanged. The method then compares the existing peer object in the existing order to the peer object in the change order to produce a change order result indicating differences between existing attribute and the peer attribute and provides the change order result to at least one recipient. The recipient can thus conveniently and immediately determine the differences between existing order in the change order based on the change order result.

In another embodiment, the step of comparing invokes comparison logic which performs the steps of receiving an identity of the existing peer object in the existing order and receiving an identity of the peer object in the change order. With these two identities, the method can generate a change order result by comparing an existing value of the existing attribute of the existing peer object in the existing order to the new value of the peer attribute of the peer object in the change order to produce a change order result indicating the new value in comparison to the existing value. The comparison logic is preferably implemented as an object in object oriented order processing system. The comparison logic object can be inherited by any object (e.g., an object in a change order) and can be used to compare differences between that object and an object in one or more peer objects in another order (e.g., an existing order).

In another embodiment, the step of comparing further comprises the steps of determining if any other attributes related to the peer object are changed based on the new value, and if the other attributes are changed, invoking the comparison logic on the peer objects related to those other attributes to produce a change order result indicating the differences between those other attributes.

Another embodiment of the invention includes a method for comparing orders. The method comprises the steps of receiving an identity of an existing order and receiving an identity of a change order. The method generates a change order result by comparing an existing value of an existing attribute of an existing object in the existing order to a value of a peer attribute of a peer object in the change order to produce a change order result indicating differences between the existing order and the change order. A preferred implementation of this embodiment of the invention comprises comparator logic implemented within an object in an object oriented order processing system. Such comparator logic can be invoked by an order comparator process operating within an order process and order processing computer system.

The comparator logic is generic in the sense that it can compare attributes within the objects for which receives identities and can generate or produce change order results which contain the differences between those objects. The comparator logic is not concerned with specific use or purpose of the objects which compares.

In another embodiment of the comparator logic, the comparator logic can compare attributes of peer objects for which receives an identity and can also determine any other objects which those objects inherit (e.g., objects hierarchically related below the peer object for which an identity was received). In other words, if the comparator logic receives the identities of two peer objects (i.e., one in an existing order in one in a change order based in the existing order), it can first compare all attributes those two objects and can then determine any objects which those two objects inherit. The comparator logic can then, a recursive manner, call itself and can pass the identities of the two (or more) inherited objects to this call. The comparator logic processing can thus be repeated to produce a change order result for those two (or more) inherited objects. Likewise, if those two objects being compared the second call (i.e., the first recursive call) to the compare logic also contain relations to or inheritances of other objects, they can be compares well via another call (i.e., a second recursive call) to the comparator logic. This process can continue until all inherited objects within the original two peer objects have had their attributes compared by the comparator logic to produce a single change order result containing the differences between all objects related to the peer objects provided to the compare logic on its first instantiation.

Other embodiments of the invention include computer systems configured to perform all of the method embodiments summarized above and explained herein as the invention. In particular, such computer system embodiments include an order processing computer comprising an interface, a processor, a memory encoded with an order application and an interconnection mechanism coupling the interface, the processor and the memory. The processor performs the order application as an order process to process changes to orders in an order processing system by performing the by performing the operations of the method embodiments disclosed herein as the invention. That is, the invention includes computer systems configured to perform all of the aforementioned method operations disclosed as embodiments disclosed herein.

Generally, embodiments of the invention can perform all of the methods disclosed herein via software control, or via hardware and/or software configured to perform those methods and the techniques.

Other embodiments of the invention that are disclosed herein include software programs to perform the method operations summarized above and disclosed in detail below. More particularly, a computer program product is disclosed which includes a computer-readable medium including order application computer program logic encoded thereon for processing changes to orders in an order processing system, such that the computer program logic, when performed on at least one processor within a computer system, causes the at least one processor to perform the operations (e.g., the method embodiments above, and described in detail later) indicated herein as embodiments of the invention. This arrangement of the invention can be software code and data, logic instructions or the like on a computer readable medium such as an optical medium (e.g., CD-ROM), floppy or hard disk or other such medium such as firmware in one or more ROM or RAM or PROM chips or as an Application Specific Integrated Circuit (ASIC). The software, firmware or other such configurations can be installed onto a computer system to cause the computer system to perform (e.g., via execution, interpretation or other operations) the techniques explained herein as the invention.

It is to be understood that the system of the invention can be embodied strictly as a software program, as software and hardware, or as hardware alone. Is also to be understood that the order processing techniques and mechanisms of this invention typically perform (e.g., execute, run, or are otherwise operated) on computer systems coupled to a computer network such as the Internet. Preferred embodiments of the invention are web-based and receive changes to existing orders via a World Wide Web style browser/web server communications path (e.g., via the hypertext transport protocol HTTP). The invention may be embodied in systems, software and/or hardware products designed, developed and/or manufactured by Cisco Systems, Inc. of San Jose, Calif.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, with emphasis instead being placed upon illustrating the embodiments, principles and concepts of the invention.

FIG. 1 illustrates a computing system environment including an order processing computer configured according to embodiments of the invention.

FIG. 2 is a flow chart of processing steps of an order processing system configured in accordance with embodiments of the invention.

FIG. 3 is an example of an existing order object data structure which inherits various other objects.

FIG. 4 illustrates an example of how an order comparator process configured according to embodiments of the invention can convert an existing order into a change order upon receipt of a change to the existing order, and further illustrates an example of a change order data structure which corresponds to the existing order illustrated in FIG. 3.

FIG. 5 is a data flow diagram which illustrates the general flow of data and processing operations in an order processing system configured according to an example embodiment of the invention.

FIG. 6 is a flow chart of processing steps performed by comparator logic within an order process to compare the contents two or more peer objects to produce a change order result according to example embodiment of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Generally, embodiments of the invention enable a customer or other qualified person (e.g., salesperson) to make changes to an existing order within an order processing system. Based on such changes, embodiments of the invention create a change order containing the changes and then the embodiments compare and contrast those changes in the change order with existing information (i.e., unchanged information) in the existing order to produce a change order result. The embodiments then present the change order result to a customer (or other recipient) in real-time to allow the customer to better understand the changes that the order undergoes (e.g., during fulfillment of the order or any time after placement of the original existing order). The embodiments of the invention can customize the change order result for presentation to a recipient in specific formats depending upon the identity of the recipient of the change order result. For example, if the recipient of the change order result is a customer, then embodiments of the invention can present a version of the change order result in hypertext markup language (HTML) format, whereas if the recipient is a manufacturing facility, embodiments of the invention may present a version of the change order result in text or another format as required or preferred by the manufacturing facility.

A preferred embodiment of the invention operates as an order application in an object oriented order processing system. Generally, an order in an object oriented order processing system is represented by an order object which includes a reference to (e.g., inherits) a collection of one or more other objects containing attribute information (i.e., logic and/or data) relating to an order for one or more items. Peer objects exist in such a system. Peer objects are two similar objects (i.e., to instantiations of the same object) and in preferred embodiments of the invention, peer objects are two related objects from different versions of the same order. For instance, when the system of the invention receives a change from a customer to an existing order, the system can generate a change order which is essentially a copy or peer of the existing order, including any objects (data and/or logic) contained in or inherited by the existing order. Thus the change order (i.e., the existing order containing the change) and the existing order (i.e. an unchanged version) are peer order objects which can contain other (e.g., nested or inherited) peer objects having similar content. The objects in the change order however also can preferably include a reference to an order comparator object (explained below) as provided by embodiments of the invention.

After embodiments of the invention produce the change order based on the existing order (e.g., copy an existing order object to a change order object and make the requested change to the change order object or to one or more objects referenced therein), an order comparator process operates to compare attributes of one or more peer objects in the change order and the existing order to detect and determine the effect of the changes made to the change order. The order comparator process produces the changes in the form of a change order result which indicates any new values of attributes of peer objects in the change order as well as the existing or unchanged values of the corresponding attributes as they exist unchanged within the existing order. In this manner, embodiments of the invention can detect all of the changes made to existing order and can present those changes in real-time to the recipient such as a customer, a salesperson or a manufacturing facility.

It may be, for example, that a change requested by a customer effects various other attributes of an order (besides the specifically requested changed attribute(s)) which are unknown to the customer at the moment the customer requests change. For example, a customer might request a change that increases the quantity of an item within an order. As a result of this change, the shipping terms (e.g., overnight versus three day, land or air, shipping costs, etc.) or cost of the items in the order may change as well. Such other changes may take place due to the operation of processing logic that operates within a shipping terms object in the change order. Such processing logic may be is activated when the quantity of the item being ordered changes by a predetermined amount. The point made is that a requested change may result in multiple other changes taking place within various other objects or locations within the change order object (i.e., within the copy of the existing order object). Embodiments of the invention provide mechanisms to detect all of such changes to order information in a change order object and present such changes in relation the unchanged order information (i.e. the order information as it appears prior to receipt of the changes) in the existing order object.

Since object oriented order processing systems frequently undergo modifications, embodiments of the order application and order process of this invention are preferably designed to be generic in that they are able to compare two peer objects no matter what attributes or other objects those peer objects contain or inherit. As such, if an object-oriented order processing system continues to grow during its lifetime of use, for example, via the addition of other object modules added to allow customers to ordering different items, embodiments of the invention can continue to operate to produce change order results which reflected comparison of peer objects from any new object modules edited or added into an existing order processing system. This allows an object oriented order processing system to continue to grow while at the same time operating according to the functionality the invention.

FIG. 1 illustrates a computerized order processing environment 100 that is suitable for use in explaining example embodiments of the invention. The order processing environment 100 includes a computer network 105 which interconnects a customer computer 110, an order processing computer 120, manufacturing computers 130 and sales computers 135.

The customer computer 110 includes order software 112 which may be, for example, web browser software such as Internet Explorer (manufactured by Microsoft Corporation of Redmond, Wash., USA) or Netscape Navigator (manufactured by Netscape Corporation of Mountain View, Calif., USA) which allows a customer (not specifically shown) operating or controlling the customer computer 110 to access the order processing computer 120 via the computer network 105 to place and change orders 250, 265, as will be explained shortly.

The order processing computer 120 includes an interconnection mechanism 122 which couples the processor 124, a memory 126 and an interface 128. The interconnection mechanism 122 the be any type of connection mechanism such as a data bus that can transmit signals (e.g., electronic, optical or the like) between components within the order processing computer 120. The processor 124 may be any type of microprocessor device or central processing unit which preferably operates electronically to process logic instructions. The memory 126 may be any type of computer readable medium or randomly accessible memory device such as a random access memory (RAM) or a read-only memory (e.g., a firmware ROM, PROM, EPROM, and so forth). The memory 126 is encoded with logic instructions and/or data (e.g., software code such as object code) which form an order application 150 which includes an order comparator routine 152.

According to the general operation of the order processing computer 120, the processor 124 is able to access the memory 126 via the interconnection mechanism 122 (e.g., a data bus) to perform (e.g., to execute, run, interpret, or otherwise operate) the logic instructions which form the order application 150 and the order comparator routine 152. As the processor 124 performs the order application 150 including the order comparator routine 152, the processor 124 forms (i.e., operates as) an order process 160 which includes an order comparator process 162, which correspond to the execution of the logic instructions which form the order application 150 and the order comparator routine 152, respectively. That is, the order process 160 represents the order application 150 operating on the processor 124, while the order comparator process 162 represents the order comparator routine 152 within the order application 150 operating on the processor 124.

Generally, in operation of the order processing environment 100, a customer operating the customer computer 110 can control the order software 112 to navigate (e.g., communicate using HTTP) over the computer network 105 to the order processing computer 120 to interact with the order process 160 to place order(s) for item(s) offered for sale by a merchant (not shown). The order process 160 may, for example, operate as (or be served by) a web server on the computer network 105 to which customer computers 110 (only one shown in this example) can communicate with in order to browse item information (e.g., web pages) and place orders for items presented for sale by the order process 160. The order process 160 stores the orders, called existing orders 250, in the order database 190. The manufacturing computers 130 and sales computers 135 also have access to the order database 190 to fulfill or otherwise process the existing orders 250 in the order database 190 at some point in time after placement of the orders by the customers.

As briefly explained above, the order processing environment 100 as configured according to embodiments of the invention allows existing orders 250 to be changed after placement of such orders. An example of a general operation of changing an order 250 after placement of the existing order is described in detail in the co-pending U.S. patent application Ser. No. 09/594,429, entitled "Methods and Apparatus for Modifying a Customer Order," filed Jun. 15, 2000, the entire teachings and contents of which is hereby incorporated by reference in its entirety. Preferred embodiments of the present invention provide a subsystem to the change order system described in the aforementioned reference U.S. Patent Application.

Generally, as illustrated in FIG. 1, a customer can provide a change 194 to existing order 250. The subsystem configured according to embodiments of the present invention which operates within the change order system as explained, for example, in the aforementioned reference patent application, receives such a change 194 to an existing order 250 and in response, generates a new order called a change order 265. The change order 265 contains changes that would otherwise be made to the existing order 250 as a result of receiving a change 194 to the existing order 250. Embodiments of the present invention further operate to produce change order results 196, as shown in FIG. 1. The change order results 196 indicate the changes made to an existing order 250 as a result of a customer providing the change 194.

FIG. 2 illustrates a flow chart of processing steps 200 to 203 which show the general processing operations performed by an order processing computer 120 configured according to embodiments of the invention, such as that shown in FIG. 1. Generally, the processing steps 200 to 203 represent the instantiation of logic instructions within the order application 150 and the order comparator routine 152 in the memory 126 (or in any other type of computer readable medium such an electronic, magnetic or optical medium). The processing steps 200 to 203 also represent the general operation of the order application 150 and the order comparator routine 152 when performed as one or more operations or methods by the processor 124 (i.e., as the order process 160 and order comparator process 162, r


Free Web Sudoku Puzzles.
Solve with your browser.
    8     6     4
        9       6
1 5           9  
2 6       3     7
      9   5      
4     1       5 8
  9           7 1
6       3        
8     5     4    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!