Being an option quotes binary list 0-255 foreign currency trading software
Print longest word s. Repeat the previous exercise, but print out all of the longest words if there is a tie, say up to a maximum of 10 words. Use an array of strings to store the current longest words. Test if two files are equal. Write a program that takes the name of two text files as command line inputs and checks if their contents are identical.
Unix command line programs typically support flags which configure the behavior of a program to produce different output, e. Write a program that takes any number of flags from the command line and runs whichever options the user specifies.
To check options, use something like if s. Write a program Capitalizer. Write a program RailFenceEncoder. For example, if the original message is "Attack at Dawn", then you should print out "Atc tDwtaka an". This is a crude form of cryptography. Write a program RailFenceDecoder. The scytale cipher is one of the first cryptographic devices used for military purposes.
See The Code Book, p. It was used by the Spartans in the fifth century BCE. To scramble the text, you print out every kth character starting at the beginning, then every kth character starting at the second character, and so forth.
Write a pair of programs ScytaleEncoder. Read a list of words from standard input, and print out the longest word. Use the length method. Given two strings s and t , write a program Subsequence. That is, the letters of s should appear in the same order in t , but not necessarily contiguously. For example accag is a subsequence of taagcccaaccgg. Some religious zealots believe that the Torah contains hidden phrases that appear by reading every kth letter, and that such pattern can be used to find the Ark of the Covenant, cure cancer, and predict the future.
Results not based on scientific method and results have been debunked by mathematicians and attributed to illicit data manipulation. Using the same methodology one can find statistically similar patterns in a Hebrew translation of War and Peace. Write a program that reads in a list of words from the command line and prints true if they form a word chain and false otherwise. In a word chain, adjacent words must differ in exactly one letter, e.
Write a program that reads in text from standard input and checks whether it forms a haiku. A haiku consists of three lines containing the correct number of syllables 5, 7, and 5, respectively. For the purpose of this problem, define a syllable to be any contiguous sequence of consecutive vowels a, e, i, o, u, or y. According to this rule, haiku has two syllables and purpose has three syllables. Of course, the second example is wrong since the e in purpose is silent.
Write a program to check whether an ISBN number is valid. An ISBN number can also have hyphens inserted at arbitrary places. Write a function that takes two input string s and t, and returns the longest common prefix of both strings. Be careful if s and t start with different letters, or if one is a prefix of the other. In DNA sequence analysis, a complemented palindrome is a string equal to its reverse complement.
Such sequences act as transcription-binding sites and are associated with gene amplification and genetic instability. Given a text input of N characters, find the longest complemented palindrome that is a substring of the text. Substring of a circular shifts. Write a function that takes two strings s and t , and returns true if s is a substring of a circular string t , and false otherwise. For example gactt is a substring of the circular string tgacgact. A protein is a large molecule polymer consisting of a sequence of amino acids monomers.
Some examples of proteins are: There are 20 different amino acids that occur in nature. Write a program to read in a protein specified by its base pairs and converts it into a sequence of amino acids. Use the following table. Rosetta stone of life. Write a program that reads in a decimal string from the command line e. Do not assume that the input is a 32 or 64 bit integer, but rather an arbitrary precision integer. Implement the integer using a String not an array.
Arbitrary precision integer arithmetic. Write a program that takes two decimal strings as inputs, and prints their sum. Use a string to represent the integer. The game of Boggle is played on a 4-by-4 grid of characters. There are 16 dice, each with 6 letters on the them. Create a 4-by-4 grid, where each die appears in one of the cells at random, and each die displays one of the 6 characters at random.
A cryptogram is obtained by scrambling English text by replacing each letter with another letter. Write a program to generate a random permutation of the 26 letters and use this to map letters.
Don't scramble punctuation or whitespace. Write a program to determine the longest legal Scrabble word that can be played? The number of tiles representing each letter are given in the table below. In addition, there are two blanks which can be used to represent any letter. The soundex algorithm is a method of encoding last names based on the way it sounds rather than the way it is spelled. Names that sound the same e. The soundex algorithm was originally invented to simplify census taking.
It is also used by genealogists to cope with names with alternate spellings and by airline receptionists to avoid embarrassment when later trying to pronounce a customer's name. Write a program Soundex. The algorithm works as follows: Keep the first letter of the string, but remove all vowels and the letters 'h', 'w', and 'y'. Assign digits to the remaining letter using the following rules: R If two or more consecutive digits are the same, delete all of the duplicates.
Convert the string to four characters: Pad the string with trailing 0's if there are not enough digits; truncate it if there are too many digits. Given a dictionary of words and a starting word s, find the longest word that can be formed, starting at s, and inserting one letter at a time such that each intermediate word is also in the dictionary.
For example, if the starting word is cal , then the following is a sequence of valid words coal , coral , choral , chorale. Write a program PhoneWords. No corresponding letters 1: No corresponding letters 2: Rot13 is a very simple encryption scheme used on some Internet newsgroups to conceal potentially offensive postings.
It works by cyclically shifting each lowercase or uppercase letter 13 positions. So, the letter 'a' is replaced by 'n' and the letter 'n' is replaced by 'a'. For example, the string "Encryption" is encoded as "Rapelcgvba.
Write a program that reads in a dictionary of words into an array and determines the longest pair of words such that each is the Rot13 of the other, e. Recall the Thue-Morse sequence from Exercises in Section 2. Write a program ThueMorse. Plot cell i, j black if the ith and jth bits in the Thue-Morse string are different. Because of the mesmerizing non-regularity, for large N, your eyes may have a hard time staying focused. Write a program Repetition.
Write a program TextTwist. This forms the core of the game Text Twist. Then, for each dictionary word, create a similar profile and check if each letter appears at least as many times in the input word as in the dictionary word. Write a program or several programs and use piping that reads in a text file and prints a list of the words in decreasing order of frequency. Consider breaking it up into 5 pieces and use piping: A VIN number is a character string that uniquely identifies a motor vehicle.
It also encodes the manufacturer and attributes of the vehicle. To guard against accidentally entering an incorrect VIN number, the VIN number incorporates a check digit the 9th character. Each letter and number is assigned a value between 0 and 9.
The check digit is chosen so to be the weighted sum of the values mod 11, using the symbol X if the remainder is Allow the input to be entered with upper or lower case, and allow dashes to be inserted. Do thorough error checking, e. Screen-scrape MusicBrainz to identify information about music CDs. Pig Latin is a fun secret language for young children.
To convert a word to Pig Latin: If it begins with a vowel, append "hay" to the end. At the beginning of a word, treat y as a vowel unless it is followed by a vowel. If it begins with a sequence of consonants, move the consonants to the end, then append "ay". Treat a u following a q as a consonant. For example, "input" becomes "input-hay", "standard" becomes "andard-stay", "quit" becomes "it-quay".
Write a program PigLatinCoder. Write a program PigLatinDecoder. Applications to pseudo-random number generators, computational biology, coding theory. Consider a rotating drum draw picture of circle divided into 16 segments, each of one of two types - 0 and 1.
We want that any sequence of 4 consecutive segments to uniquely identify the quadrant of the drum. That is, every 4 consecutive segments should represent one of the 16 binary numbers from to A de Bruijn sequence of order n is a shortest circular string such that every sequence of n bits appears as a substring at least once. Write a program DeBruijn. Append a 1 if the n-tuple that would be formed has not already appeared in the sequence; append a 0 otherwise.
The Ehrenfecucht-Mycielski sequence in a binary sequence that starts with "". Given the first n bits b 0 , b 1 , Then, b n is the opposite of the bit that followed the match. Use the substring and lastIndexOf methods.
Web Exercises Image Processing Painter's and printer's color triangles. Create the following two images. The primary hues of the painter's triangle are red, green, and blue; the primary hues of the printer's triangle are magenta, cyan, and yellow. Create the optical illusion of two-stroke apparent motion or four-stroke De Valois' checkerboard.
Create the optical illusion of De Valois' checkerboard or one of the other optical illusions from the Shapiro Perception Lab.
Write a program Spectrum. Write a program FlipY. Write a program Dimension. Anti-aliasing is a method of removing artifacts from representing a smooth curve with a discrete number of pixels. A very crude way of doing this which also blurs the image is to convert an N-by-N grid of pixels into an N-1 -by- N-1 by making each pixel be the average of four cells in the original image as below. Write a program AntiAlias that reads in an integer N, then an N-by-N array of integers, and prints the anti-aliased version.
Write a program Threshold. Repeat by mirror around the y-axis. Or create a W-by-H picture, but mirror around the center, deleting half the picture. A box filter or mean filter replaces the color of pixel x, y by the average of its 9 neighboring pixels including itself. The kernel is the set of pixels to be averaged together. Use prewitt masks [-1 0 1; -1 1 1; -1 0 1] east or [1 0 -1; 2 0 -2; 1 0 -1], [-1 -1 0; -1 1 1; 0 1 1] south-east , Sharpen filter. Psychophysical experiments suggest that a photograph with crisper edges is more aesthetically pleasing than exact photographic reproduction.
Use a high-pass 3-by-3 filter. Light pixels near dark pixels are made lighter; dark pixels near light pixels are made darker. Attempts to capture region where second derivative is zero. Set pixel i, j to the color of the most frequent value among pixels with Manhattan distance W of i, j in the original image. Decompose a picture using the YIQ color space: Plot all 3 images. Write a program Brighter. Use the Color method brighter , which return a brighter version of the invoking color.
To accomplish this, we want to detect edges or lines. An edge is a area of a picture with a strong contrast in intensity from one pixel to the next.
Edge detection is a fundamental problem in image processing and computer vision. The Sobel method is a popular edge detection technique. By creating a new first-level domain e. Note that, if the company code portion universal product code is used as the second-level domain, registration need only be done once for all product codes sharing that company code.
Note also that, as noted earlier, it is desirable that each manufacturer respond to a request for information about that particular participating manufacturer. For example, retail merchants and distributors may advantageously use the company code portion of a universal product code to access a variety of useful information about the company generally, including contact information and distribution, shipping and discount policies. In this way, any retailer can use the web to obtain general information about a company while those retailers with established accounts with a particular vendor as confirmed, for example, using digital signatures may obtain private information which is hidden from the general public.
Thus, when a web browser issues a request directed to a URL including the domain name " If the assigned DNS server doesn't already have the cross-reference between that product code or company code domain name and the manufacturer's server's IP address, it asks the primary DNS server that is responsible for the domain if it has the server's IP address.
When the customer's DNS server gets the manufacturer's server's IP address, it can then ask that server for permission to view a web page or otherwise obtain information about the designated product. Note that the registered domain name can advantageously take the form of the company code only, with the remainder of the universal product code being passed as a parameter to the manufacturer's server.
For example, if "" is the company code portion of the product code, and the trailing digits "" designate a particular product made by that company, the assigned domain name might be " It would thus be up to the manufacturer's server to intercept and process the product designating suffix digits "" to identify and return information on the particular product specified.
Note also that different universal product code systems, such as the UPC codes used in the United States and Canada, the EAN codes used elsewhere in the world, a 14 decimal digit universal product code drawn from the global pool of UPC and EAN numbers, or ISBN numbers used by the publishing industry, might conveniently be assigned different first level domain designations, such as "upc," "ean," "gpc," and "ibn" respectively.
In this way, the existing universal product code registration authority retains primary responsibility for assigning codes, whereas the DNS registrar at most need only confirm the identity of the DNS registrant. The Internet domain name system that is currently in widespread use is described in RFCs and Government contract by LANA and other entities. The use of the domain name server system as the mechanism for cross-referencing universal product codes and Internet addresses is used in the illustrative embodiment of the invention which is depicted in FIG.
The inventory control system is conventional and includes one or more conventional point of sale registers as illustrated at through which sales are made to customers who visit the physical "bricks and mortar" store. In addition, however, the inventory control system is provided with a "web register" which, to the inventory control system appears to function in the same way as a conventional point of sale register but which, in fact, operates through a sales server which provides Internet services on a shared basis to multiple retail stores and their inventory control systems.
A communications pathway connects the web register and the inventory control system to the shared sales server , with the inventory control system supplying the product codes and corresponding on-hand quantities as indicated at and receiving from the shared sales server order information as indicated at A product information server supplies product information to the browser in the form of XML data as indicated at in response to requests The browser preferably utilizes the Internet domain name system as proposed above to convert incoming universal product codes into Internet addresses, with the domain name system consisting of an assigned domain name server which receives universal product codes in address requests and returns the registered Internet addresses to the browser When needed, the assigned domain name server obtains the registered cross-references between universal product codes and IP addresses from the primary DNS or from the secondary DNS The shared sales server sends web pages containing information about products available from a connected retailer to the browser , along with XSL Extensible Stylesheet Language or CSS Cascaded Style Sheets style specifications as seen at First, the selection and rendering of the product information is controlled by the links specified in the web page as produced by the sales server.
In both cases, the style in which the XML data is rendered by the browser e. In this way, the same XML data may have different visual styles when included on the pages created by different retail vendors. An XSL stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an XML document that uses the formatting vocabulary.
This specification allows a stylesheet to be associated with an XML document by including one or more processing instructions with a target of "xml-stylesheet" in the document's prolog. The World Wide Web Consortium's recommendation regarding cascaded style sheets may be found at http: CSS1 is a simple style sheet mechanism that allows authors and readers to attach style e. The CSS1 language is human readable and writeable, and expresses style in common desktop publishing terminology.
One of the fundamental features of CSS is that style sheets cascade; authors can attach a preferred style sheet, while the reader may have a personal style sheet to adjust for human or technological handicaps. Thus product descriptions as viewed on the browser may include content from the product manufacturer, reflect a preferred rendering style specification from the online reseller, as well as the personal style preferences of the viewer. XSL could alternatively be used at the shared sales server to transform XML data fetched by the server from the manufacturer's server and then converted into HTML documents with CSS style sheets at the sales server The ability to select only a portion of an XML product description document for reproduction on a web page is provided by the Xpointer protocol.
In particular, it provides for specific reference to elements, character strings, and other parts of XML documents, whether or not they bear an explicit ID attribute. Using Xpointer, only selected portions of an XML product description made available from the manufacturer's server need be presented on a given web page, enabling the creator of the web page which links in XML data to control the nature and extent of the information shown.
The manner in which explicit relationships between two or more data objects, such as a retailer's product list page and the product information about a product listed on that page, may be expressed as a link asserted in elements contained in XML documents. These "XLinks" in the simplest case are like the HTML links described above in that they are expressed at one end of the link only, are initiated by users to initiate travel to the other end of the link, go only to one destination which may be determined by a DNS server or by an independent cross-referencing server , and produce an effect which is mainly determined by the browser.
As extended, the XLink specification will provide more sophisticated multi-ended and typed links which can be used to advantage to automatically incorporate linked-in product information from one or more manufacturers into displays and multimedia presentations presented by retailers and others.
As previously discussed, in addition to the use of a product code translation utility which cross-references all or part of a universal product code into an Internet address, it is desirable to establish a protocol or convention which enables a requester to specific kinds of information about identified products or companies.
In a conventional HTML system, this can be done by establishing naming conventions, as described above, for selectively locating different kinds of information about a product designated by a given universal product code, as well as different kinds of information about the company identified by the company code portion of the product code.
The metadata capabilities of XML can be used to advantage to provide an extensible system for dividing product and company information into a hierarchy of nested named elements which can be selectively accessed. Using the Document Type Descriptor DTD component of XML, the makeup of the required and optional components of such information can be defined in a standard way, facilitating the definition and validation of data structures to be used on various classes of products.
RDF provides a foundation for processing metadata i. Using RDF, data about products and companies, which can be accessed in accordance with the invention by using universal product codes; can be used by search engines to provide access to such information, can be used to automatically catalog the content and content relationships at particular web sites, pages or libraries; can be used by intelligent software agents to facilitate the sharing and exchange of information about companies and products.
Using RDF with digital signatures, the privacy preferences and policies of the owners of product and company information can be selectively protected to help build the "Web of Trust" needed for electronic commerce.
Importantly, RDF provides a mechanism for defining metadata in a class system much like the class systems used by object oriented programming and modeling systems. For example, creating subclasses for a particular kinds of product e. The shareability and extensibility of RDF also allows metadata authors to use multiple inheritance to mix definitions, providing multiple views of their data, and leveraging the work done by others.
From a practical standpoint, the creation of a simple and generic product and company description base schemas which can thereafter be extending using RDF allows basic information about products and companies to be made available early, allowing more elaborate schemas to evolve as experience with the simpler system suggests their utility. It should be noted that XML, XSL, Xpointer, XLink and related Internet protocols and specifications are still being defined and extended, a process that can be expected to enhance the ability of the present invention to selectively and attractively provide information about products to those who desire that information from the most knowledgeable and reliable sources of that information.
Conventional retail stores display merchandise for purchase in physical showrooms for inspection and purchase by consumers. These stores typically obtain the products they sell from a large number of manufacturers, either directly or through distributors. Computerized inventory control systems are used to keep track of orders and sales in an effort to insure that goods are available for prompt delivery to customers when purchased while minimizing the expense of the maintaining an unsold inventory of products.
Barcode checkout and EDI Electronic Data Interchange systems are commonly used in combination with inventory control systems to automate sales transactions.
Customer checkout counters equipped with barcode readers automate the customer sales transaction, reducing errors and reducing costs. EDI, the computer-to-computer exchange of business documents in a standard format, automates transactions between the retailer and its suppliers by transferring sales documentation in electronic form, including the purchase order, the invoice, and the advance ship notice. Barcode readers and EDI services are now commonly used even by smaller retailers and have significantly reduced the cost of doing business.
In recent years, the Internet has produced new on-line sales mechanisms which promise to revolutionize retail sales. Using the World Wide Web, both manufacturers and resellers offer products to consumers for direct purchase with product delivery normally being accomplished by mail or a commercial delivery service. The consumer typically employs a web browser to search for products of interest and display product descriptions. Customers make purchases by completing one or more displayed forms to provide needed information e.
Many successful web resellers take advantage of the fact that a web presence is inherently world-wide, and that the delivery charges of many services are largely independent of distance. Because a physical showroom is an unnecessary expense, web resellers can often successfully sell at much lower cost directly from one or more warehouses. To be successful, however, such a web reseller must make its presence known to a large audience. As a result, large and well-funded web resellers capable of effectively marketing on a nationwide scale have done well while those which have attempted to market their offerings locally or not at all have predictably been much less successful.
Large chain resellers with many retail outlets have also established successful web sales operations. Because the cost of creating and maintaining a web presence, as well as the cost of nationwide marketing, can effectively be shared among many retail outlets, and because much of the infrastructure needed to provide order fulfillment is already in place, such chain stores compete well with the nationwide web-only merchants.
Although customers would often benefit from the convenience of reviewing and ordering products from a local reseller, individual retail stores and smaller, local chains have typically been unable to justify the cost of creating and maintaining a web sales system.
In addition to the substantial cost of installing and maintaining the needed hardware and software, the website owner must expend significant effort to create and periodically update the product descriptions which customers require in order to make informed purchases. The annual cost of operating a merchant website often far exceeds the revenue which the local merchant would derive from the limited probable volume of online sales.
The infrastructure depicted in FIG. By using the cross-referencing capability provided by the present invention, which provides customers with reliable product information direct from the manufacturer, and the shared sales server and web register which provides shareable functions which effectively connect the retailer's existing inventory control system to the World Wide Web, the cost and complexity of retail web sales is largely eliminated, and the consumer obtains the convenience of shopping by computer with the other advantages of shopping with a local merchant.
The shared sales server operates in the same way and provides the same functions as a conventional online merchant server: In addition, the shared server provides "shopping basket" and credit card transaction services to enable the customer to complete purchases. The shared server and the web register module added to the retailer's existing inventory control system maintain a connection via the Internet or a dial-up modem pathway which permits the inventory control system to upload to the shared server changes to the products specified by universal product code being offered for sale, and the quantity on hand.
Each time any sale is made by any point of sale register in the physical retail store or by the web register , the quantity on hand value associated with the sold product's code is altered. Similarly, when stock is replenished, the inventory control system reflects the increased quantity on hand. The quantity on hand information passed as message information at permits the shared sales server to maintain a database for each retailer served which indicates the products available for sale and the quantity on hand.
When the quantity on hand equals or exceeds the quantity ordered, the on line order is accepted and passed at from the shared server to the web register module which posts the sale in the same way that a point of sale register posts a sale. The fact that the web register performs the same functions as a conventional cash register enables the conventional inventory control system to function in the normal way, with the exception that it must also update the product code and quantity on hand data maintained by the shared server.
The fact that the shared server thus "knows" the inventory status allows the shared server to accurately inform the customer when shipment can be expected for goods on hand and when goods which must be replenished will be shipped with a delay.
Orders sent to the inventory control system at include the specification of products sold by their universal product code designation and the quantities of each sold, as well as address information for billing and shipping.
Credit card transactions are handled on a shared basis using standard ecommerce software, either by sending encrypted credit card and other billing information to the retailer for handling, or actually performing the monetary transaction with the customer in its entirety on the shared server, and sending periodic payments and accounting records to the retailer. Importantly, functions better performed by the retail store using resources best shared with the physical store's operations are not performed by the shared server but rather by the store's inventory control system Such functions include order fulfillment, inventory pricing, vendor ordering, reordering and payment, and warehouse management functions.
Examples of merchant server software which may be used to implement the shopping basket and credit card transactions performed by the shared server include the SoftCart system offered by Mercantec, Inc. Winfield Treese and Lawrence C. In accordance with the invention, neither the shared server nor the retail inventory control system need store or maintain descriptive information about products.
When an online customer desires information about a given product, it is obtained for review by the customer using XML Xpointer links to the manufacturer's server. XML information is located by supplying the universal product code for the product to the DNS server which stores product code to Internet address conversion information.
Product searches which locate products offered by a given retailer as revealed by the product code and quantity on hand database are displayed to the customer and, to the extent they result in purchases, are manifested by the transmission of a completed order to the retailer's inventory control system. In a typical shopping transaction performed on the system shown in FIG. The DNS , consulting a primary DNS or secondary DNS if necessary, returns the IP address to the browser which then issues a request for XML product information to the product information server maintained by the manufacturer of that product.
Using the XSL stylesheet specification supplied by the shared server in accordance with the background colors, font styles, etc. If the user decides to purchase the described product, the "shopping basket" functions of the shared sales server are used to complete the order.
Because the shared server maintains a database for that retailer containing the quantity on hand values for each product offered by that server, the customer can be immediately informed if the shipment cannot be made whereas, if the product is available at the retailer's store or warehouse, the online customer's order can be confirmed for prompt delivery. When the order is completed by the shared server , the order which includes the identification of the customer name, shipping address, etc.
As explained in more detail below in connection with FIG. It is important to observe that the arrangement shown in FIG. In accordance with the invention, the retailer need not be concerned with the creation or maintenance of accurate information on the products sold, since that task is appropriately born by the product manufacturer which has that information.
Similarly, the retailer need not be concerned with the creation, hosting, and maintenance of a reliable and easy to use online shopping experience, a task performed by the shared server for many different retailers. To the retailer, the shared server presents an interface to the inventory control system which behaves much like conventional point-of-sale terminals cash registers indicated at This "web register" capability can advantageously be installed and maintained, with training being provided to the retailer, by inventory control system vendors as part of the normal inventory control system software, maintenance and training.
The shared server functions can advantageously be made available by an independent Internet service provider ISP using standard e-commerce software, and the independent vendor of the shared sales server software can provide interface specifications and software support to the inventory control system vendors, enabling them to add the necessary "web register" interface functions to new or existing inventory control systems.
In this way, each function is performed by an entity which is already experienced in that phase of the overall system requirements, and each function is provided at little additional cost over costs already born by each contributor. The relationship between the shared sales server seen at in FIG. As discussed above, the remote shared sales server operates, from the standpoint of the inventory control system, much in the same way as a conventional point of sale terminal.
The other components of the inventory control system include essentially conventional purchasing, receiving, order processing, shipping and invoicing functions described in the literature. Within the inventory control system, the purchasing module presents printed reports and screen displays which assist purchasing agents to see which products need to be ordered and which vendors need to be contacted to follow up on prior orders, and automates back orders and reorders.
The module generates purchase orders, and alerts purchasing agents of urgent or routine product ordering needs by evaluating supplies on hand and estimating the demands for each product to determine if supply levels will fall below the predetermined minimum stock quantities established for each product by the merchant. The purchasing module further creates planned orders based upon a minimum order quantity, order multiple, yield percentage and maximum plan quantities established by the merchant, and alters the purchaser of low product levels automatically.
Purchase Orders are generated using screens presented to the purchasing agent which can recall vendor price lists, including price breaks and special promotion pricing. These purchasing functions are typically performed in a bricks-and-mortar retail store or group of stores, and need not be altered to support online sales as contemplated by the present invention. Similarly, the receiving module accepts inventory control information by capturing data describing incoming orders from vendors, issues inbound receipts and purchase order confirmations, and tracks back orders.
Inbound receipts are generated from existing Purchase Orders. The order fulfillment unit accepts both conventional sales orders of the type received by mail or telephone, and processes online orders from the shared server seen at in FIG.
The unit maintains the visibility of those orders until shipment is completed by identifying orders that need attention, including orders that must be rescheduled or expedited, to insure prompt delivery and to provide order status information to the customer. Customer contact information phone number, email address or mailing address from the online shared sales server , like similar information obtained by telephone or mail, may be used to automatically issue email notifications or assist the merchant in contacting the customer in other ways to confirm or reschedule orders.
The shipping module is also conventional, and handles outbound shipments, accepts new customer shipping and billing address information, handles partial shipments by identifying items reserved for later shipment, and prints packing slips and bills of lading.
The invoicing module provides invoicing, billing and charging capabilities, printing invoices to be sent to customers. The shared sales server may support billing in several ways: The shared sales server merely processes data, and need not be concerned with the actual selection, purchase or distribution of physical products, nor with the creation of the detailed product information needed by the consumer when making online purchases.
Both of these functions remain where they are best performed, with the retailer and the manufacturer respectively. When sales are performed using conventional point of sale terminals as indicated at , a sales module processes the information. The point of sale terminals perform automated sales checkout using a bar code reader to reduce errors and speed customer checkout times, enabling salespeople to focus more on customer service.
Sales are manifested by the identification of goods and quantities purchased, and these are reflected in the actual delivery of goods at the point of sale terminal which, in turn, are posted to decrement the on-hand quantity values for the products maintained in the inventory control database If selected products are unavailable at the point of sale, a terminal may commonly be used to place an order for future delivery to an identified customer by posting the order into the database for handling by the purchasing module , receiving module , order fulfillment module , shipping module and invoicing module Incoming orders from the shared sales server placed on a "web register" are processed in substantially the same way.
The communication link advantageously takes the form of an Internet link between the retailer and the remotely located sales server which operates on a transaction by transaction basis. Note that, because both product identification data and on-hand quantity information is available in the database at the shared server, the two can continue to work without continuous connection, with orders taken at the "web register" being transmitted on a batch basis, and with changes to the database of offered product universal product codes and on-hand quantities being posted on a batch basis from the inventory control system to the shared server.
The sales module processes orders from both the point of sale terminals and from the shared sales server. It packages the customer information and the product and quantity sold information for handling by the remaining modules as discussed above, and schedules multiple deliveries as needed when an order can only be partially fulfilled. When web sales are made, on hand quantities are immediately reserved and, if desired, sales of the same products from inventory via the point of sales terminals can be inhibited although, in practice, if removal of items from the showroom is needed to fill web orders, that should be done promptly to avoid customer confusion.
The relationship between retail stores, manufacturers and distributors, product information services and consumers, and the computers connected to the Internet which utilize the invention to serve each of these entities, is depicted in FIG.
Consumers and the general public access information and perform transactions via the Internet using conventional web browsers i. Such web browsers typically employ a shared Internet Service Provider ISP as indicated at which provides a connection to the Internet These consumers may view product information and perform sales transactions as contemplated by the present invention by viewing information made available by retail stores , , and via a shared sales server , as well as by a server operated by a single retail store or chain of stores.
The servers and transmit web pages to the web browsers which include links to product information which is made available by manufacturers , and via a shared product information server , and from a server operated by a single manufacturer.
The manufacturers preferably provide product information to their connected server in the form of well-formed eXtensible Markup Language XML documents which may be validated against a standard Document Type Definition DTD to which all such product information documents should conform.
The schema to which such documents adhere may be advantageously expressed in the Resource Description Framework RDF and Syntax Specification, as noted earlier, to facilitate the evolution of standardized content definitions for product and company information. The shared product information server illustrated at , in its simplest form, does nothing more than make Internet accessible data storage space available where smaller manufacturers without their own servers can make product and company information available via the Internet.
Even the smallest manufacturer can thus make product and company information available to consumers and retailers worldwide at an insignificant incremental cost. Many such small manufacturers can simply use web hosting space provided free of charge by their existing Internet Service Provider for product and company information storage. Manufacturers are not, of course, restricted to providing such product information through links from web sites of retailers and others.
A manufacturer may use the same information to support its own promotional web site offering such things as product directories, press releases, direct sales to consumers, and any other function and service typically provided by a manufacturer's web site. Indeed, by using a predetermined URL syntax, such as http: The availability of company information, which may be accessed using the company code portion of a universal product code, also makes it possible for retailers to readily obtain specific information needed to purchase products directly from manufacturers, establish accounts, identify distributors, and the like.
The company information which is made available as contemplated by the invention may be used to automatically establish EDI connections and perform EDI transactions between the servers operated on behalf of retail stores and those operated on behalf of manufacturers.
As illustrated at in FIG. As noted earlier, cross-referencing utility seen at in FIG. Alternatively, web crawling engines can traverse the links to manufacturers' information found in product listing pages made available by retailers and others.
By storing product and company information in accordance with predetermined schemas, preferably using XML, DTD and RDF techniques as discussed above, indexing services can provide consumers with powerful tools for locating products having selected attributes and for sorting and comparing product based on those attributes. In this way, a consumer can more readily identify particular products which best suit her needs, can view detailed, accurate and up-to-date promotional and specification information on each product directly from the manufacturer, and can then identify the most desirable retail sources for selected products based on price, geography or other criteria.
In this way, "bricks and mortar" stores can make their entire existing inventory available for inspection by simply adding a "web register" module to connect their existing bar code checkout and inventory control system with a shared sales server, providing their local customers to "shop at home," make purchases on line, and either pick up or arrange for local delivery of the goods purchased.
It should be understood that the methods and apparatus described above are merely illustrative applications of the principles of the present invention. Numerous modifications may be made by those skilled in the art without departing from the true spirit and scope of the invention. Methods and apparatus for disseminating over the Internet product information produced and maintained by product manufacturers using existing universal product codes bar codes as access keys.
A cross-referencing resource, which may take the form of an independent HTTP server, an LDAP directory server, or the existing Internet Domain Name Service DNS , receives Internet request messages containing all or part of a universal product code and returns the Internet address at which information about the identified product, or the manufacturer of that product, may be obtained.
A "web register" module can be employed to provide an Internet interface between a shared sales Internet server and an otherwise conventional inventory control system, and operates in conjunction with the cross-referencing server to provide detailed product information to Internet shoppers who may purchase goods from existing stores via the Internet.
Before further describing how these entities function within the system, it will be useful to clarify some of the terms which will be used in this specification: The Internet resource which acts as the product code translator can additionally perform some or all of the following additional functions: Information Publication by Manufacturers The present invention provides significant advantages and opportunities to manufacturers.
This naming convention may take numerous forms, and the following are merely exemplary: The suffix has the form: After the target URL is formed, the subroutine send -- response returns an HTTP response message to the requesting browser which reads: For example, if the following citation information from the retailer's inventory control system is used to display the following book listing: Image-Cued Links Because additional information may not be available via the Internet from the publisher for all of the books in the retailer's inventory, it is desirable to provide a mechanism which avoids suggesting that a site visitor should click on links that will ultimately prove unworkable.
Product Code Cross-Referencing with Domain Name Servers Cross-referencing a universal product code to the Internet address of the source of information about the product designated by that code can be advantageously performed by Internet domain name servers DNS. The Shared Sales Server and the "Web Register" Conventional retail stores display merchandise for purchase in physical showrooms for inspection and purchase by consumers.
Inbound receipts are generated from existing Purchase Orders The order fulfillment unit accepts both conventional sales orders of the type received by mail or telephone, and processes online orders from the shared server seen at in FIG. What is claimed is: The method for disseminating product information via the Internet which comprises, in combination, the steps of: The method set forth in claim 1 wherein said portion is the company code portion of a said particular universal product code and wherein said particular Internet address specifies the location of an Internet resource operated on behalf of the manufacturer specified by said company code portion.
The method set forth in claim 1 wherein said information describing the product designated by said particular universal product code is expressed in eXtensible Markup Language. The method set forth in claim 2 wherein said information describing the product designated by said particular universal product code is expressed in eXtensible Markup Language. Apparatus for delivering product information via the Internet which comprises, in combination: The apparatus set forth in claim 5 wherein said response message takes the form of a hypertext transport protocol response message which includes a location header field containing a destination URL specifying said particular Internet address whereby said request message is redirected to said particular destination URL.
The apparatus set forth in claim 5 wherein said database stores a company code portion of a said universal product code and wherein said corresponding Internet address specifies the location of an Internet resource operated on behalf of the entity specified by said company code portion.
The apparatus set forth in claim 5 wherein said cross-referencing resource is the Internet Domain Name Service.
The apparatus set forth in claim 8 wherein said product information is expressed in extensible markup language. The apparatus set forth in claim 9 wherein said web browser displays said product information in accordance with stylesheet information specified on said web page.
The apparatus set forth in claim 10 wherein said product information satisfies the validity requirements contained in a predetermined standard XML Document Type Definition for product information.
The apparatus set forth in claim 10 wherein said product information conforms to a schema expressed in accordance with the Resource Description Framework RDF and Syntax Specification. The apparatus as set forth in claim 5 wherein said reference in said web page is contained in a hypertext link anchored by a visual element which is retrieved from said second computer by said web browser program when said web page is displayed, said visual element having content which is dependent upon the nature of the information stored in said database relating to said particular universal product code.
The apparatus as set forth in claim 13 wherein said visual element is an image file transmitted to said web browser from said second computer in response to an image request message containing at least a portion of said particular universal product code.
US USA en Methods and apparatus for disseminating product information via the internet using universal product codes. US USB1 en US USB2 en Methods and apparatus for using the internet domain name system to disseminate product information.
US USA1 en Methods and apparatus for transferring product information from manufacturers to retailers and distributors via the Internet. System and method for the storage, indexing and retrieval of xml documents using relational databases.
System and method for automatic loading of an xml document defined by a document-type definition into a relational database including the generation of a relational schema therefor. Methods and apparatus for automatically generating a routing table in a messaging server. Internet service of differently formatted viewable data signals including commands for browser execution. System and methods for on-line, real-time inventory display, monitoring, and control.
Data input form generation system, data input form generation method, and computer-readable recording medium. Method and apparatus for accessing electronic data via a familiar printed medium.
System and method for enforcing politeness while scheduling downloads in a web crawler. Method and apparatus for identifying related searches in a database search system. Method of consumer product promotion over the internet using unique product package numbers. Method and system for providing a framework for processing markup language documents.
Method, apparatus, and system for centrally defining and distributing connection definitions over a network. System and method for managing expiration-dated products utilizing an electronic receipt.
Method and system for identifying provider network locations based on user-provided codes. Method and system for directing end user to selected network location of provider based on user-provided codes. Method and system for administering a customer loyalty reward program using a browser extension.
Routing string indicative of a location of a database on a web associated with a product in commerce. Apparatus and a process for the retrieval of data in the case of a faulty request on a server in the internet. Scalable distributed database system and method for linking codes to internet information.
Method and apparatus for automatically checking e-mail addresses in outgoing e-mail communications. Object-oriented representation of technical content and management, filtering, and synthesis of technical content using object-oriented representations.
Method and program product for preventing unauthorized users from using the content of an electronic storage medium. Printed medium activated interactive communication of multimedia information, including advertising. Method, system, and program for transferring data between servers through a client computer over a network. Method for managing a frequent shopper program at an e-commerce site and an in-store site. Method and system for using machine translation with content language specification.
System, method and article of manufacture for a common cross platform framework for development of DVD-Video content integrated with ROM content. Apparatus, method and system for effecting information access in a peer environment. Method and apparatus for representing host datastream screen image information using markup languages. Method and apparatus for generating information pages using semi-structured data stored in a structured manner. System and method for utilizing an internet enabled telephone to conduct business.
Cooperative adaptive web caching routing and forwarding web content data requesting method. Providing services and information based on a request that includes a unique identifier.
Method and system for tracking the purchase of a product and services over the internet. Systems and methods for automatic insertion of machine-readable graphical codes into printable documents. Method, program and apparatus for collecting purchase information using network. Cooperative adaptive web caching routing and forwarding web content data broadcasting method.
Trainable database for use in a method and system for returning a non-scale-based parcel weight. System and method for encoding and decoding data and references to data in machine-readable graphical codes. Systems and methods for pixel gain compensation in machine-readable graphical codes. System and method for associating pre-printed machine-readable graphical codes with electronically-accessible data.
Method, product, and apparatus for requesting a resource from an identifier having a character image. System for indexical triggers in enhanced video productions by redirecting request to newly generated URI based on extracted parameter of first URI.
System and method for automatically updating product data in an electronic catalog. Pre-qualifying sellers during the matching phase of an electronic commerce transaction.
Extending the capabilities of an XSL style sheet to include components for content transformation. Sending to a central indexing site meta data or signatures from objects on a computer network. System, method and article of manufacture for remote unlocking of local content located on a client device. Identification of redundancies and omissions among components of a web based architecture. Method for managing printed medium activated revenue sharing domain name system schemas.
Method and system for directing users to information specific to network applications. Billing in mobile communications system employing wireless application protocol. System and method for implementing a schema object model in application integration. Method and system for creating electronic music file based on codes inputted by end user. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability.
Method for receiving and reconciling physical inventory data against an asset management system from a remote location. Approach for transforming XML document to and from data objects in an object oriented framework for content management applications. Prefix-based systems, methods and access tools for accessing information on the internet. Method of retrieving schemas for interpreting documents in an electronic commerce system.
Dynamically determining the most appropriate location for style sheet application. System and method of ranking and retrieving documents based on authority scores of schemas and documents. Method and system for matching complex customer requirements with provider solutions.
System and method for generating graphical codes containing a plurality of data fields. Method, system, and apparatus for providing action selections to an image referencing a product in a video production. Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process. Method and apparatus for allowing a remote site to interact with an intermediate database to facilitate access to the remote site.
Method of and system for enabling the access of consumer product related information and the purchase of consumer products at points of consumer presence on the world wide web www at which consumer product information request cpir enabling servlet tags are embedded within html-encoded documents. Method, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings. System and method for automatically gathering dynamic content and resources on the world wide web by stimulating user interaction and managing session information.
Universal protocol for enabling a device to discover and utilize the services of another device. System and method for analytically modeling data organized according to a referenced attribute. Systems and methods for interfacing multiple types of object identifiers and object identifier readers to multiple types of applications. Systems and methods for facilitating automatic completion of an electronic form.
Method and system for directing end user to network location of provider based on user-provided codes. Method for managing and changing process of client and server in a distributed computer system. Recording medium, recording apparatus, recording method, reproduction apparatus and reproduction method.
Apparatus and method for facilitating the selection of products by buyers and the purchase of the selected products from a supplier. Apparatus method and system for multiple resolution affecting information access. Method, system, and computer program product for providing multi-tiered broadcasting services.