BACKGROUND This invention relates to electronic commerce.
Computers are often used to store and maintain databases. Databases can be of many types. One type of database stores data in tabular form, e.g., relational databases. Other databases include hierarchical databases and flat-file structures that are similar to a table or a spreadsheet. Another type of database is the so-called object-oriented database.
The world-wide-web stores information in resources that can be found through an address such as a uniform resource locator (URL). Wireless devices are also known for use with the Internet. Data exchange with wired of wireless devices involves transmission of data via E-mail address or web pages. Such data transmission can be secure, but data regarding personal preferences can be obtained by host systems whether or not intended.
SUMMARY According to an aspect of the present invention, a method of notifying users of electronic services includes dynamically matching custom information stored on distributed databases with information that users hold in a user device on topics of interest.
According to an additional aspect of the present invention, a client device includes a computing device that executes computer instructions and a database of personal interests. The client device also includes a process that either offers and/or requests services and information based on personal interests of a user. The process includes a process to wrap content with control information designating ownership of the content, the time span the content is valid, and rules specifying how content is to be matched.
According to an additional aspect of the present invention, a system to enable a person to interact in both a physical world and an electronic world includes a server that delivers news and information. The electronic world has virtual stores and enables online interactions through wired and wireless networks. The system also includes a client user device. The client user device includes a database of personal interests and a process that either offers and/or requests services and information based on the personal interests. The process includes a process to wrap content with control information designating ownership of the content, the time span the content is valid, and rules specifying how content is to be matched.
According to an additional aspect of the present invention, a server system includes a matching process that matches information from a client with information from other hosts that are also sending information to the server. The matching process includes matching wrapper information from a received capsule, the wrapper information including information that determines the use of the information content of the capsule.
According to an additional aspect of the present invention, a method for conducting commerce where information and services are provided to customers includes selectively activating shareable database capsules from information contained in personalized, shared databases. The method also includes distributing the shareable capsules over a network communications medium as matchable capsules, matching the matchable capsules with other complementary matchable capsules and making the existence and results of a match of a pair of matchable capsules visible only if matched capsules have compatible visibility settings.
According to an additional aspect of the present invention, a method for maintaining privacy in exchange of data includes attaching a directional visibility flag to a request or offer for information or services and distributing the request or offer. The method also includes matching the visibility setting of a request or offer to complementary items in a complementary one of the request or offer. The method also includes processing the match in accordance with the visibility specification to prevent any information about the existence or results of the match from being communicated to contrary to the visibility flags.
According to an additional aspect of the present invention, a computer readable medium stores a data structure. The data structure represents a shareable database capsule including a content field that contains offers and requests for information and services and a transmittal information field that contains information to control the distribution, matching and privacy of the sharing of the database capsule.
According to an additional aspect of the present invention, a system includes a server that includes a matching process that matches information from a client with information from other hosts that are also sending information to the server. The matching process includes a matching process to match wrapper information from a received capsule, where the wrapper information includes information that determines the use of the information content of the capsule. The system also includes a client user device to interact with the server device. The client user device includes a database of personal interests and a process that either offers and/or requests services and information based on the personal interests. The process includes a process to wrap content with control information designating ownership of the content, the time span the content is valid, and rules specifying how content is to be matched.
One or more aspects of the invention may have one or more of the following advantages.
The invention connects people and electronic services by dynamically matching custom information stored on distributed databases. Users hold information on topics of interest. The information can be accumulated and organized over time, produced or collected from various sources and carried on a fixed computing device, or portable computing device like a personal digital assistant (PDA) or cell phone. People can specify interests in hobbies, dining preferences, research topics, news, social and cultural interests, personal information like clothing sizes, or activities to participate in. Companies and other organizations can supply information on products and services, useful facts, and other information in response to requests for such information or as a general broadcast of information.
The basic content of the information is wrapped with information about its owner, the time span it will be valid, its audience, what pieces of information are to be matched, what information is to be filled in, and what other actions are to occur if a match occurs. These data capsules can be expressed as small fragments of information used to locate and obtain further information.
This system is suited, in particular, to mobile computing and communications situations because browsing, i.e., interacting with a device in a changing mobile environment is highly limited. Instead of browsing for information e.g., browsing the web, or receiving preset data channels, users (mobile and fixed) specify requests or offers for information and services by sharing pieces of personalized databases. The information shared in the course of interaction is shielded via privacy features.
The invention enables users to control publication and dissemination of personal, e.g., profile information, thus preventing hosts from knowing preferences ahead of time and channeling information to the user. The invention enables users to manage their own databases of information and specify or focus information that is of interest. A user's temporal interest can be related to a user's current physical location. Information is sent to a matching process that tries to match the information with information that a host provides. The matching process can be an intermediary service or a peer-to-peer process. An intermediary matching server or process can be controlled such that the host may never see private information even though its been analyzed by the intermediary.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of an arrangement to interface a virtual world to a physical world.
FIG. 2 is a flow chart of an information sharing process.
FIG. 3 is a diagram depicting client device screens.
FIG. 4 is a block diagram depicting a data distribution scheme.
FIG. 5 is a block diagram of processing modules.
FIG. 6A is a diagram of a conceptual exchange capsule.
FIG. 6B is a diagram of an exchange data structure.
FIG. 6C is a diagram of the details of the exchange data structure.
FIGS. 7-12 are diagrams depicting details and examples of the data structure ofFIG. 6.
FIG. 13 is a diagram depicting client device screens for setting up capsule transmittal data.
FIG. 14A is a diagram depicting a plain text representation of an exemplary capsule implemented.
FIG. 14B is a diagram depicting a plain text representation of an exemplary capsule implemented in XML.
FIG. 15 is a flow chart of a match process.
FIGS. 16-18 are flowcharts depicting aspects of a matching process.
FIG. 19 is a flow chart depicting details of a visibility process.
FIG. 20 is a diagram of a privacy process.
DESCRIPTION Referring toFIG. 1, anarrangement10 to enable a person to interact in both aphysical world12 and an electronic (virtual)world14 is shown. Thephysical world12 contains stores, products, machines, other people, offices, etc., generally12a. Theelectronic world14 containsservers15 that deliver news and information, and provide virtual stores and an online presence for the physical stores, products, machines, etc. Theservers15 also provide interactions with people, through wired and wireless networks.
A person occupies alocation17 in the physical world and interacts with thevirtual world14 through a computer, a cell phone or personal digital assistant (PDA) or other types of electronic devices collectively referred to as aclient device16. In some embodiments, portable,digital client devices16 are used to interface a person between virtual and physical worlds. Inarrangement10, theclient devices16 contain a database that can hold a person's preferences and interests. The database is stored in computer readable form within thedevice16. Theelectronic world14 offers information or services to the person. Thedevice16 includes anexecutable process20 that associates these three realms in a useful manner.
The wireless client device, e.g., aPDA16a, is shown connected in a network comprised of servers24,desktop PCs26,networked appliances31,wireless receiver servers28, andsmart telephones30. That is, theelectronic world14 includes wireless and fixedservers24,26 and28 on anetwork29. Thedevices16, if wireless, have awireless transmission27 to thereceiver servers28, which are connected to the internet.
Eachdevice16,24,26,28, etc. hasshareable databases36. Eachdevice16,24,26, and28, either offers and/or requests services and information from others of thedevices16,24,26, and28. Information capsules about each shared database are distributed across the network to client wired andwireless devices16. Aserver34 with amatch process32 is shown, although this process can be run in any of the aforementioned devices.
Devices16 that are local to a person's physical location can communicate via close range bandwidths and protocols directly or over a local network in a peer to peer or client server manner.Devices16 that connect into a global network can use standard communications transmissions for such devices, e.g., Internet and wireless Internet protocols.
Thephysical location17 of the client device16 (or servers) can be part of the information that informs the device or amatching process32 on a matchingserver34 what kind of services are provided or are relevant to the person. For example, the location of a wireless client maybe known as part of the standard protocol for the device. Entities that comprise the physical environment such as stores, hospital, library and so forth have electronic presence also through servers24 that exist in thevirtual world14.
Stores, machines and other people also have aphysical location17′, as well as an electronic'presence. In this scenario, the person'sclient device16, via a communication process (described below), shares information about the person's interests and physical location, across thenetwork29. Instead of asking a particular source for an answer, the request for information is formed in a more general manner and matched to information offered over thenetwork29. The responses may take into account the person's physical location, time and context, and relate to items in both physical and electronic realms.
Theclient device16 has asmall screen40 that displays topics ofinterest41, a reply item ofinterest42, with asmall map42bto get to the place shown42a. For example, a restaurant whose physical location is at the same general location as the person also has a server24 that sends information to thedisplay40 on theclient device16.
The personal information that is stored on theclient device16 is communicated to thehost telecommunications device28. The information can be stored in theclient device16 or could be stored on a private server and host machines could query the private server. A matchinghost34 receives the communicated information. The matching host includes amatching process32 that is coupled to thenetwork29.
Referring toFIG. 2, a process70 of sharing information is shown. Information is shared by composing72 matchable items such as offers or requests for information or services.
An offer or request is packaged74 with parameters used to control distribution and privacy of the information as it is distributed among computers. The requests and offers are optionally stored76 in personalized databases containing other topics. Each item within a collective can be selectively activated for sharing based on time, location or other factors. Selected offers and requests are actively distributed80 into the computing environment. This can be a local interaction between two local devices or via a network. The offers and requests are collected by a variety of machines and compared82 with information contained within these devices. Amatching process32 is conducted to match corresponding and/or complementary offers and requests.Responses84 for matched offers and requests are sent to parties based on mutually compatible privacy and distribution settings.
As a result of matching82, a process can be used to refine83 a query back to the client or host/server systems until there is a suitable match. For example, if asking for restaurants, a refinement process can include sending a modified inquiry that requests information by subtype of restaurant to reduce the answer size.
Very private information can be handled vialocal sensing78 instead of distribution. Once the information is matched and filled either locally or remotely an adequate response is obtained84. The response can be transmitted and include information, a service, or a referral. The response typically comes from the host. The response is queued and results are displayed on theclient device16. Items within the databases are focused, i.e., selected based on interests of the user expressed in the received capsule. The selection process can be performed automatically through time and location settings for any item. Aclient device16 can share focused items over via trusted hosts that perform comparisons, as will be described below.
Referring toFIG. 3, content such as web pages, personal data, notes etc. are accumulated and edited to make up one's personalized content. For example, a person's database can havetopics41 such asart exhibitions41a, lunch preferences41b, travel plans41c, social activities41d, information on hobbies, etc. In this example, the selected or activated topic “lunch”, expands to showcollected information42 on a matched restaurant name, such as telephone number, specials, address, directions, etc. Selecting the link to “reservations” can initiate a call to the restaurant using a voice connection, or a data message to make a reservation.
Matches for sharedtopics41 are the result ofcontent44 that has shareable, matchable, and fillable elements. The topic “Lunch”41bhascontents44 that are tabular45 withattributes45aand blank field values (i.e., slots) to fill45b. In this example, the content setup record with attribute “Place” andblank value45c, is matched and shown as “Place: Dan's Sea Grill”. Similarly, the values for the attributes “Reservations”45d, “Location”45e, “Hours”45f, and “Specials”45gare filled in and shown in thematch42, withlines45d′,45e′,45f′,45g′respectively.
Asecond example match42′ is shown with topic “Coffee for friends”41d. Whereas the match displayed for “Lunch”41bis tabular, with attributes and filled in values, the match shown for42′ isfree form text46, also with taggedvalues46bfilled in46c.
Thus, referring back toFIG. 2, in this example, the topic “Lunch” gets packaged74 and submitted into a store of other requests and offers. Within amatching process32 offers and requests are collected. These offers and requests may refer back to other material such as on web sites. Whereas documents on web sites are primarily for reading by people who visit and browse the site, the offers and requests shown here are actively distributed80 capsules that can be collected by a variety of machines and compared within various contexts. These offers and requests can come from servers belonging to electronic businesses or physical businesses, or from people who likewise send or request information to share. Unlike E-mail or other forms of messages, these capsules do not have to be directed to a specific audience or request a particular resource or product. There may be no match available at a time (t1) but a match could occur at a later time (t2) within the capsule's life span. Requests and offers shown may not be for information but for a service that can be rendered or arranged electronically.
Thedevice16adetermines how and whether information is transmitted. The information is collected and personalized to specify information and services to request or offer. An offer or request is sent80 in a peer-to-peer or client-server environment. Some information based on personalization in the client is sent from thedevice16ato the matchingserver34. The information is matched with a variety of different services from other hosts that are also sending information to theserver34. The information sent by the servers can either be in the physical area of the client or they can be services that are generic services, which do not have a physical presence in the physical location occupied17 the client.
Referring toFIG. 4, a person, a store, restaurant, museum,tourist bureau24e, and e-business each have shareable databases of information andservices36 stored in theirPDA16 andhost computers24a,24b,24c,24d. The shareable data is sent a host's34matching process32 for comparison.
Referring to
FIG. 5 a participating device e.g.,
16 can include a
sense process90, an
interpreter92 and a
relay process94. The device can also include a response process
96 and a process that can provide an optional array of
services98 such as to connect on an online chat. The
device16 includes a matching engine
100 that conducts a matching process, a data store and
retrieval module102, and a module to automatically focus
104 items in the database based on context. Each device acts either as a
host32 to other devices without
such functionality33 or as a
peer32′.
| TABLE 1 |
|
|
| Entity | Transmittal type | Mode | On (topic) | Audience |
|
|
| 1 | Person | Requests | Information | Place to dine | Restaurant, tour |
| | | | | guide,friends |
| 2 | Person | Requests | Activity | Meeting with co-worker | Mycompany |
| 3 | Person | Requests | Information | Trainschedule | Transit authority | |
| 4 | Person | Requests | Connection | Conversation withfriend | Friend | |
| 5 | Person | Offers | Connection | Conversation withfriend | Friend | |
| 6 | Retail Store | Offers | Information | Products forsale | Person | |
| 7 | Retail Store | Offers | Information | Hoursopen | Person | |
| 8 | Retail Store | Offers | Information | Store location | person | |
| 9 | Company | Offers | Information | Catalog of products | Person orcompany |
| 10 | Company | Offers | Information | Services available | Person orcompany |
| 11 | Company | Requests | Transaction | Purchase ofproducts | Company | |
| 12 | Museum | Offers | Information | Exhibitions | Person |
| 13 | Restaurant | Offers | Information | Menu | Person | |
| 14 | Restaurant | Requests | Activity | reservation | Person orcompany |
| 15 | Restaurant | Offers | Information | Specials of theday | Person | |
| 16 | Restaurant | Offers | Information | location | Person | |
| 17 | Bank | Offers | Calculation | Mortgage rate | Person |
| 18 | Bank | Offers | Information | Accounts available | Person or company |
| 19 | Credit card | Offers | Transaction | Credit purchase/sale | Person orcompany |
| company |
|
| 20 | Credit card | Offers | Information | Promotional interest rate | Person |
| company |
| 21 | News | Offers | Information | Financial news | Person |
| organization |
| 22 | News | Requests | Information | Survey question | Person |
| organization |
| 23 | Hotel | Offers | Information | Rooms for the night | Person |
| 24 | Hotel | Requests | Activity | Room reservation | person |
| 25 | Transit | Offers | Information | Train schedules | anyone |
| authority |
|
| 26 | Search engine | Offers | Information | Web page links | Person |
|
Examples of shared topics are shown in TABLE 1. These topics are descriptive example listings within shareddatabases36 owned by people, stores, companies, museums, restaurants, and other traditional12aandelectronic entities14. Each shared topic is a request or offer for information or service, on a particular topic and for an audience. For example, a person may request information on dining. In contrast, a person may also request to meet with a co-worker. The first is a request for information, the second example is a request for an activity to occur. Requests and offers may be satisfied, i.e., matched with information and services from sources that change with location or context. The specification of audience, as will be described in detail later, is not limited to a specific person, company or URL, but in general terms that can be assigned during processing. In the present example, information on dining may be filled by offers for information from restaurant guides, newspapers, individual restaurants, and even personal sources such as friends. The matches will depend on part on the narrowness or broadness of the audience allowed. This is set by each shared element's owner and is matched to a complementary element if found. In such a situation, companies and other public entities may target their information and services to a broad audience or a very specific audience—such as tourists or shoppers, while individuals may target their shared elements in a manner more selective and personal manner.
Each shared offering or request, as exemplified in Table 1, is a small expression that can persist over time and is collected and disseminated electronically. As such, this data is an extension of a person or organization into an electronic arena, to be inspected
90, matched
100, stored
102 and relayed
94. Various participants will make offerings and requests in varying degrees of privacy. For example, the offering of a store sale is a public announcement meant to reach a broad audience, while the interest of a potential customer is a private inquiry. A potential customer may even want to be totally anonymous and ‘window shop’. Privacy in this system has many facets, including the privacy of identity, of expressed interest, of transmission, information and processing. Methods for controlling the privacy during such a sharing process will be described below.
| TABLE 2 |
|
|
| | | | Dinner with | |
| 1.0 | Person | Requests | Activity | friends | friends |
|
| 1.1 | | Requests | Information | Popular places | Restaurant |
| | | | to dine | guide |
| 1.2 | | Requests | Information | Cuisine | friends |
| | | | preferences |
| 1.3 | | Requests | Activity | Reservation | Restaurant |
|
Table 2 shows how individual shared elements an be combined to make a more complex ‘scenario’. For example, a person's request for dinner with friends may break down to requests for information about places to dine, types of cuisine preferred, and reservations. These individual requests (or offers) may be directed to different audiences and have other different traits, but act as a unit.
As shown in Table 3, various types of requests and offers for information and services are shown.
| TABLE 3 |
|
|
| Mode\Nature | Request to | Offer to |
|
| Information | Request to receive | Offer to provide information |
| information such as on a | on topics. Sites and search |
| topic or from a person or | engines could provide this |
| organization. | content. |
| Transact | Request to perform a | Offer to perform a transaction |
| transaction between 2 or | between 2 or more parties, |
| more parties resulting in a | resulting in a contractual |
| contractual exchange. | exchange. |
| Connect | Request to connect to a | Offer to connect to a |
| service. | service, such as a news |
| | channel, discussion, or |
| | activity. |
| Relay | Request to relay | Offer to act as intermediary |
| information across | to relay information from |
| networks, to people, | one party to another. |
| machines across gateways. |
| Store | Request to have | Offer to provide storage of |
| information stored. | information. |
| Calculate | Request to have a | Offer to perform a calculation. |
| calculation performed. |
| Other | Request for custom service. | Offer for custom service. |
|
For example, a shared capsule can offer information on a topic with a request for information on a topic (request to receive or offer to send). A shared capsule can also request to perform a transaction or offer to perform a particular transaction—such as a credit card transaction. The shared capsule can also offer a request to connect to a person, or a discussion group or organization or offer to satisfy this connection. The shared capsule can also request to relay information or offer to perform the associated service. The shared capsule can also offer or request to have information (contained in the contents) stored, and offer or request for a calculation to be performed.
Thearrangement10 uses the shared capsule for sharing information and for matching requests and offers for information and/or services. Thearrangement10 breaks down these activities into small granular portions of information that can be acted on. Beyond sharing information, thearrangement10 can be used to find an available computer to perform a calculation, or the best rate to finance a purchase and sale transaction, or a server to store information. Matching of requests and offers can be extended to the matching of any set of elements. Requests and offers for information and services is one example of a two-element pairing.
Referring toFIG. 6A, theshareable capsule120 containscontents122 andtransmittal data123 used to control the distribution, matching and privacy of the sharing. Theshareable capsule120 possesses the properties ofopacity120a,association120b, andmateriality120c. Opacity or visibility is the degree to which its ownership is identifiable, its contents are readable, the processing of the data is visible, and the matching effect is made known to participants. The association property is the matching of the shared capsule's by its contents, location, active time periods, permitted hosting, permitted processing, and matching of categories and contexts. The materiality of the shared capsule expresses whether the capsule is an offer of existing information or service, or request for a desired information or service, and its specific type.
Referring toFIGS. 6B and 6C, adata structure120 that represents a shareable ‘capsule’ used to contain information shared between devices is shown. The shareable capsule includes a wrapper121 that encapsulatescontent information122 with various parameters that are used to facilitate sharing of information content. These parameters include fields for specifyingownership124,location126, andlife span128 of the capsule represented by thedata structure120. Thedata structure120 also contains fields for specifyingbinding rules130 and specifications that determine how thecontents122 can be associated with other information, how a response is handled when returned132, andtransmittal details134 on the nature of the capsule.
The wrapper121 (collectively fields123) can be read and used without access to thecontent122. Thecontent122 can be encrypted separately from its wrapping to provide added security. Individual parts of the wrapper121 can also be encrypted separately so that only particular audiences or hosts can use this information. The ownership can be specified via a handle, to provide anonymity to the owner except to a trusted provider. The resolution of the handle can be made known only the trusted provider.
The location information is useful for mobile purposes. The data structure capsule is also encapsulated in information that pertains to a transmission protocol e.g., TCP/IP, etc., used to transmit the capsule to servers or other devices.
Referring toFIG. 7, adata structure122 that represents the shared capsule contents is shown withexample data122′. The type of contents is “XML”122a. The tags to be matched are listed122b. The place-marks for contents that are to be filled during a match are identified122c. The tagged contents data is specified122d.
Referring toFIG. 8, adata structure124 that represents ownership is shown withexample data124′. The primary host specifies a host computer that represents the user. The ownership type field specifies whether the named owner is a name, an email address or ahandle124a. A handle is a name that masks the identity of the owner and is known by theprimary host124c. The data contained in the capsule is thereby disassociated with its actual owner via the handle. In the example, the identifier type is a handle. The identifier is a fictitious name known to resolve to an actual client's name by the specified primary host. A user's handle can be changed frequently and be resolved to its owner by its trusted hosts.
Referring toFIG. 9, adata structure126 that represents location information is shown. The location information is useful for mobile client devices. The user's current location can be specified in a variety of ways, for example, by decreasing scale of country, state, city, neighborhood, andstreet fields126b. Thescope126ais used to specify respondent location requirements. For example, only respondents with a physical location presence may be desired. Scope could also be within a micro area such as a room, or within an office building, a city, state, country or global bounds.
Referring toFIG. 10, within a client database, the lifespan data structure128 is used to test for automatic activation and distribution. After distribution, the life scan of the shared capsule specifies when the material is active or relevant. Thus, the lifespan data structure128 includesfields128a-128ethat specify date created, expires, starts, ends, and repeat cycling respectively. The time frame can be a period of time within each day, for a range of days. Activities such as lunch or business activities would fit into such repeating time periods.
Referring toFIG. 11, the bindingdata structure128 specifies theaudience130ato which the content information is directed. Theaudience field130acan be very specific, such as one person, or general such as anyone from a company. The audience can further specify the hosts that can perform the matching process. Theaudience130bcan also be specified generally by topic. For example, the hierarchical topic “restaurants”, and a sub topic “seafood.” A topic or topic hierarchy can be specified from a particular source. The binding can also specify an audience not to allow binding to. The match process is expected to honor the audience specification of each capsule. The bindingdata structure130 also includes fields formatch rules130b. Match rules130bcan specify the quality of match that is acceptable, for individual aspects of the wrapper and the content. For example, location can require a precise match, preventing matches that are correct down to the city but not to the street level, for example. The matching server can be specified in priority, such as first in the local (user) device and then using a trusted host. This can control the security of the processing. Thedata structure130 also includes afield130cfor rules on how material is to be filled. For example, only a summary of the contents may be filled and returned, or only a heading. Aprivacy setting field130dcan include a visibility setting, {IN, OUT, BOTH, IN+, OUT+} and an encryption setting. The contents and parts of the wrapper can be selectively encrypted to selectively protect its contents. A quick binding field204ecan include agreed to identifiers between known parties that can be used to signify that the item can be matched with minimal evaluation of other information. This can be specified to allow or deny matching with a particular audience with a particular id without evaluation of other aspects of the capsule.
Referring toFIG. 12, the transmittal detailedinformation data structure134 has amode field134 that identifies the shared data package as either a request or an offer. It further has afield134bthat designates whether the mode is a request or an offer to receive, send, connect, run, transact, relay or store or calculate. The nature field is open to future modes via ‘other’. The transmittal info further identifies the package via anidentifier field134c. The identifier can include a thread id to track a sequence within a set of information exchanges. A title field206ddescribes the request/offer.
Referring toFIG. 13, the setup of the sharedcapsule data structure120 is shown as a series of screens suitable for asmall computing device50. The major setup components of the listed51 for aparticular topic41. Some setup items are general to the person while others are specific to a topic. Thecontent setup44 is shown here and described earlier inFIG. 4. The setup forowner52, transmittal details53, binding54,location55,life span56 and respond57 are shown as small device screens.
Referring toFIG. 14A, an example120′ of a plain text representation of a sharedcapsule data structure120 is shown. The capsule begins with atransmittal specification134′. The capsule includeslife span128′ andlocation fields126′. The capsule also includes binding130′ andcontent122′fields. In this example, thecapsule120′ is an offer to send information. As such, parameters in the binding field are set to reach as wide an audience as possible, via the “Allow bind all.” Furthermore, the visibility setting, as will be described in detail later, is set to “Notify OUT+.” This visibility setting enables offering information outward with the option to receive notices back of matches. The binding further allows all hosts to be used for matching, and allows this information to be relayed to other hosts. The topic binding specifies sets of hierarchical topics that this information can fall under. For example, the information can be included under “restaurant” and also under “banquets”. Thecontent information122′ shown is specified as a “Fragment” as described below. The data specifies in a concise notation, “Royal Panda” as an instance of a Chinese restaurant with attributes such as the specialties and links to reservation information. This content could as well be represented in a tagged format such as HTML or XML, as shown inFIG. 14B.
Referring toFIG. 15, thematch process160 proceeds to evaluate the wrappers and process the contents of received capsules. Under some circumstances, quick binding, as described earlier inFIG. 11204e, can allow skipping theindividual matching process160a,life span160c,transmittal160d, binding160e, andaudience160f. Eachmatch process160a-160fcan have its own settings for using or not using particular aspects of the wrapper101. If the evaluation of the wrapper produces an adequate match, then the contents can be examined. The content matching160gmay requiresubsequent interactions160hto refine the content. If there is material to supply and fill160i, then filling is performed. Filling of missing information can be requested depending on the type of request.
Referring toFIG. 16, aprocess240 to match content is shown. Different types of offers and requests are matched and processed accordingly. Thecontent matching process240 determines242 content type and obtains244 match and fills methods based on content type. Thus, as shown, an information offer/request matches246 content for request to receive information with an offer to supply information. Similarly, a transaction offer/request matches248 requests for transactions with an offer to process transactions. Other processes250-256 for connection, relay, store, calculate, and so forth can be provided. Offers of information are only relevant to requests for information, for example. The process of matching requests and offers for information are elaborated below. Custom specified offers and requests for information and services can be specified beyond the ones shown.
Referring toFIG. 17, matching a request and offer to provideinformation246 proceeds dependent on the type of content. Theprocess246 determines246athe type of content and retrieves246bcorresponding match and fill methods. The process will have different actions depending on the type of content. For taggedcontent247, such as HTML or XML, the process includes matching term usage247a, thetag structure247band the taggedcontents247c. This does not have to be as strict as an XML DTD (extended markup language data type definition) validation, in order to return a match. The process determines or identifies247drequested slotted areas to fill.
Fortabular content249, the process compares249athe database schema of the content. Since schemas from different sources may be problematic, a flexible comparison of tables, fields, and relationships may enable amapping249bin order to satisfy some requests. The process will run249ca query based on the mapped schemas.
The content can also take the form of afragment database251, as described below. Such a database defines information as fragmented objects, in terms of classifications, instance names, attributes, values, actions, conditions and containers. Theprocess246 then evaluates253 if the representation is su ted for sharing and matching information.
Referring toFIG. 18, for content represented as a fragment database, the content matching251 proceeds by reading251amatch rules, standardizing251bterms and comparingprimitives251c. Comparingprimitives251cincludes matching classification sequences, matching named items, matching memberships, i.e., parts and subparts, matching roles between objects, and matching activities. The general properties belonging to a classification and particular properties belong to an instance can be matched.
Referring to
FIG. 19, a set
270 of visibility methods are shown. TABLE 4 depicts for one embodiment allowable matches of visibility methods. In TABLE
4, “YES” entries are allowable matches, whereas “NO” entries are prohibited matches. By conforming to this visibility protocol, parties can share information and services with user-selected visibility.
| TABLE 4 |
|
|
| Internal\External | IN | IN+ | OUT | OUT+ | BOTH |
|
| IN | NO | NO | YES | YES | NO |
| IN+ | NO | NO | YES | YES | YES |
| OUT | YES | YES | NO | NO | NO |
| OUT+ | YES | YES | NO | NO | YES |
| BOTH | NO | YES | NO | YES | YES |
|
As shown inFIG. 19, selecting a visibility method includes determining272 what visibility method type to send and setting that visibility value in the visibility field of a capsule to be sent. A person who wants to ‘window shop’ wants to receiveinformation274. If such a person wants to be seen, the Notify IN+ setting is enabled274b. Otherwise the Notify IN setting is enabled274c, which indicates that the person does not want to be seen, i.e., identity or presence being made known to a responder.
A store that wants to offer goods andservices276 to as broad an audience as possible, would set276bthe visibility method as “NOTIFY OUT.” A store that wanted to know who would like to know information about visitors would set276cNOTIFY OUT+, to receive information if available. If a store or person desired a mutual exchange ofinformation278, a sent capsule would have the more restricting NOTIFY BOTH visibility method set278a. This method would require an exchange of information.
The visibility setting for each shared data package can be determined by its intended purpose. If the purpose is to receive information and services, then the visibility is to be directed IN-ward. If outside visibility is not permitted while receiving information, then the visibility is set to “IN.” If outside visibility is needed in order to receive information, then Visibility is set to “IN+.”
If the purpose is to offer information and services, then the visibility is to be directed OUT-ward. If no information needs to be returned, i.e., the audience who receives such information is not identified, then visibility is set to “OUT.” If identification of audience is desired if allowed, then visibility is set to “OUT+.” If an exchange is desired between multiple parties with equal visibility, then visibility is set to “BOTH.”
Referring toFIG. 20, aclient device16 has a shareddatabase36 containing acapsule120 withcontent122 andtransmittal parameters123. Some of this information is selectively encrypted such as thecontents122. This capsule is distributed80 to aprimary host computer24a. The primary host computer knows the identity of theclient device16 user as “dan” and changes it to ahandle124c“happyfrog” before disseminating the information. From then on, the capsule's owner is shielded. The data is disseminated and collected82 by other host computers for comparison and matching. Within a matchingserver34 there is amatching process32 that is trusted, i.e., performs matches without allowing inspection of processing or results from outside theprocess32. In this example, the information fromdevice16 is matched with anotherdevice24b. A successful match is responded to84 back to thedevice16, but not to theother user24bin this example, based on visibility rules as described inFIG. 22 and Table 4, as would be the case for a visibility flag of IN.
Other embodiments are within the scope of the following claims.