Abstract:
A semantic note taking system and method for collecting information, enriching the information, and binding the information to services is provided. User-created notes are enriched with labels, context traits, and relevant data to minimize friction in the note-taking process. In other words, the present invention is directed to collecting unscripted data, adding more meaning and use out of the data, and binding the data to services. Mutable and late-binding to services is also provided to allow private thoughts to be published to a myriad of different applications and services in a manner compatible with how thoughts are processed in the brain. User interfaces and semantic skins are also provided to derive meaning out of notes without requiring a great deal of user input.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates generally to online social media. More particularly, the present invention relates to collecting and sharing information in a network environment. 
       BACKGROUND 
       [0002]    Today, a tremendous number of online services and applications are available. The existing online services are related to virtually every aspect of life, including work, relationships, health, entertainment, news, etc. Access to these online services typically only requires an Internet connection. However, the abundance of services also causes information overload. As a result, disorganized information is floating around many users&#39; lives and brains. Instead of positively influencing our lives, the services become cumbersome and are often neglected. In particular, the advent of social media has made it easier to share information with more people and make connections with people who we otherwise would not. However, the ubiquity of social media (such as through social networks) has created a further explosion in the information content of our lives and relationships. This information clutter reduces a user&#39;s productivity and shortens the user&#39;s attention span. 
         [0003]    Typically, ideas begin with private thoughts that are later refined and shared to friends and, perhaps, the public at large. Who these ideas are to be shared with often evolve over time. Existing online services are not amenable to this process of developing ideas and deciding where to share them at a later time. For example, existing social media forces ideas immediately into the public domain. Information or media posted on social networks (e.g. Facebook.com, Twitter.com, and Flickr.com) or blogs (e.g. Wordpress.com and Blogger.com) are immediately accessible by other users. To post information in existing social media requires upfront cognitive decision-making related to the audience level of the information at the time the information was collected or generated. This process does not match the way human brains function. 
         [0004]    Systems, such as emailing to oneself and note-taking applications (e.g. Evemote.com) exist for users to store private thoughts. However, these existing systems are not integrated with other services or applications. In other words, a user would have to access and sign on to multiple applications simultaneously to utilize information stored in the application storing the private thoughts. Because of the lack of integration and inconvenience of these systems, they are seldom used, therefore, ideas are often forgotten. In addition, existing note-taking applications require users to provide all of the information content to the note. By forcing a user to provide all of the information content, the note-taking process is typically tedious, error-prone, and incomplete. 
         [0005]    The present invention addresses at least the above-described difficult problems and advances the art with a semantic note taking system and method. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention is directed to a semantic note taking system and method for collecting information, enriching the information, and binding the information to services. A plurality of users are communicatively connected to an application server to create one or more notes that can be bound to one or more of a plurality of services and stored in a database. The application server operates a plurality of functions, including a note taking function for allowing each of the users to create one or more notes, a categorizing function for labeling each of the notes with one or more changeable categories, a context function for associating one or more context traits with each of the notes, a binding function to establish one or more changeable binding rules for each of the notes, wherein the binding rules determine one or more of the services where the note is to be bound, and wherein the binding rules are related to the content of the note, the categories of the note, the context traits of the note, a user binding selection, or any combination thereof, and a communication function for communicating each of the notes to one or more of the services where the note is to be bound. A note includes text, audio media, visual media, audio-visual media, recorded data, a weblink, a pointer to an information source, or any combination thereof. In an embodiment, one or more of the context traits associated with the note includes a time, a location, physical data relating to the user device used to generate the note, or any combination thereof. In another embodiment, relevant data is derived based on one or more of the context traits and the relevant data is attached to the note. The relevant data can be derived by matching one or more of the context traits with data from an information module such as a calendar, an address book, a contact list, a user profile, a user history, or any combination thereof. In an embodiment, one or more of the context traits associated with the note is based on one or more categories of the note, the content of the note, a user history, or any combination thereof. 
         [0007]    In a preferred embodiment, the binding rules include one or more publication properties, such as an audience level for the note and/or one or more locations to publish the note. The locations to publish the note can include a private domain of the user, one or more friends of the user, one or more computer-implemented social networks, a blog, an online discussion board, a website, or any combination thereof. In an embodiment, the binding rules are automatically determined based at least partially on one or more of the categories, one or more context traits, the note content, a user history, or any combination thereof. 
         [0008]    The application server of an embodiment of the present invention operates a suggestion function for suggesting one or more services, binding rules, and/or categories. The suggestions can be based at least partially on one or more the categories, one or more of the context traits, the note content, a user history, one or more binding rules, or any combination thereof. In an embodiment, a note is automatically bound to one of the suggested services. Preferably, the suggestion function uses a user history of selections of services and/or categories. 
         [0009]    In an embodiment of the present invention, a user interface is provided to allow user entry of the categories and binding rules for a note, wherein the user interface includes a first symbol associated with the categories of the note and a second symbol associated with the binding rules of the note. Preferably, the user entry of the first symbol triggers a display of one or more of the categories suggested to the user and selectable by the user. Similarly, the user entry of the second symbol triggers a display of one or more of the binding rules suggested to the user and selectable by the user. In another embodiment, a user interface corresponding to each of the services where a note can be bound is provided. Each of the service-specific user interfaces includes one or more buttons for initiating an action for the service corresponding to the user interface. Preferably, a single click of one of the buttons initiates creation of the note, automatic addition of content to the note, automatic labeling of the note with categories, and communication of the note to the service corresponding to the user interface. 
         [0010]    In an embodiment, the user device operated by users to access the application server is a mobile device that communicates with the application server over a wireless network. The services where a note can be bound are selected from the group consisting of a website, a web application, a computer-implemented social network, a blog, a review website, a product review website, an entertainment website, a health application, a medical application, an online retailer, an email application, a research application, a clinical application, a calendar, and an address book. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0011]    The present invention together with its objectives and advantages will be understood by reading the following description in conjunction with the drawings, in which: 
           [0012]      FIG. 1  shows an example of a semantic note taking system according to the present invention. 
           [0013]      FIG. 2  shows an example of mutable binding of notes to multiple services according to the present invention. 
           [0014]      FIG. 3  shows a flow chart of an example note creation, enrichment, and binding according to the present invention. 
           [0015]      FIG. 4  shows a flow chart of example steps taken by a user according to the present invention. 
           [0016]      FIG. 5  shows an example of a suggestion function according to the present invention. 
           [0017]      FIG. 6  shows an example user interface for semantic note taking according to the present invention. 
           [0018]      FIGS. 7A-B  show examples of semantic skin user interfaces corresponding to services according to the present invention. 
           [0019]      FIG. 8  shows the core services of an exemplary embodiment of the present invention. 
           [0020]      FIG. 9  shows the technology services underlying the core services shown in  FIG. 8 . 
           [0021]      FIG. 10  shows a flow chart of an example login and authentication function in an exemplary embodiment of the present invention. 
           [0022]      FIG. 11  shows a flow chart of an example Queue service in an exemplary embodiment of the present invention. 
           [0023]      FIG. 12  shows an example of using semantic note taking with online retailers according to the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0024]    The abundance of online services provides users with opportunities to perform many tasks and connect with numerous people from nearly any location. However, the large number of services often cause information overload and a user cannot efficiently organize the explosion of information content concerning the user&#39;s life, work, and relationships. The present invention is directed to a semantic note taking system and method to collect, enrich, and bind information to services. Semantic note taking allows users to effortless offload information from private thought streams for later determination of where to bind these thoughts. In addition, semantic note taking minimizes the friction to record and share ideas by automatically enriching the note and reducing unnecessary user input. In other words, the present invention is directed to a system and method to collect unscripted data, add more meaning and use out of the data, and bind the data to services. 
         [0025]      FIG. 1  shows a preferred embodiment of a semantic note taking system  100  according to the present invention. The semantic note taking system  100  includes an application server  110  that is accessible by a plurality of users U 1 -U N  for creating one or more notes, categorizing the notes, and binding the notes to one or more services S 1 -S M . The users U 1 -U N  connect to the application server  110  through any device capable of being communicatively connected to a network, such as the Internet. The user devices can include a computer, a laptop, a personal digital assistant (PDA), a cell phone, a mobile device, or a smart phone.  FIG. 1  shows user U 1  with a mobile phone  140  that is connected to the application server  110 , such as through a wireless network. 
         [0026]    A note taking function, operated by the application server  110 , allows each of the users U 1 -U N  to create one or more notes. Notes can include text, audio media, visual media, audio-visual media, recorded data, a weblink, a pointer to an information source (e.g. a bookmark), or any other type of data. Notes created by the users U 1 -U N  are transmitted from the user devices to the application server  110  and stored in the database  120  for later binding to one or more of the services S 1 -S M . 
         [0027]    The application server  110  also operates a categorizing function to label the notes with one or more categories. In an embodiment, the categorizing function allows users U 1 -U N  to label the notes, though automatic or suggested note labeling is also possible. It is noted that one or more of the categories of each note is changeable. Labeling a note with categories enriches the note. The note is further enriched by the context function operated by the application server  110 , which associates one or more context traits with the note. Context traits associated with a note can be based on one or more of the categories of the note, the content of the note, a user history, or any combination thereof. Examples of context traits include a time, a location, and physical data relating to the user device. For example, the mobile phone  140  of user U 1  is capable of measuring the location where the note was created (e.g. by using GPS measurements) and this location can be automatically associated with the note without user input, thereby enriching the note. 
         [0028]    Context information is not restricted to a time-stamp or location-stamp associated with the note. In a preferred embodiment of the present invention, relevant data is derived based on one or more of the context traits. Relevant data can be derived by matching one or more of the context traits with data from an information module  130 , such as a calendar, an address book, a contact list, a user profile, a user history, or any combination thereof. For example, a time context trait when the note is created is matched with a meeting time indicated by a calendar information module. Because the calendar includes relevant data, e.g. the participants of the meeting and the discussion topics of the meeting, this relevant data can be attached to the note to further enrich the note. 
         [0029]    A binding function is provided to establish one or more binding rules for a note. The binding rules determine one or more services S 1 -S M  or applications where the note is to be bound. The binding rules are related to the content of the note, the categories of the note, the context traits of the note, a user binding selection, or any combination thereof. In an embodiment, the binding rules of a note are automatically determined based at least partially on one or more categories of the note, one or more context traits, the content of the note, the user history, or any combination thereof. 
         [0030]    The services S 1 -S M  where a note can be bound can include a website, a web application, a computer-implemented social network, a blog, a review website, a product review website, an entertainment website, a health application, a medical application, an online retailer, an email application, a research application, a clinical application, a calendar, an address book, or any combination thereof. A note that is bound to a service is communicated to the service. What is done with the note after it is communicated depends on the particular functions of the service and the content of the note. For example, a note bound to a blog could be published on the blog and a note bound to a research application can include data for analysis by the research application. In addition to communicating a note to a service, in an embodiment of the present invention, data can be extracted from the service where the note is bound and the extracted data is added to the note. 
         [0031]    The services S 1 -S M  shown in  FIG. 1  are generally not integrated and some of the services S 1 -S M  where a note can be bound may also require user login or authentication. To facilitate the integration of the services and allow access to the services, in an embodiment, the application server  10  includes a login function to provide login information for access to the services. Integration of the services enables a user to collect or create information content and offload the content to a single location, instead of having to interact with a myriad of different services separately. 
         [0032]    In a preferred embodiment of the present invention, the binding rules comprise one or more publication properties. The publication properties include an audience or privacy level for the note and the location to publish the note.  FIG. 2  shows three notes N 1 , N 2 , and N 3  created by user U 1  and the binding of these notes to different services. The audience levels generally include private, social, and public designations. The locations to publish the note includes a private domain of the user, one or more friends F 1 -F 3  of the user, one or more computer-implemented social networks, a blog, an online discussion board, a website, or any combination thereof.  FIG. 2  shows note N 1  bound  210  to a private journal and bound  220  to an email application. In other words, the binding rules for note N 1  indicate that the note should be communicated to the journal service and the email application with the appropriate audience levels. 
         [0033]    A note can be bound to any number of services at any time. Importantly, the binding of the note is changeable. In other words, a user can change the binding rules to alter the location where a note is to be bound. In  FIG. 2 , note N 1  is originally bound  210  to a journal but is later bound  230  to Social Network  1 . Similarly, note N 3  is originally bound  240  to a blog, but is later bound  250  to an electronic commerce website. The mutable binding rules and late-binding method of the present invention is in accord with how ideas are typically generated in our brains. In particular, ideas and information typically start as private thoughts that are later shared and discussed with people we know. Finally, the information is published to the world. This is in contrast to existing social media where generated media are forced immediately into the public realm. 
         [0034]      FIG. 2  also shows note N 1  published and communicated to associates or friends F 1 -F 3  of user U 1 . By publishing note N 1  to friends F 1 -F 3 , an ad hoc community or an ad hoc social network is developed around note N 1 . In an embodiment, one or more of the friends F 1 -F 3  can change the note N 1 . In particular, data can be extracted from one of the friends F 1 -F 3  and the extracted data is added to the note N 1 . 
         [0035]      FIGS. 3 and 4  show flow charts for exemplary methods of creating, enriching, and binding the notes according to the present invention. The steps circled with a dashed line  310  in  FIG. 3  show the enrichment of the notes by labeling the note with categories, associating context traits with the note, and deriving relevant data based on the context traits.  FIG. 4  shows the steps undertaken by a user of the semantic note taking system of the present invention. 
         [0036]      FIGS. 3 and 4  also include the steps of suggesting binding rules and receiving suggestions, respectively. The application server operates a suggestion function for suggesting one or more services where the note can be bound to the user who created the note.  FIG. 5  shows the inputs for the suggestion function  510 , which can include the content of the note, the categories of the note, the context traits, and/or the user history. Based on these inputs, the suggestion function  510  suggests binding rules  520 , such as a list of suggested services where the note can be bound. For example,  FIG. 5  shows a ranked list of services with “Service  5 ” being the top-ranked service where the note can be bound. 
         [0037]    In an embodiment, the suggested services or binding rules are selectable by the user, where the user selection binds the note to the selected service. User selections can be stored for reference by the suggestion function. For example, a first note is created by a user, labeled with “Category  4 ”, and bound to “Service  5 ” by user selection. Because of this user selection, “Service  5 ” would be suggested for a second note also labeled with “Category  4 ”. It is noted that the first and second notes can be created by the same user, or they can be created by different users. In other words, the suggestion function  510  can rely on the user history of the same user or the user history of a community of users. It is noted that the association of a service to a category is mutable and evolvable depending on user behavior. For example, though “Category  4 ” and “Service  5 ” are associated in the above example, the association of services for “Category  4 ” could change to “Service  3 ” if users frequently alter the selection from “Service  5 ” to “Service  3 ” for notes having a label of “Category  4 ”. 
         [0038]    In an embodiment, a note is automatically bound to one of the suggested services without user selection. In a preferred embodiment, the storage of past user selections enables intelligent and automatic binding of notes to services. Automatic binding of notes to services reduces the need for user input. 
         [0039]    The suggestion function  510  is also capable of suggesting categories to label a note in addition to or replacement of suggesting binding rules. Suggestions of categories can be analogous to the suggestions of services described in the previous paragraphs. In particular, suggestions of categories can be based on the content of the note, the context traits of the note, other categories of the note, a user history, the binding rules established for the note, the services determined by the binding rules, or any combination thereof. For example, a note contains a description of a product. Based on this note content, a category named “product” is suggested to the user for labeling the note. In another example, the association of a service and a category based on a user history can be used to suggest one or more categories for notes having binding rules with that particular service. In an embodiment, a note is automatically labeled with one or more suggested categories. 
         [0040]      FIG. 6  shows an example user interface  600  for user creation of a note and user entry of categories and binding rules for the note. In an embodiment, the user interface  600  is accessible via a web browser. However, alternative methods of accessing user interfaces known in the art may also be used. In a preferred embodiment, the user interface  600  allows user entry of a first symbol  610  to designate entry of a category and a second symbol  620  to designate entry of a binding rule. As shown in  FIG. 6 , the first symbol  610  is the “#” sign and categorization is accomplished by placing a “#” symbol adjacent to a word. Similarly, the second symbol  620  is the “@” sign to mark a service for a binding rule. The first  610  and second  620  symbols allow easy entry of categories and binding rules. As can be appreciated by one or ordinary skill in the art, the present invention is not limited to the use of symbols for categorization and binding rules. 
         [0041]    In a preferred embodiment, entry of the first symbol  610  triggers a list of previously used categories to be displayed to the user. In particular, the list can be filtered to only include categories that may be relevant to the note, such as based on the content of the note or the context traits of the note. In an embodiment, users can override suggestions and label the note with non-suggested category or a new category. Similarly, entry of the second symbol  620  triggers a list of services or binding rules to be displayed to the user. In a preferred embodiment, user selection of a category to label the note triggers a display of suggested services where the note can be bound. Conversely, user selection of a binding rule triggers a display of suggested categories to label the note. The suggestions can be based on previously stored user selections, i.e. a user history, or any other bases as described herein with respect to the suggestion function. 
         [0042]    The user interface  600  also includes a list of categories  630  used in all stored notes. A user can select a category from the list  630  to view notes labeled with the selected category. In an embodiment, a search box  640  is also available to find previously saved notes.  FIG. 6  also shows previously saved notes  660  and  680 . The note  660  includes a photo  665  and a weblink  670 . The note  680  includes text description of a wine and is labeled  690  with the categories “wine” and “product” by use of the first symbol. The user interface  600  also includes a user name  650 , such as the user&#39;s email address. In an embodiment, the application server requires a user authentication to access the semantic note taking system. 
         [0043]    Embodiments of the present invention are also directed to user interfaces corresponding to services to facilitate simple collection of data and binding to services. In an embodiment, a user interface is provided for each of the services where a note can be bound. The user interface corresponding to a particular service includes one or more buttons for initiating an action specific to that service. Service specific user interfaces are referred to as semantic skins. In a preferred embodiment, a single click of a button on a semantic skin initiates the creation of a note, automatic content generation and addition to the note, automatic labeling of the note with one or more categories appropriate to the service, and communication of the note to the service. 
         [0044]      FIG. 7A  shows an example of a semantic skin  710  for a social network service and  FIG. 7B  shows an example of a semantic skin  750  for a health or diet application. The semantic skin  710  includes a button  720  to “poke” a friend of the user in the social network, a button  730  to submit the current status of the user, and a button  740  to post a photo to the social network. The semantic skin  750  in the example shown by  FIG. 7B  includes a button  760  to enter exercise activity, a button  770  to enter diet information, and a button  780  to measure medical readings. The semantic skins can rely on context traits derived from the device where the data entry is performed. For example, the button  730  of semantic skin  710  can utilize the current location of the user as measured by the user device and publish that location to the social network. In another example, a user is operating a device that includes a heart monitor and the button  780  extracts heart rate measurements, attaches the measurements to a note, and communicates the note to a health service. 
         [0045]    In a preferred embodiment, buttons in user interfaces and semantic skins are programmable. The buttons serve the purpose of providing simple or single click entry of data and minimizes the friction for a user to collect information and bind the information to services. 
         [0046]      FIGS. 8-11  include details of a functional embodiment of the present invention. The exemplary embodiment shown in  FIGS. 8-11  are directed to social network services, such as Facebook.com and Twitter.com, though its extension to other services can be appreciated by one of ordinary skill in the art. The present invention is not limited to the embodiment of  FIGS. 8-11 ; alternatives to the services and applications described in  FIGS. 8-11  can be identified by one of ordinary skill in the art. 
         [0047]      FIGS. 8-9  show the technologies used by the application server in an exemplary embodiment of the present invention. The core services are shown by  FIG. 8  and include the AuthenticationService, NodeService, NodeMetaService, LabelService, SearchService, UndoManager, QueueService, LogService, and PrivacyService. Each of the core services has its own instance of a BerkeleyDB Java Edition as a backing store.  FIG. 9  shows an initial user request  910  that is handled by a web server, e.g. lighttpd. Lighttpd serves up all the static content. If the request is for dynamic content then it is forwarded to the Jetty Java Application Server. Jetty runs inside of the Java Virtual Machine. In the embodiment shown in  FIG. 9 , the struts2 web framework is used inside of Jetty. Struts2 determines which services are needed to fulfill the request and uses Google Guice to create all the objects needed by the user. After all the objects have been created, struts2 fulfills the users request and generates the page. The jQuery JavaScript library is used to speed up and simplify cross-platform development. Google collections Library is used to augment the standard Java collections. 
         [0048]      FIG. 10  shows a flow chart related to the AuthenticationService of an exemplary embodiment of the present invention. The AuthenticationService allows a user to communicate with any service that requires authentication or login information; thereby the semantic note taking system can be integrated with any number of third party applications and services. In the example shown in  FIG. 10 , a user request to share a note on Facebook is shown. The request is handled by struts2, which checks if the user is a valid user of the semantic note taking system. If the request is from a valid user, a request is sent to the FacebookService to verify if the user has valid Facebook credentials. If the user has a valid Facebook account, the request is sent to the QueueService to en-queue the Facebook share request. 
         [0049]      FIG. 11  shows a flow chart related to an embodiment of the QueueService. When an event is en-queued in the QueueService&#39;s queue, the QueueService checks if the note associated with that event has been previously shared to Facebook. The LogService tracks when a note has been successfully shared to Facebook. If the note has been previously successfully shared, it is removed from the queue. The QueueService then checks if there was a problem sharing the note. If the note has had a failure, the share event is timed out and put back in the queue to be run after X minutes. The note is then pushed to the user&#39;s Facebook account. The note is pushed by the QueueService calling the FacebookService to fulfill the share request. If the request succeeds, the event is removed from the QueueService&#39;s queue and logged to LogService. 
       EXAMPLES 
       [0050]    The following examples demonstrate exemplary applications for the embodiments of the present invention. It is noted that applications for the present invention are not limited by these examples; other applications of the present invention can be identified by one of ordinary skill in the art. 
       Example 1 
     Product Review 
       [0051]    A user enjoys a product, such as a glass of wine. During a dinner engagement The user jots down information related to the wine, such as the brand, vintage, variety, etc., by accessing a user interface to the semantic note taking system. The note includes a label of “#wine” for future reference to the note. Context traits, including the GPS coordinates where the note was created is associated with the note. Using the GPS coordinates and accessing a directory information module, the name of the restaurant is derived and automatically associated with the note. The note is saved in the database. 
         [0052]    At a later date, the user chooses to discuss the wine with friends of the user who may be wine enthusiasts. By binding the wine review note to a social network or an email application, the note is communicated to one or more friends of the user. One of the friends writes a brief review of the wine and attaches that review to the note. After the note has been shared to friends of the user, the user decides to write a wine review to be posted on a wine website. The user refines the note and binds it to the wine review website to be published to the world. 
       Example 2 
     Retail 
       [0053]      FIGS. 12A-B  show an example of a retail application with bidding from multiple online retailers  1230 . In  FIG. 12A , user U 1  creates a note  1220  on a user device  1210 . The note  1220  includes an identification of a product and binding rules that indicate it is to be bound to retailers R 1 , R 2 , and R N . The note  1220  is communicated to the retailers R 1 , R 2 , and R N  based on the binding rules. After the note  1220  is received by the retailers R 1 , R 2 , and R N , the retailers send offers  1240  to user U 1  for the product described in the note  1220 . Alternatively or additionally, the retailers R 1 , R 2 , and R N  can send advertisements, coupons, or any information relating to the product to the user U 1 . 
       Example 3 
     Health 
       [0054]    The present invention can be directed to a dietary, health, or medical service. For example, with minimal friction, a user can submit his or her dietary behavior to be tracked by a diet service. In another example, medical information can be collected at a hospital visit or doctor&#39;s appointment and submitted to an electronic medical record (EMR) application. 
       Example 4 
     Research 
       [0055]    The semantic note taking system of the present invention can also be applied to a research study. In an embodiment of the present invention, research data is collected in a note. The research data can be collected from the field via a mobile device. The research data is enriched with time and location context traits. For repetitive data collection, a semantic skin would provide simple one click user entry of data. For example, the present invention can facilitate frictionless data gathering from door-to-door surveys. A door-to-door surveyor would need not enter the address of each participant of the survey as location context traits would be automatically associated with the note. Relevant data (e.g. resident names and demographics) can be automatically accessed based on the location context traits,. 
         [0056]    As one of ordinary skill in the art will appreciate, various changes, substitutions, and alterations could be made or otherwise implemented without departing from the principles of the present invention, e.g. notes can be communicated to any service capable of being connected to the network, and any network, such as a WAN or LAN, can be used in addition to or in replacement of the Internet. Accordingly, the scope of the invention should be determined by the following claims and their legal equivalents.