Patent Document

RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 14/165,434, filed on Jan. 27, 2014, which is a continuation of U.S. patent application Ser. No. 12/783,458, filed on May 19, 2010, now US. Pat. No. 8,639,829, which is a continuation of U.S. patent application Ser. No. 09/976,301, filed Oct. 11, 2001, now U.S. Pat. No. 7,752,266 entitled “SYSTEM AND METHOD TO FACILITATE TRANSLATION OF COMMUNICATIONS BETWEEN ENTITIES OVER A NETWORK,” which are incorporated herein by reference in their entireties. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to the field of network-based communications and, more specifically, to a system and method to facilitate translation of communications between entities over a network, such as the Internet. 
       BACKGROUND OF THE INVENTION 
       [0003]    The explosive growth of the Internet as a publication and interactive communication platform has created an electronic environment that is changing the way business is transacted. As the Internet becomes increasingly accessible around the world, communications between users that utilize different spoken or written languages increase exponentially. 
         [0004]    Several attempts have been made to facilitate such communications and to provide translation software packages residing on a computer and configured to translate text or voice communications from one language to another. Some of these translation software packages, however, can be expensive and can result in a financial burden for a user of such software packages. Furthermore, such software packages require considerable storage capacity to be available on the computer. 
         [0005]    Another drawback of the translation software packages relates to their limited applicability. For example, current technology allows for translation of text through common text translation software installed on a computer. The translation may be accomplished in a variety of ways, one of which is direct word for word translation of the communication, which is imperfect and produces grammatically incorrect sentences in the translated language. Current technology also allows for limited translation of voice communications through speech recognition software installed on the computer. However, spoken language translation is mostly available in restricted domains, where the database of recognizable words is limited to a specific set of words. 
       SUMMARY OF THE INVENTION 
       [0006]    A system and method to facilitate translation of communications between entities over a network are described. Multiple predetermined language constructs are communicated to a first entity as a first transmission over the network. Responsive to selection by the first entity of a language construct from the predetermined language constructs, a translated language construct corresponding to the selected language construct is identified. Finally, the translated language construct is communicated to a second entity as a second transmission over the network. 
         [0007]    Other features and advantages of the present invention will be apparent from the accompanying drawings, and from the detailed description, which follows below. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The present invention is illustrated by way of example and not intended to be limited by the figures of the accompanying drawings in which like references indicate similar elements and in which: 
           [0009]      FIG. 1  is a block diagram illustrating an exemplary network-based transaction facility in the form of a network-based auction facility. 
           [0010]      FIG. 2  is a block diagram illustrating an exemplary database, maintained by and accessed via a database engine server, which at least partially implements and supports the auction facility. 
           [0011]      FIG. 3A  illustrates an exemplary stored constructs table. 
           [0012]      FIG. 3B  illustrates an exemplary stored translated constructs table. 
           [0013]      FIG. 4  is an interaction diagram illustrating a sequence of interactions, according to an exemplary embodiment of the present invention, to facilitate translation of communications between entities over a network. 
           [0014]      FIG. 5  is a block diagram illustrating an exemplary environment in which the interaction sequence illustrated in  FIG. 4  may be employed. 
           [0015]      FIG. 6  is a flow chart illustrating a method, according to an exemplary embodiment of the present invention, to facilitate translation of communications between entities over a network. 
           [0016]      FIG. 7  is a diagrammatic representation of a machine in the exemplary form of a computer system within which a set of instructions may be executed. 
       
    
    
     DETAILED DESCRIPTION 
       [0017]    A system and method to facilitate translation of communication between entities over a network are described. In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
         [0018]      FIG. 1  is a block diagram illustrating an exemplary network-based transaction facility in the form of a network-based auction facility  10 . While an exemplary embodiment of the present invention is described within the context of an auction facility, it will be appreciated b r those skilled in the art that the invention will find application in many different types of computer-based, and network-based, commerce facilities. 
         [0019]    The auction facility  10  includes one or more of a number of types of front-end servers, namely communications servers in the exemplary form of page servers  12  that deliver web pages to multiple entities (e.g., markup language documents), picture servers  14  that dynamically deliver images to he displayed within the web pages, listing servers  16 , processing servers in the exemplary form of Common Gateway Interface (CGI) or Internet Server Application Program Interface (ISAPI) servers  18  that provide an intelligent interface to the back-end of the auction facility  10 , and search servers  20  that handle search requests to the auction facility  10 . In addition, the auction facility  10  includes e-mail servers  21  that provide, inter alia, automated e-mail communications to/from entities of the facility  10 . 
         [0020]    The auction facility  10  further includes one or more back-end servers, for example a database engine server  22 , a search indexer server  24  and a credit card database server  26 , each of which maintains and facilitates access to a respective database  23 . The network-based auction facility  10 , such as an Internet-based auction facility  10 , may be accessed by a client program  30 , such as a browser (e.g., the Internet Explorer browser distributed by Microsoft Corporation of Redmond, Wash.) that executes on a client machine  32  and accesses the facility  10  via a network  34 , such as, for example, the Internet. Other examples of networks that a client may utilize to access the auction facility  10  includes a wide area network (WAN), a local area network (LAN), a wireless network (e.g., a cellular network), or the Plain Old Telephone Service (POTS) network. 
         [0021]      FIG. 2  is a block diagram illustrating an exemplary database  23 , maintained by and accessed via the database engine server  22 , which at least partially implements and supports the auction facility  10 . The database  23  may, in one embodiment, be implemented as a relational database, and includes a number of tables having entries, or records, that are linked by indices and keys. In an alternative embodiment, the database  23  may be implemented as a collection of objects in an object-oriented database. 
         [0022]    Central to the database  23  shown in  FIG. 2  is a user table  40 , which contains a record for each entity or user of the auction facility  10 . Each user may operate as a seller, a buyer, or both, within the auction facility  10 . The database  23  also includes items tables  42  that may be linked to the user table  40 . Specifically, the table  42  includes a seller items table  44  and a bidder items table  46 . A user record in the user table  40  may he linked to multiple items that are being, or have been, auctioned via the auction facility  10 . A link indicates whether the user is a seller or a bidder (or buyer) with respect to items for which records exist within the items table  42 . 
         [0023]    The database  23  further includes a note table  48  populated with note records that may be linked to one or more item records within the items table  42  and/or to one or more user records within the user table  40 . Each note record within the note table  48  may include, inter (Ilia, a comment, description, history, or other information pertaining to an item being auctioned via the auction facility  10 , or pertaining to a user of the auction facility  10 . 
         [0024]    A number of other tables are also shown to be linked to the user table  40 , such as a user past aliases table  50 , a feedback table  52 , a bids table  54 , an accounts table  56 , and an account balances table  58 . 
         [0025]    The database  23  is also shown to include two tables specifically to enable an exemplary embodiment of the present invention. A stored construct table  60  stores a predetermined number of language constructs, such as sentences, phrases, questions, or any other known types of language constructs. A stored translated construct table  70  contains a number of records, each record storing translated language constructs corresponding to the language constructs stored in table  60 . Prior to any communication between client  32  and the network-based auction facility  10 , each translated language construct is generated and stored in the stored translated construct table  70 , and the correspondence to one or more predetermined language constructs in the stored language constructs table  60  is defined, such that each translated language construct includes a predetermined translation of the corresponding predetermined language construct. 
         [0026]      FIG. 3A  illustrates an exemplary embodiment of a stored construct table  60 . As illustrated in  FIG. 3A , the table  60  includes a construct ID field  62  to store a unique identifier for each stored language construct to be used in an exemplary embodiment of the present invention. The table  60  further includes a construct field  64  to store each language construct maintained within the database  23 . 
         [0027]      FIG. 3B  illustrates an exemplary embodiment of a stored translated construct table  70 . As illustrated in  FIG. 3B , the table  70  includes a construct ID field  72  to store a unique identifier for each translated language construct, which corresponds to the identifier of the language construct stored within field  62 . The table  70  further includes a language ID field  74  to store an identifier for a language pertaining to the translated construct, and a translated construct field  76  to store the translated construct in the particular language identified in the language ID field  74 . 
         [0028]      FIG. 4  is an interaction diagram illustrating a sequence  90  of interactions, according to an exemplary embodiment of the present invention, to facilitate translation of communications between entities in the exemplary form of a first user  92  and a second user  94 . While the sequence  90  describes a client-server environment, whereby communications between the first and second users  92  and  94  are facilitated by, or performed through, a website  96 , it will also he appreciated that the teachings of the present inventions may be applied to a peer-to-peer environment, whereby the users  92  and  94  communicate directly and not through the website  96 . 
         [0029]    As illustrated in  FIG. 4 , the sequence  90  commences at block  105  with the selection by the first user  92  of a language construct and of a user identifier of the second user  94 . The language construct may be selected, in one embodiment, from a drop-down list containing multiple predetermined language constructs, the drop-down list being displayed in a first interactive area of a web form communicated to the first user  92  from the website  96 . Alternatively, the language construct may be selected from a window, which presents the web form containing the predetermined language constructs to the first user  92 . The predetermined language constructs are generated and stored in the stored constructs table  60  of the database  23  prior to being communicated to the first user  92  in the drop-down list or web form. 
         [0030]    At block  110 , the language construct is communicated from the first user  92  to the website  96  via the network  34  in a message directed to the second user  94 , for example an electronic mail (e-mail) message. 
         [0031]    At block  115 , the website  96  (e.g., the auction facility  10 ) utilizes the search servers  20  to conduct a search of the user table  40 , the stored constructs table  60 , and the stored translated constructs table  70  to retrieve a translated language construct, based on the user identifier corresponding to the second user  94 . The search of the user table  40  locates the user information pertaining to the second user  94 , including a language preference of the second user  94 , and the search of the tables  60  and  70  locates the translated language construct corresponding to the selected language construct and the language preference of the second user  94 . In one embodiment, the predetermined language constructs and the translated language constructs are generated and stored in respective tables  60  and  70  prior to the language constructs being communicated to the first user  92 , so as to define a correspondence between each predetermined language construct and at least one associated translated language construct. Alternatively, the storing is so as to define a correspondence between a set of the translated language constructs, wherein each translated language construct of the set includes a predetermined translation of a common underlying language construct. 
         [0032]    At block  120 , the website  96  generates a translated message to be transmitted to the second user  94 . In one embodiment, the translated message is an e-mail message generated by the e-mail servers  21  and directed to the second user  94 , which contains the translated language construct. Alternatively, the translated e-mail message may contain multiple interactive fields to allow the second user  94  to respond to the first user  92 . 
         [0033]    At block  125 , the translated message is communicated to the second user  94 . In one embodiment, an e-mail message containing the translated language construct is communicated by the e-mail servers  21  to the second user  94 . 
         [0034]    At block  130 , the second user  94  selects a further language construct and a user identifier of the first user  92  to which the further language construct is to be communicated. The further language construct may be selected, in one embodiment, from a drop-down list containing multiple predetermined language constructs translated in the language preference of the second user  94 , the drop-down list being displayed in one interactive field of the multiple fields communicated to the second user  94  from the website  96 . Alternatively, the second user  94  may only receive the translated message from the website  96  and take no further action. 
         [0035]    At block  135 , the further language construct is communicated from the second user  94  to the website  96  via the network  34  in a reply message directed to the first user  92 , for example an electronic mail (e-mail) message. 
         [0036]    At block  140 , the website  96  (e.g., the auction facility  10 ) utilizes the search servers  20  to conduct a search of the user table  40 , the stored constructs table  60 , and the stored translated constructs table  70  to retrieve a translated further language construct, based on the user identifier corresponding to the first user  92 . The search of the user table  40  locates the user information pertaining to the first user  92 , including a language preference of the first user  92 , and the search of the tables  60  and  70  locates the translated further language construct corresponding to the selected further language construct and the language preference of the first user  92 . 
         [0037]    At block  145 , the website  96  generates a translated reply message to be transmitted to the first user  92 . In one embodiment, the translated reply message is an e-mail message generated by the e-mail servers  21  and directed to the first user  92 , which contains the translated further language construct. 
         [0038]    At block  150 , the translated reply message is communicated to the first user  92 . In one embodiment, an e-mail message containing the translated further language construct is communicated by the e-mail servers  21  to the first user  92 . 
         [0039]    It should be noted that the sequence  90  may have any one of a number of applications and may be implemented within any number of environments. For example, the sequence  90  may be used to communicate information from any one entity, such as first or second users  92  and  94 , to the website  96  in a language preferred by the respective entity. The website  96  may subsequently translate the information and use it in any one of a number of applications, such as in the preparation of item listings, or in the updating of the user information. 
         [0040]      FIG. 5  is a block diagram illustrating an exemplary environment in which the interaction sequence  90  may be employed. As illustrated in  FIG. 5 , client machines  32  are shown to reside outside the context of a website, such as the exemplary website  96  shown in  FIG. 4 . Accordingly, this embodiment describes an application which allows a first user of a client machine  32 , such as the first client machine  32 , to communicate language constructs to a second user of a further client machine  32 , such as the second client machine  32 , both of which reside outside the website  96  or any other commerce facility. Alternatively, each user of the client machines  32  may only communicate language constructs to the website  96  in order to request performance of applications by the website  96 . 
         [0041]    Referring to  FIG. 5 , the first user selects a language construct and a user identifier of the second user in an e-mail client or browser  322  that executes in the first client machine  32 , the second user being the recipient of an e-mail message  324  containing the language construct to be communicated by the first user. The language construct may be selected, in one embodiment, from a drop-down list containing multiple predetermined language constructs, the drop-down list being displayed in a first interactive area of a web form communicated to the first user from the website  96 . Alternatively, the language construct may be selected from a window, which presents the web form containing the predetermined language constructs to the first user. 
         [0042]    The message is shown to be communicated to the e-mail servers  21  of the website  96 . Specifically, the message containing the language construct may be communicated, in one embodiment, as an e-mail message or by utilizing any other transfer protocol or communication. The e-mail servers  21  receive the message using the transmission functions  217  and proceed to parse the message to extract the language construct and the user identifier for the second user that operates the second client machine  32 . 
         [0043]    The search servers  20  within the website  96  receive the language construct and the user identifier and search tables within corresponding databases using search functions  205  to provide a translated language construct to be communicated to the second user. Specifically, in one embodiment, the search servers  20  search the user table  40  shown in  FIG. 2  to locate user information pertaining to the second user, including a language preference of the second user. The search servers  20  further search the stored constructs table  60  and the stored translated constructs table  70  shown in  FIG. 2  to locate the translated language construct corresponding to the selected language construct and the language preference of the second user. 
         [0044]    The translated language construct is subsequently communicated to the e-mail servers  21 . The e-mail servers  21  generate a translated e-mail message containing the translated language construct using message generation functions  215 . The translated e-mail message is then communicated to the second client machine via the transmission functions  217 . 
         [0045]    In one embodiment, the second user selects a further language construct and a user identifier of the first user in an e-mail client or browser  326  that executes in the second client machine  32 , the first user being the recipient of a reply e-mail message  328  containing the further language construct to be communicated by the second user. The language construct may be selected, in one embodiment, from a drop-down list containing multiple predetermined language constructs translated in the language preference of the second user, the drop-down list being displayed in one interactive field of multiple interactive fields that may be communicated to the second user from the website  96 . Alternatively, the second user may only receive the translated e-mail message and take no further action. 
         [0046]    The reply message is shown to be communicated to the e-mail servers  21  of the website  96 . Specifically, the reply message containing the further language construct may be communicated, in one embodiment, as an email message or by utilizing any other transfer protocol or communication. The e-mail servers  21  receive the reply message using the transmission functions  217  and proceed to parse the reply message to extract the further language construct and the user identifier for the first user that operates the first client machine  32 . 
         [0047]    The search servers  20  within the website  96  receive the further language construct and the user identifier and search tables within corresponding databases using search functions  205  to provide a translated further language construct to be communicated to the first user. Specifically, in one embodiment, the search servers  20  search the user table  40  shown in  FIG. 2  to locate user information pertaining to the first user, including a language preference of the first user. The search servers  20  further search the stored constructs table  60  and the stored translated constructs table  70  shown in  FIG. 2  to locate the translated further language construct corresponding to the selected further language construct and the language preference of the first user. 
         [0048]    The translated further language construct is subsequently communicated to the e-mail servers  21 . The e-mail servers  21  generate a translated reply message containing the translated further language construct using message generation functions  215 . The translated reply message is then communicated to the first client machine via the transmission functions  217 . 
         [0049]    An alternative application would allow each user of the first or second client machines  32  to communicate selected language constructs to the website  96 . In this case, the website  96  may perform search and translation operations and use the translated language construct to update listings via listing servers  16 , or to update user information in the user table  40 . 
         [0050]      FIG. 6  is a flow chart illustrating a method, according to an exemplary embodiment of the present invention, to facilitate translation of communications between entities over a network. It will be appreciated that the method may, as described above, be utilized to facilitate translation of communications, and is not limited to the context of a network-based auction facility. 
         [0051]    As illustrated in  FIG. 6 , at processing block  610 , a web form containing language constructs is communicated to the first user. At processing block  615 , a selected language construct and a user identifier of the second user are received from the first user. 
         [0052]    At processing block  620 , the user table  40  is searched to locate user information pertaining to the second user, including a language preference of the second user. At processing block  625 , the stored constructs table  60  and the stored translated constructs table  70  are searched to retrieve a translated language construct corresponding to the selected language construct. 
         [0053]    At processing block  630 , a translated message containing the translated language construct and multiple interactive fields is generated. At processing block  635 , the translated message is communicated to the second user. 
         [0054]    At processing block  640 , a further language construct and a user identifier of the first user are received from the second user. At processing block  645 , the user table  40  is searched to locate user information pertaining to the first user, including a language preference of the first user. At processing block  650 , the stored constructs table  60  and the stored translated constructs table  70  are searched to retrieve a translated further language construct corresponding to the selected further language construct. 
         [0055]    At processing block  655 , a translated reply message containing the translated further language construct is generated. Finally, at processing block  660 , the translated reply message is communicated to the first user. 
         [0056]      FIG. 7  shows a diagrammatic representation of a machine in the exemplary form of a computer system  300  within which a set of instructions, for causing the machine to perform any one of the methodologies discussed above, may be executed. In alternative embodiments, the machine may comprise a network router, a network switch, a network bridge, Personal Digital Assistant (PDA), a cellular telephone, a web appliance or any machine capable of executing a sequence of instructions that specify actions to be taken by that machine. 
         [0057]    The computer system  300  includes a processor  302 , a main memory  304  and a static memory  306 , which communicate with each other via a bus  308 . The computer system  300  may further include a video display unit  310  (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system  300  also includes an alphanumeric input device  312  (e.g., a keyboard), a cursor control device  314  (e.g., a mouse), a disk drive unit  316 , a signal generation device  18  (e.g., a speaker), and a network interface device  320 . 
         [0058]    The disk drive unit  316  includes a machine-readable medium  324  on which is stored a set of instructions (i.e., software)  326  embodying any one, or all, of the methodologies described above. The software  326  is also shown to reside, completely or at least partially, within the main memory  304  and/or within the processor  302 . The software  326  may further be transmitted or received via the network interface device  320 . 
         [0059]    It is to be understood that embodiments of this invention may be used as or to support software programs executed upon some form of processing core (such as the CPU of a computer) or otherwise implemented or realized upon or within a machine or computer readable medium. A machine readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine readable medium includes read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); or any other type of media suitable for storing or transmitting information. 
         [0060]    In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Technology Category: 5