METHOD AND APPARATUS FOR ATTRIBUTE-BASED ADDRESSING OF MESSAGES IN A NETWORKED SYSTEM

Abstract: A mechanism (100, 102, 104) is provided for providing attribute-based addressing of messages or packages (108) in a networked system. The mechanism (100, 102, 104) associates an attribute-based address (110) with a message (108). The attribute-based address (106) is based on a set of defined group attributes (110). The mechanism (100, 102, 104) then executes a delivery rule (112, 114) associated with the attribute-based address (106). The message is delivered to one or more recipients (120) having individual attributes which satisfy the delivery rule. The delivery rule (112, 114) can be executed by an originator (122) of the message or by the recipient (124) of the message. The individual attributes associated with the recipient can be changed by the recipient. Particular delivery rule includes a relevance-based ranking function (114).

Description: Method and Apparatus for Attribute-Based Addressing of Messages in a Networked System FIELD OF THE INVENTION The present invention relates to the addressing of electronic messages or packages. More specifically, the present invention relates to a method and apparatus for attribute-based addressing of messages or packages. BACKGROUND Currently, in order to address and transmit a message or package to an individual or group, the address of each individual or a group address must typically be known to the originator of the message. In mass communication programs, such as direct electronic mail (e-mail) marketing campaigns, the task of compiling an accurate e-mail address list for intended or desired recipients can be quite costly and time consuming. However, in such marketing campaigns, there is no guarantee that the intended or desired recipients on the e-mail address list have any interest in the subject matter of the message. Moreover, there is a finite cost associated with each message sent to a recipient or group, thereby making the marketing campaign costly and inefficient as there is no guarantee that the message or package is reaching recipients which have an interest in the subject matter of the message. Consequently, the typical marketing campaign is costly and inefficient. Moreover, mass communication programs often inundate individual recipients or groups with unwanted messages which are not relevant to the interests of the recipients or groups. The recipients or groups are therefore forced to clear out their electronic mailboxes of these unwanted messages or packages on a regular basis. SUBSTΓΠΠΈ SHEET (RULE 26) Consequently, the recipients of these unwanted messages become accustomed to clearing out unsolicited messages without examining the content of these messages as the number of messages increase, thereby making marketing campaigns less effective over time. In typical marketing campaigns, the marketing source generally attempts to compile a list of addresses which correspond to a desired target audience. Several different methods and techniques have been utilized in refining the generation of target audience address lists. For instance, marketing sources have utilized statistical information (median income, number of children, type and number of computers, etc.) regarding the residents of a geographical area in order to generate a target audience address list. Another example of a technique used in generating target audience address lists is in the situation where a purchaser of a product fills out a registration card which contains information regarding their purchasing habits. The information contained on the registration card is then utilized by a marketing source in generating a target audience address list. Yet another example of a method used in generating target audience address lists is buying information from an information broker. An information broker sells marketing information to different marketing sources from information contained within the information broker's own marketing clearinghouse database. Even with all of the aforementioned techniques, the target audience address lists often contain outdated or inaccurate information regarding the members contained within the lists. The inaccuracies can result from outdated information, change in status, inaccurate transcriptions, and a myriad of other associated inaccuracies which may occur during generation of these target audience address lists. Therefore, the marketing campaign results in messages being sent to recipients who have no interest in the subject matter of the message, along with a loss associated with the cost of sending each message. Ideally, a marketing source would find it useful to have the ability to send messages to those who fit a certain profile of an ideal target recipient who would be interested in the contents of the message. Likewise, a recipient of information would like to prevent messages and packages which would not be of interest to them from being delivered, while allowing those messages that would be of interest to the recipient to be delivered. For instance, a software or hardware computer manufacturer may wish to contact a product user who has a specific version or model of their product. The manufacturer may wish to send a message to the user of the specific version or product regarding a problem or update product associated with that specific version, while omitting contact with those product users which do not use that specific version of the product. This would allow the manufacturer the ability to contact those users which would most likely be interested in the message contents, while omitting other users which would not be interested in the message contents. Likewise, the users of computer products not encompassed within a specific manufacturer's product line would not be inundated with unwanted messages from the manufacturer. Such an addressing system would allow for messages to be sent only to those prospective recipients which satisfy a certain profile criteria, while omitting other prospective recipients which do not satisfy the profile criteria. Moreover, the addressing system would reduce the number of messages, and thereby the cost associated with the sending of unwanted messages which are not relevant to the interests of a particular recipient or group. It is therefore desirable to provide an addressing system which provides a general set of profile parameters which could be used to address messages to recipients, wherein messages would be sent to only those prospective recipients which satisfy a certain profile criteria. Additionally, the addressing system would allow the prospective recipients the ability to change the individual profile parameters associated with the recipient in order to reflect the individual's interests. The ability to change the individual profile associated with the recipient would, in effect, allow the recipient the ability to filter out messages which do not contain subject matter of interest to the recipient. SUMMARY OF THE INVENTION Embodiments of the present invention provide an addressing system that includes a general set of profile parameters that are used to address messages to prospective recipients. The messages are delivered to only those prospective recipients having certain individual profile parameters. Additionally, the addressing system allows the prospective recipients to change the individual profile parameters in order to reflect the individual's interests or preferences. Accordingly, the ability to change the individual profile parameters associated with the recipient, in effect, allows the prospective recipient to filter out messages that do not contain subject matter of interest to the prospective recipient. An embodiment of the invention associates an attribute-based address with a message. The attribute-based address is based on a set of defined group attributes. A discovery rule associated with the attribute-based address is executed such that the message is delivered to a recipient having individual attributes which satisfy the delivery rule. In particular embodiments of the invention, the delivery rule is executed by an originator of the message. In other embodiments, the delivery rule is executed by the recipient of the message. Another embodiment of the invention provides a delivery rule that includes a relevance-based ranking function. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example in the following drawings in which like references indicate similar elements. The following drawings disclose various embodiments of the present invention for purposes of illustration only and are not intended to limit the scope of the invention. Figure 1 is a flow diagram illustrating an embodiment of a procedure for attribute-based addressing of messages in a networked system. Figure 2 illustrates an embodiment of a procedure for attribute-based addressing of messages in a networked system, wherein a delivery rule is executed by a first recipient. Figure 3 illustrates an embodiment of a procedure for attribute-based addressing of messages in a networked system, wherein a delivery rule is executed by a first recipient, and then possibly re-executed by a second prospective recipient. Figure 4 illustrates an embodiment of a computer system that can be used with the present invention. Figure 5 illustrates an embodiment of a computer-readable medium containing various sets of instructions, code sequences, configuration information, and other data used by a computer or other processing device. DETAILED DESCRIPTION The following detailed description sets forth numerous specific details to provide a thorough understanding of the invention. However, those of ordinary skill in the art will appreciate that the invention may be practiced without these specific details. In other instances, well-known methods, procedures, protocols, components, algorithms, and circuits have not been described in detail so as not to obscure the invention. The present invention is directed to an addressing system that provides a general set of profile parameters that are used to address messages to prospective recipients, wherein the messages are delivered to only those prospective recipients having certain individual profile parameters. Additionally, the addressing system allows the prospective recipients the ability to change the individual profile parameters associated with the prospective recipient in order to reflect the individual's interests. Accordingly, the ability to change the individual profile parameters associated with the recipient, in effect, allows the prospective recipient the ability to filter out messages which do not contain subject matter of interest to the prospective recipient. Throughout this detailed description of the invention, various embodiments are discussed that include the term network and various prospective recipients within the network. The teachings of the present invention are applicable to any type of network, such as, but not limited to, intranet networks and internet networks. Moreover, the various prospective recipients in the network can be any type of server or client computing device, including, but not limited to, desktop or laptop computers, personal digital assistants (PDAs), or devices containing embedded controllers or embedded processors. Further, any type of communication link and communication medium can be used to communicate information between two or more devices. Message can also 7 be delivered using a computer-readable medium such as a CD-ROM. a tape, or a diskette. Figure 1 is a flow diagram illustrating an embodiment of a procedure for attribute-based addressing of messages in a networked system. Initially, as shown in Step 100, an attribute-based address (ABA) 106 is associated with a message or package 108. The ABA 106 is an address which is generated from a set of defined group attributes 110. An attribute is any identification data which can be associated with a user or prospective recipient. The set of defined group attributes 110 comprises a collection of attributes which are utilized within the attribute-based addressing system for addressing messages to prospective recipients. The set of defined group attributes 110 may contain such attribute items as gender, income amount, computer processor type, age, hobbies, or any other desired attribute. Moreover, new attributes or subsets of existing attributes can be added to, or removed from, the set of defined group attributes 106 in order to allow programming flexibility with respect to the individual attributes which make up the set of defined group attributes 110. The ABA 106 is typically generated by an originator of the message and is utilized in targeting a specific user as the prospective recipient of the message 108. The message or package 108 may be any collection of data, including, but not limited to, executable programs, text, and/or graphics. The ABA 106 typically comprises a combination of chosen attributes which are selected from the set of defined group attributes 110. However, the ABA 106 may be made up of a single attribute selected from the set of defined group attributes 110. At step 102, the ABA 106 is formatted into a desired delivery rule structure which, when executed, assists in determining if the message 108 is appropriate to send to a particular prospective recipient. The ABA 106 may be formatted in any type of 8 delivery rule structure which assists in determining an appropriate prospective recipient for message delivery. A particular originator of a message 108 may desire that a specific message be sent only to certain individuals within a certain class. For instance, the originator of the message may want the message 108 to be sent to prospective recipients with the following attributes: gender: male, age: 30 or less, hobby: golf, and income: over $50,000 or a stock portfolio: over $250,000. Accordingly, the ABA 106 is formatted into a delivery rule structure which is utilized in determining if the message 108 is appropriate to send to a particular prospective recipient. An attribute can also represent a real-time event or activity (e.g., applications currently running or the opening of a graphical window). The ABA 106 for the aforementioned attributes could be expressed within a Boolean delivery rule structure 112 as follows: [(profile.personal.demographics.gender= male) AND (profile.personal.demographics.age<- 30) AND (profile.personal.interests.hobbies=golf) AND (profile.personal.income>=50000) OR (profile.personal.stock>=250000)]. Additionally, the same ABA 106 could be expressed within a ranking-based delivery rule structure 114, wherein the originator may assign a weighting factor or other ranking factor to those individual attributes which are considered to be of high importance to the originator. For instance, with regard to the attributes listed above, the originator may consider the income of the prospective recipient to be of primary importance, with secondary importance assigned to the hobby of golf. Therefore, a high weighting factor of 0.3 is ascribed to the income and stock attributes, a median SUBSTΓΓUTE SHEET (RULE 26) weighting factor of 0.2 is ascribed to the interests/hobbies attribute, with the remaining attributes assigned a low weighting factor of 0.1. Accordingly, the ABA for the aforementioned attributes could be expressed within a ranking based delivery rule structure as follows: [(profile.personal.demographics.gender= m-ale — 0.1) + (profile.personal.demographics.age<= 30 — 0.1) + (profile.personal.interests.hobbies=golf- — 0.2) + (profile.personal.income>=50000 — 0.3) | (profile.personal.stock>=250000 — 0.3)]. In this example, the weighting factor is counted if the condition is true. Thus, if a particular recipient is male, age 28, enjoys golf, and has an income of $60,000, then a weighted total of 0.6 is generated. The weightings applied above are all positive. However, negative weightings may also be applied (e.g., for undesirable attributes or attributes indicating a lack of interest in the message). At step 104. the delivery rule associated with the ABA 106 is executed, wherein an ABA data set 116 is generated and is comprised of those attributes listed in the ABA 106. The delivery rule compares the attributes contained in the ABA data set 116 with a set of published user attributes 118 associated with the prospective intended recipient 120. The published user attributes 118 associated with the prospective intended recipient 120 can be published to a medium which allows access to anyone interested in the prospective recipient's attribute profile. Additionally, the prospective recipient 120 may modify or change the published user attributes 118 to reflect the prospective recipient's interests. Therefore, an originator would be able to configure an ABA 106 to 10 target the particular prospective recipient 120 based upon the published user attributes 118. The comparison may be performed by either a first device 122 associated with the originator of the message or by a second device 124 associated with prospective intended recipient 120, or any other device capable of executing the delivery rule. If there is a sufficient data correlation between the ABA data set 116 and the published user attributes 118 associated with the prospective recipient 120, then the delivery rule is satisfied and the message 108 is sent to the prospective recipient 120. If the delivery rule is not satisfied, the message 108 can be either stored in a recipient accessible data file (RAF) 126, with an option of forwarding to a deletion queue 128 after a specified period, or the message can simply be placed directly into a deletion queue 130, wherein after a second specified period of time the data in the respective deletion queues are cleared (deleted). Figure 2 illustrates an embodiment of a procedure for attribute-based addressing of messages in a networked system, wherein a delivery rule is executed by a first recipient. At Step 200, similar to that of Step 100, an attribute-based address (ABA) 206 is associated with a message 208, wherein the ABA 206 is an address which is generated from a set of defined group attributes 210. As previously mentioned above, the set of defined group attributes 210 comprises a collection of attributes which are utilized within the attribute-based addressing system. At step 202, the ABA 206 is formatted into any desired delivery rule structure which, when executed, assists in determining if the message 208 is appropriate to be sent to a particular prospective recipient. The ABA 206 can be expressed in either a Boolean delivery rule structure 212, or in a ranking based delivery rule structure 214, or in any other type of delivery rule structure which would assist in determining if the message 208 is appropriate to be sent to a prospective recipient. 11 At Step 204, the message is supplied (S) to a first recipient 216, such as a server or network computer, which executes the delivery rule associated with the ABA 206, thereby generating an ABA data set 218. The delivery rule compares the attributes contained in the ABA data set 218 with a set of semi-private (or private) user attributes 220 associated with a second prospective recipient 222. The set of semi-private (or private) user attributes 220 associated with a second prospective recipient 222 is known only to the second prospective recipient 222 and the first recipient 216, but is not known to the originator of the message. Additionally, the second prospective recipient 222 may modify or change the set of semi-private (or private) user attributes 220 associated with a second prospective recipient 222 to reflect the prospective second recipient's interests. As such, the originator does not have the ability to see information which the second prospective recipient 222 may consider private. If there is sufficient data correlation between the ABA data set 218 and the semi-private (or private) user attributes 220 associated with the second prospective recipient 222, then the delivery rule is satisfied and the message 208 is delivered (D) to the second prospective recipient 222. If the delivery rule is not satisfied, the message can be either stored in a recipient accessible data file (RAF) 224, with an option of forwarding to a deletion queue 226 after a specified time period, or the message can simply be placed directly into a deletion queue 228, wherein after a second specified time period the data in the respective deletion queues are cleared (deleted). Figure 3 illustrates an embodiment of a procedure for attribute-based addressing of messages in a networked system, wherein a delivery rule is executed by a first recipient, and then possibly re-executed by a second prospective recipient. At Step 300, similar to that of Step 200, an attribute-based address (ABA) 308 is associated with a message 310. The ABA 308 is an address which is generated from a set of 12 defined group attributes 312. As previously mentioned above, the set of defined group attributes 312 comprises a collection of attributes which are utilized within the attribute-based addressing system. At step 302, the ABA 308 is formatted into any desired delivery rule structure which, when executed, assists in determining if the message 310 is appropriate to be sent to a particular prospective recipient. The ABA 308 can be expressed in either a Boolean delivery rule structure 314, or in a ranking-based delivery rule structure 316, or in any other type of delivery rule structure which would assist in determining if the message 310 is appropriate to be sent to a prospective recipient. At Step 304, the message 310 is supplied (S) to a first recipient 318, such as a server, which executes the delivery rule associated with the ABA 308 and generates an ABA data set 320. The delivery rule compares the attributes contained in the ABA data set 320 with a primary set of user attributes 322 associated with a second prospective recipient 324. The primary set of user attributes 322 associated with a second prospective recipient 324 is known only to the second prospective recipient 324 and the first recipient 318, but is not known to the originator of the message. Additionally, the second prospective recipient 324 may modify or change the set of primary user attributes 322 associated with a second prospective recipient 324 in order to reflect the prospective second recipient's interests. If there is sufficient data correlation between the ABA data set 320 and the primary set of user attributes 322 associated with the second prospective recipient 324 , then the delivery rule is satisfied and the message 310 is supplied (S) to the second prospective recipient 324. If the delivery rule is not satisfied, the message can be either stored in a recipient accessible data file (RAF) 326, with an option of forwarding to a deletion queue 328 after a specified time period, or the message can simply be placed directly into a deletion queue 330, wherein after a 13 second specified time period the data in the respective deletion queues are cleared (deleted). At step 306, if the delivery rule has been satisfied at the first recipient 318, and the message 310 has been supplied (S) to the second prospective recipient 324, the delivery rule is re-executed. When the delivery rule is re-executed, the delivery rule compares the attributes contained in the ABA data set 320 with a secondary set of user attributes 332 associated with the second prospective recipient 324. The secondary set of user attributes 332 associated with a second prospective recipient 324 is known only to the second prospective recipient 324 and is not known to either the first recipient 318 or the originator of the message. Additionally, the second prospective recipient 324 may modify or change both the sets of user attributes, primary 322 and secondary 332, associated with the second prospective recipient 324 to reflect the prospective second recipient's interests. If there is sufficient data correlation between the ABA data set 320 and the secondary set of user attributes 332 associated with the second prospective recipient 324, the delivery rule is satisfied and the message 310 is delivered (D) to the second prospective recipient 324. If the delivery rule is not satisfied, the message 310 can be either stored in a recipient accessible data file (RAF) 334, with an option of forwarding to a deletion queue 336 after a specified time period, or the message 310 can simply be placed directly into a deletion queue 338, wherein after a second specified time period the data in the respective deletion queues are cleared (deleted). In all of the aforementioned procedures, the delivery rule determines if there is sufficient correlation between an ABA data set and the respective individual attributes associated with a prospective recipient. The delivery rule determines this correlation by taking the attributes associated with the respective ABA data set and comparing these 14 attributes with the respective attributes associated with the prospective recipient. For instance, in an ABA expressed within a Boolean type delivery rule structure of: [(profile.personal.demographics.gender= male) AND (profile.personal.demographics.age<= 30) AND (profile.personal.interests.hobbies=golf) AND ((profile.personal.income>=50000) OR (profile.personal.stock>=250000))]; the respective individual attributes associated with the prospective recipient would have to contain the following attributes in order to satisfy the delivery rule: gender: male, age: 30 or less, and hobby: golf. Additionally, the respective individual attributes associated with the prospective recipient would have to contain either one of the following attributes in order to satisfy the delivery rule: income: over $50,000 or a stock portfolio: over $250,000. If the respective individual attributes associated with the respective intended recipient contain the aforementioned attributes, then the delivery rule would be satisfied and the message is provided to the recipient. Similarly, in an ABA expressed within a ranking type delivery rule structure of: [(profile. personal.demographics.gender= male — 0.1) + (profile. personal.demographics.age<= 30 — 0.1) + (profile.personal.interests.hobbies=golf- — 0.2) + (profile.personal.income>=50000 — 0.3) | (profile.personal.stock>=250000 — 0.3)]; the respective individual attributes associated with the prospective recipient would have to contain the following attributes in order to satisfy the delivery rule: income: over $50,000 or a stock portfolio: over $250,000, and hobby: golf. Additionally, the attributes of the prospective recipient would ideally contain: gender: male and age: 30 or less. However, if the attributes of the respective intended recipient do not contain: 15 gender: male and age: 30 or less, the delivery rule may be satisfied if the low weighting factor (0.1) assigned to these attributes are considered by the delivery rule to be inconsequential. Therefore, the delivery rule may be programmed to allow the delivery rule to be satisfied in the absence of certain attributes corresponding to minimal weighting factors. Accordingly, if the delivery rule is programmed to allow satisfaction of the delivery rule with the absence of minimally weighted attributes (gender: male and age: 30 or less), then the remaining respective attributes associated with the prospective recipient would contain sufficient attributes to satisfy the delivery rule (income: over $50,000 or a stock portfolio: over $250,000, and hobby: golf). If multiple messages are received by a message recipient, the messages may be displayed based on their ranking such that messages with the highest ranking is displayed on the top of a message list. When an ABA data set is compared with a set of user attributes associated with a prospective recipient, a problem could arise in which there may be insufficient information contained within the set of user attributes associated with a prospective recipient. In such a situation, the delivery rule can be programmed to execute a default protocol to handle such an insufficient information situation. For instance, when a delivery rule for an ABA is being executed on a first level recipient, such as on a server, insufficient or unknown attribute information associated with the set of user attributes is considered to be true or satisfied, thereby allowing the delivery rule to be satisfied. If the delivery rule for an ABA is being executed on a second level recipient, such as a client or user machine, and the message or package is marked as critical, then insufficient or unknown attribute information associated with the set of user attributes is considered to be true or satisfied, thereby allowing the delivery rule to be satisfied. Otherwise, if the package is marked as non-critical, then insufficient or unknown 16 attribute information associated with the set of user attributes is considered false, wherein the delivery rule is not satisfied. Figure 4 illustrates an embodiment of a computer system that can be used with the present invention (e.g., as a client or a server). The various components shown in Figure 4 are provided by way of example. Certain components of the computer in Figure 4 can be deleted from the addressing system for a particular implementation of the invention. The computer shown in Figure 4 may be any type of computer including a general purpose computer. Figure 4 illustrates a system bus 400 to which various components are coupled. A processor 402 performs the processing tasks required by the computer. Processor 402 may be any type of processing device capable of implementing the steps necessary to perform the addressing and delivery operations discussed above. An input/output (I/O) device 404 is coupled to bus 400 and provides a mechanism for communicating with other devices coupled to the computer. A read-only memory (ROM) 406 and a random access memory (RAM) 408 are coupled to bus 400 and provide a storage mechanism for various data and information used by the computer. Although ROM 406 and RAM 408 are shown coupled to bus 400, in alternate embodiments, ROM 406 and RAM 408 are coupled directly to processor 402 or coupled to a dedicated memory bus (not shown). A video display 410 is coupled to bus 400 and displays various information and data to the user of the computer. A disk drive 412 is coupled to bus 400 and provides for the long-term mass storage of information. Disk drive 412 may be used to store various profile data sets and other data generated by and used by the addressing and delivery system. A keyboard 414 and pointing device 416 are also coupled to bus 400 and provide mechanisms for entering information and commands to the computer. A 17 printer 418 is coupled to bus 400 and is capable of creating a hard-copy of information generated by or used by the computer. Figure 5 illustrates an embodiment of a computer-readable medium 500 containing various sets of instructions, code sequences, configuration information, and other data used by a computer or other processing device. The embodiment illustrated in Figure 5 is suitable for use with the addressing and delivery system described above. The various information stored on medium 500 is used to perform various data processing operations. Computer-readable medium 500 is also referred to as a processor-readable medium. Computer-readable medium 500 can be any type of magnetic, optical, or electrical storage medium including a diskette, magnetic tape, CD- ROM, memory device, or other storage medium. Computer-readable medium 500 includes interface code 502 that controls the flow of information between various devices or components in the addressing and delivery system. Interface code 502 may control the transfer of information within a device (e.g., between the processor and a memory device), or between an input/output port and a storage device. Additionally, interface code 502 may control the transfer of information from one device to another (e.g., the transfer of user attribute data between a client and a server). Computer-readable medium 500 also includes a set of defined group attribute data 504 from which an ABA can be generated and used in addressing messages or packages. Additionally, delivery rule code 506 is included within the medium to allow the ABA to be expressed in a variety of different delivery rule structures. The computer-readable medium 500 may further include Boolean logic function code 508 and relevance-based ranking code 510 which can be used by the delivery rule code 506 in formatting the ABA. 18 A published data set of individual attributes 512 associated with a prospective recipient is also included within computer-readable medium 500. The published data set 512 may reside on either a client or at a location accessible to the originator of a message or package, is also illustrated. The originator of a particular message or package, or anyone interested in the profile of a particular user or prospective recipient may access the published data set in order to determine if a particular user would be interested in a particular message. The published data set of individual attributes 512 associated with the prospective recipient can be modified by the prospective recipient if so desired. If it is determined that the delivery rule of the ABA associated with the message is satisfied, then the message is delivered to the prospective recipient. Additionally, a semi-private data set of attributes 514 is provided within the computer-readable medium 500. The semi-private data set of attributes 514 is associated with the second prospective recipient and is known only to a first prospective recipient and the second prospective recipient, but is not known to the originator of a message or packet. A first prospective recipient, such as a server, can utilize this semi- private data set of attributes 514 in determining if a message or packet would be appropriate for a second prospective recipient. If it is determined that the delivery rule of the ABA associated with the message is satisfied, then the message is delivered to the second prospective recipient. In alternate embodiments, computer-readable medium 500 may include other data set attributes, such as private data set attributes, for determining whether a message or packet should be provided to a prospective recipient. Moreover, a primary data set of attributes 516, as well as a secondary data set of attributes 518 are illustrated. The primary data set of attributes 516, which is associated with the second prospective recipient, is known only to a first prospective recipient and the second prospective recipient, but is not known to the originator of a message or 19 packet. A first prospective recipient, such as a server, can utilize this primary data set of attributes 516 in determining if a message or packet would be appropriate for the second prospective recipient. If it is determined that the delivery rule of the ABA associated with the message is satisfied, then the message is supplied to the second prospective recipient. The secondary data set of attributes 518, which is associated with the second prospective recipient, is known only to the prospective second recipient and is not known to either the first prospective recipient or to the originator of a message or packet. As mentioned above, a first prospective recipient, such as a server, can utilize the primary data set of attributes 516 in determining if a message or packet would be appropriate for a second prospective recipient. If the first prospective recipient determines that the delivery rule of the ABA associated with the message is satisfied, then the message is supplied to the second prospective recipient. After the message is supplied to the second prospective recipient, the delivery rule of the ABA associated with the message is re-executed. The second prospective recipient, such as a client, can utilize the secondary data set of attributes 518 in determining if a message or packet would be appropriate for the second prospective recipient. If it is determined that the delivery rule of the ABA associated with the message is satisfied, then the message is delivered to the second prospective recipient. Additionally, a recipient accessible data file (RAF) 520 and a deletion queue 52 are provided within the computer-readable medium 500 to allow for the storage of messages which do not satisfy the delivery rule. Therefore, if the delivery rule is not satisfied, the message can be either stored in the recipient accessible data file (RAF) 520, with an option of forwarding to a deletion queue 525 after a specified time period, 20 or the message can simply be placed directly into a deletion queue 525, wherein after a second specified time period the data in the deletion queue is cleared (deleted). From the above description and drawings, it will be understood by those of ordinary skill in the art that the particular embodiments shown and described are for purposes of illustration only and are not intended to limit the scope of the invention. Those of ordinary skill in the art will recognize that the invention may be embodied in other specific forms without departing from its spirit or essential characteristics. References to details of particular embodiments are not intended to limit the scope of the claims.

Claims: 21 CLAIMS What is claimed is: 1. A method of addressing messages, said method comprising the steps of: associating an attribute-based address with a message, wherein said address is based on a set of defined group attributes; and executing a delivery rule associated with said attribute-based address, wherein said message is delivered to a recipient having individual attributes which satisfy said delivery rule. 2. The method of claim 1, wherein said delivery rule is executed by an originator of said message. 3. The method of claim 1, wherein said delivery rule is executed by said recipient of said message. 4. The method of claim 1, wherein said individual attributes associated with said recipient can be changed by said recipient. 5. The method of claim 1, wherein said delivery rule comprises a Boolean logic function. 6. The method of claim 1, wherein said delivery rule comprises a relevance- based ranking function. 22 7. The method of claim 1, wherein messages which do not satisfy said delivery rule are placed into a recipient accessible data file. 8. A method of addressing messages, said method comprising the steps of: associating an attribute-based address with a message, wherein said address is based on a set of defined group attributes; .and supplying said message to a first recipient which executes a delivery rule associated with said attribute-based address, wherein said message is delivered to a second recipient having individual attributes which satisfy said delivery rule. 9. The method of claim 8, wherein said individual attributes associated with said second recipient can be changed by said second recipient. 10. The method of claim 8, wherein said individual attributes associated with said second recipient are known only to said first recipient and said second recipient. 11. The method of claim 8, wherein said delivery rule comprises a Boolean logic function. 12. The method of claim 8, wherein said delivery rule comprises a relevance-based ranking function. 13. The method of claim 8, wherein messages which do not satisfy said delivery rule are placed into a recipient accessible data file. 23 14. A method of addressing messages, said method comprising the steps of: associating an attribute-based address with a message, wherein said address is based on a set of defined group attributes; supplying said message to a first recipient which executes a delivery rule associated with said attribute-based address, wherein said message is supplied to a second recipient having primary individual attributes which satisfy said delivery rule; and re-executing said delivery rule associated with said attribute-based address, wherein said message is delivered to said second level recipient having secondary individual attributes which satisfy said delivery rule. 15. The method of claim 14, wherein said individual attributes associated with said second recipient can be changed by said second recipient. 16. The method of claim 14, wherein said primary individual attributes associated with said second recipient known only to said first recipient and said second recipient. 17. The method of claim 14, wherein said secondary individual attributes associated with said second recipient known only to said second recipient. 18. The method of claim 17, wherein said secondary individual member attributes associated with said second recipient are known only to said second recipient and can be changed only by said second recipient. 24 19. A computer softw-ire product including a medium readable by a processor, the medium having stored thereon a sequence of instructions which, when executed by the processor, cause the processor to: associate an attribute-based address with a message, wherein said address is based on a set of defined group attributes; and execute a delivery rule associated with said attribute-based address, wherein said message is delivered to a recipient having individual attributes which satisfy said delivery rule. 20. The computer software product of claim 19, wherein said individual attributes associated with said recipient can be changed by said recipient. 21. The computer software product of claim 19, wherein said delivery rule comprises a Boolean logic function. 22. The computer software product of claim 19, wherein said delivery rule comprises a relevance-based ranking function. 23. The computer software product of claim 19, wherein messages which do not satisfy said delivery rule are placed into a recipient accessible data file. 24. The computer software product of claim 19, wherein the execution of said delivery rule comprises: supplying said message to a first recipient which executes a delivery rule associated with said message, wherein said message is delivered to a second recipient having individual attributes which satisfy said delivery rule. 25 25. The computer software product of claim 24, wherein said individual attributes associated with said second recipient are known only to said first recipient and said second recipient. 26. The computer software product of claim 19, wherein the execution of said delivery rule comprises: supplying said message to a first recipient which executes a delivery rule associated with said attribute-based address, wherein said message is supplied to a second recipient having primary individual attributes which satisfy said delivery rule; and re-executing said delivery rule associated with said attribute-based address, wherein said message is delivered to said second level recipient having secondary individual attributes which satisfy said delivery rule. 27. The computer softw.are product of claim 26, wherein said primary individual attributes associated with said second recipient known only to said first recipient and said second recipient. 28. The computer software product of claim 27, wherein said primary individual member attributes associated with said second recipient known only to said first recipient and said second recipient can be changed only by said second recipient. 26 29. The computer software product of claim 26, wherein said secondary individual member attributes associated with said second recipient known only to said second recipient. 30. The computer software product of claim 29, wherein said secondary individual member attributes associated with said second recipient known only to said second recipient can be changed only by said second recipient.

Inventors: HOFMANN WILLIAM D, HURLEY PAUL E, HOFMANN, WILLIAM, D., HURLEY, PAUL, E.
Applicants: AVEO INC, AVEO, INC.
Application year: 1999
Main classification: G06F13
IPC codes: H04L12