Abstract:
One embodiment of the present invention includes a meeting planning tool that contains information about as many different aspects of a meeting as desired, including the cost of the meeting, both in direct expenses and indirect costs to the enterprise or organization, thus allowing a meeting planner to optimize the overall cost of the meeting to the lowest point in a total-cost-of-ownership approach to planning.

Description:
RELATED APPLICATIONS 
     This application is related to U.S. application Ser. No. 10/943,608, entitled “Delegation of Travel Arrangements by a Temporary Agent,” filed Sep. 17, 2004, which is incorporated herein by reference. 
     FIELD OF THE INVENTION 
     This invention relates generally to procurement of services, and more particularly to coordinating the group procurement of services. 
     BACKGROUND OF THE INVENTION 
     In today&#39;s businesses, meetings often must pull together a number of people from multiple national or even international locations. The choice of venue often depends on which people plan to attend in person and which people plan to attend virtually (i.e., by teleconference, video conference, web conference, etc.). Also, a variety of resources and tools may be needed according to the means, as mentioned above, for virtual attendance, and the meeting facilities may be of any of various sizes. Also, if people have to travel, the company may attempt to optimize travel and associated costs. It may be that if people from three different facilities have to travel, the optimal cost may not be to realized by the least amount of travel, because of such variables as special airfare promotions that permit bringing a larger or more distant group of people to a site at less expense than a smaller or less distant group. Additionally, considering work time lost, a larger group may have a lower “work time value” and it may therefore optimize travel costs to require this group to travel. 
     It is clear that current meeting planner tools, such as those provided by Microsoft Outlook™, Lotus Notes™, and other similar applications, are inadequate to take into consideration all these issues when planning a meeting. They may allow the user, in a very limited way, to add resources, such as a conference room, or even in some cases, an electronic conference bridge. However, selecting the room, the bridge, the location, and all the other meeting arrangements is up to the person entering the meeting in the planning tool. So if a company has, for example, three sites, the person organizing the meeting usually chooses the meeting venue and geographic location of the meeting. 
     What is clearly needed is a meeting planning tool that contains information about as many different aspects of a meeting as desired, including the cost of the meeting, both in direct expenses and indirect costs to the enterprise or organization, thus allowing a meeting planner to optimize the overall cost of the meeting to the lowest point in a total-cost-of-ownership approach to planning. 
     SUMMARY OF THE INVENTION 
     One embodiment of the present invention includes a meeting planning tool that contains information about as many different aspects of a meeting as desired, including the cost of the meeting, both in direct expenses and indirect costs to the enterprise or organization, thus allowing a meeting planner to optimize the overall cost of the meeting to the lowest point in a total-cost-of-ownership approach to planning. 
     The present invention describes systems, clients, servers, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A-C  are diagrams illustrating a system-level overview of an embodiment of the invention; 
         FIGS. 2A-C  are flowcharts of methods to be performed typically by computers in executing the embodiment of the invention illustrated in  FIGS. 1A-C ; 
         FIG. 3  is a flowchart of an optional method to be performed by a computer in executing the embodiment of the invention illustrated in  FIGS. 1A-C ; 
         FIG. 4A  is a diagram of one embodiment of an operating environment suitable for practicing the present invention; 
         FIG. 4B  is a diagram of one embodiment of a computer system suitable for use in the operating environment of  FIG. 4A ; 
         FIG. 5  illustrates a screen shot as it would be seen by a group member, in accordance with one embodiment; 
         FIG. 6  illustrates block diagram of an alternative embodiment; and 
         FIG. 7  illustrates a flow diagram describing the processes in accordance with one embodiment. 
         FIG. 8  illustrates a flow diagram describing the process in accordance with one embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
     Automatic Service Exchange 
     A system level overview of the operation of one embodiment of an automatic services exchange system  100  is described by reference to  FIGS. 1A-C . In  FIG. 1A , the automatic services exchange system  100  is illustrated as having an automatic services exchange component  101  and an optional call center backup component  103 . The automatic services exchange component  101  allows users such as a user A  105 , user B  109 , user C  113 , and user D  117  to request services from the exchange. The service requests may be sent to the exchange component  101  through various communication media. For example, user A  105  sends its request A  107  to the exchange component  101  through an interactive voice response system (IVR), user B  109  sends its request B  111  to the exchange component  101  through e-mail (typically a structured e-mail), user C  113  sends its request C  115  via a Web browser, such as Internet Explorer or Netscape or a micro-browser on a WAP enabled cellular telephone, and user D  117  send its request D  119  through an instant messaging system (IM). These different communication media typically have different data formats, such as structured e-mail, or an Internet based markup language such as XML, or IVR voice recognition. Regardless of the communication media used to send the request to the exchange component  101 , a response to a request may be sent back to the user through a different media. Thus,  FIG. 1A  illustrates that user A  105  receives its response through e-mail, user B  109  receives its response via instant messaging, and user D  117  receives its response via fax. In the case of user C  113 , the same communication medium, Web, used to send the request is also used to send the response. 
     The services available through the exchange component  101  include travel services, entertainment service, personal services (e.g., haircutting), educational services, business administrative services and the like. Some services may be time critical, e.g., a dinner reservation at a particular time. The service request specifies other required criteria for the service, such as location (e.g., a certain geographic area), type, duration, quantity, price information (e.g., preferred price or price range and maximum price), etc. Additionally, a single service request may actually require services from multiple different service providers which are linked or associated. For example, if a user is planning a business trip, the request will often require services from airlines, hotels and car rental agencies and perhaps other services which are linked to or associated with the business trip. 
     The automatic services exchange component  101  automatically sends the service request to various service providers. In one embodiment, this transmission may be through several different electronic communication media such as structured e-mail, XML, IVR, etc. In the event that the exchange component  101  is unable to automatically procure the service requested by the user, the request is transferred to the backup call center component  103 . For example, assume that request C  115  from user C  113  could not be automatically fulfilled by the exchange component  101 . As illustrated in  FIG. 1A , the request C  115  is sent to the backup call center  103  along with other information such as which service providers have already been contacted for the service. One of the human agents or operators at the backup call center  103  attempts to find a service provider for the request. Once the backup call center  103  determines that the request can or cannot be satisfied, it communicates the result to the corresponding user who made the request. In the example, the result is sent to user C  113  through e-mail. 
       FIGS. 1B and 1C  show the operation of the automatic services exchange component  101  in more detail. In  FIG. 1B , a requestor  121  sends a service request  123  to the automatic services exchange  101 . A broker function  131  receives a service request and passes it onto various service providers, such as service provider  133  and service provider  135 . The service request may also be sent to an aggregator that represents multiple service providers, such as aggregator  137  that handles requests for service provider  139  and service provider  141 , instead of directly to the service providers. In one embodiment, the service request is sent using an automatic system, such as an IVR system, that asks for a positive or negative reply to the request (e.g., a voice over the telephone says “press 1 if you have a table for two at 6:30 p.m. at your restaurant on XYZ date, press 2 if you do not”). Each of the service providers  133 ,  135  and the aggregator  137  replies to the broker  131  indicating whether they are able to provide the requested service. The responses to broker  131  may be through different communication media such as the Internet (e.g., via an XML page), structured e-mail, or IVR. 
     Assuming there is at least one positive reply, the broker  131  sends a response  127  to the requestor  121  with the results indicating at least one response matched the request. Depending on parameters set by the requestor  121 , if multiple positive replies are received by the broker  131 , the broker may choose the best match based on the required or predetermined criteria or it may send responses for all the positive replies to the requestor  121  for selection. The requestor  121  may also authorize the broker  131  to contract for the service under certain circumstances without waiting for approval from the requestor  121 . A match to request typically means that the response from the service provider is within the range of acceptable requesting parameters such as time of service, location of service, price of service, level (e.g., quality requested) of service, and other parameters specified by the request. 
     As illustrated in phantom in  FIG. 1B , the broker  131  may also send the response  127  to others  125  specified by the requestor  121 . For example, when multiple people are planning a dinner, one person, the requester  121 , may be in charge of obtaining the reservation, but the other people involved should receive notification of the particulars. 
     Also shown in phantom in  FIG. 1B , is the capability of sending a change notice  129  to the requestor  121  if a procured service changes before its performance date. This change may occur by a modified request which is issued by the requestor  121 . Similarly, the change notice  129  may also be sent to others  125  specified by the requestor  121 . The requester can approve the change if the change is satisfactory, or submit a new service request if the change is unsatisfactory, or if the service is now unavailable from the original provider (not shown). The exchange system of the invention, in one embodiment, can automatically respond to a modified request. 
     The broker  131  reviews, through an automatic machine implemented process, the service requests to determine if the service request is actually a request for multiple services, such as multiple services which are linked or associated such as those associated with an event (e.g., a business trip which requires airline tickets, rental car reservation and hotel reservation). The resulting operation is illustrated in  FIG. 1C . The broker  131  breaks such a request into sub-service requests  143  and  145  and sends each to the appropriate service providers. Thus, in  FIG. 1C , sub-service request A  143  is sent to service providers  147 ,  149 , while sub-service request B  145  is sent to service provider  151  and aggregator  153 , which aggregates the services from service providers  155  and  157 . As before, each service provider/aggregator typically returns a message to the broker  131  specifying its ability to provide the service. Each sub-service response  159  may be sent separately to the requestor  121  or the broker  131  may wait until all service providers/aggregators have responded or until a match to each sub-service request has been found. As in  FIG. 1C , change notices  161  also will be sent to the user  121  upon a change in a procured service. Additionally, the responses  159  and the change notices  161  may be sent to others  125  specified by the requestor  121 . 
     The particular methods of the invention are now described in terms of computer software with reference to a series of flowcharts. The methods to be performed by a computer constitute computer programs made up of computer-executable instructions illustrated as blocks (acts). Describing the methods by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the methods on suitably configured computers (e.g., the processor of the computer executing the instructions from computer-readable media). The computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, logic . . . ), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or a produce a result. 
       FIGS. 2A and 2B  illustrate the acts to be performed by a computer, or set of computers, acting as the automatic services exchange component  101  of  FIG. 1A  in processing service requests.  FIG. 2C  illustrates the acts to be performed by a computer acting in conjunction with the backup call center  103  in  FIG. 1A .  FIG. 3  illustrates the acts to be performed by the computer acting as the automatic services exchange component when the optional change notification is desired. 
     Referring first to  FIG. 2A , a service request method  200  receives a service request method (block  201 ) and examines it to determine if there are multiple, related services requested (block  203 ). If so, the service request method  200  creates a request for each service (block  205 ). Once the multiple requests are created, or if there is only one request, the service requests are sent to the appropriate providers (including aggregators) for the services (block  207 ). 
     The service request method  200  processes the replies for each request separately as illustrated by request loop starting at block  209 . It will be appreciated that multiple request loops may be running concurrently. The requestor may specify a time which is associated with a deadline for completion of a search for a match to a request. In one embodiment, the requestor specifies a predetermined required period of time (time out period or deadline) within which replies must be received or by which time the requestor should be contacted by the exchange to inform the requestor of the incomplete status of a request. In another embodiment, the time out period is determined by the method  200  based on time criteria specified in the request. The request loop waits at block  209  until an incoming reply is received or until the time out period expires. When the request loop is activated by an incoming reply (block  211 ), the reply is recorded at block  213 . If all replies have not yet been received, the request loop returns to its wait state. If all replies have been received, the particular request loop ends (block  215 ) and the method  200  proceeds to block  217  to evaluate the replies. Alternatively, if the time out period expires before any or all replies are received, the method  200  also proceeds to block  217 . The time out period can provide the exchange system with some time to attempt to “manually” (through the intervention of a human operator) procure the service with enough time before the service is actually required. If the user/requestor fails to specify a time out period, the exchange system may specify a default time out period which is at least several hours before the requested time of the service (e.g., a 4:30 p.m. time out for a dinner reservation at 7:30 p.m.) or at least one day before the requested date of the service. Further, this time out period also allows the requestor to be notified of a failure to procure a service before the time requested for the service so that the requestor can take appropriate actions. 
     At block  217 , the method  200  determines if any positive replies were received. If not, the corresponding request is transferred to the backup call center (which includes human operators) for processing along with all replies (block  219 ) so the backup call center knows the current status of the request (e.g., who has replied to the request, who has not, etc.). The processing represented by block  219  is described in more detail in conjunction with  FIG. 2C  further below. 
     If multiple services were requested, the method  200  determines if at least one service provider has replied positively to each service request (block  221 ). Requests that cannot been procured are sent to the backup call center at block  219 , while positive replies are processed at block  223  (e.g., by sending out confirmations to the requestor and the service providers to secure the providing of the service). Similarly, if only one service was requested and at least one reply is positive, the method  200  proceeds to block  223  to process the reply. The processing represented by block  223  is described next. 
     One embodiment of a process reply method  230  is illustrated in  FIG. 2B . It will be appreciated that multiple instances of the method  230  may be executing simultaneously based on the number of service requests that were made. For each service requested (block  231 ), the process reply method  230  determines if multiple positive replies for a service were received (block  233 ). If so, but only one match has been requested (block  235 ), the method  230  filters the replies to find a single match that best satisfies the criteria specified by the requestor (or specified as defaults by the system of the exchange service) (block  237 ). If there was only one positive reply for the service, or once a single reply has been filtered out in block  237 , the method  230  determines if the requestor has authorized the automatic services exchange system to automatically procure the service (block  239 ). If so, the method  230  contracts or otherwise reserves the service from the corresponding service provider (block  241 ) and sends a confirmation request confirmation to the requestor that the service has been procured (block  243 ). In these situations where the service provider requires a commitment (e.g., a down payment or a deposit) from the requestor, the automatic services exchange provides payment information (e.g., credit card name, number and expiration date) previously provided by the requestor to the automatic services exchange or requests that this information be provided by the requestor to either the exchange (so it can be forwarded to the service provider) or to the service provider directly. If, however, there is no authorization (block  239 ), the information in the reply is sent to the requestor at block  245  and the method  230  waits to receive approval from the requestor. If approval is received (block  249 ), the method  230  contracts for or otherwise reserves the approved service and sends a confirmation as previously described. However, if approval of the particular service is not received from the requestor, the service request is terminated. 
     If more than one match is wanted at block  235  (as specified by a predetermined preference sent by the requestor or as set as a default by a system of the exchange service), a response containing all positive replies is sent to the requestor for selection (block  247 ) and the method  230  waits to receive approval of one of the providers at block  249 . As in the case of a single reply, the method  230  contracts for or otherwise reserves the service from the approved provider at block  241  and returns a confirmation message at block  243 , or the request is terminated if no approval is received. 
     Turning now to  FIG. 2C , one embodiment of an information transfer method  260  for a backup call center is illustrated. When the service request is sent to the providers through an automatic system, a reply may be invalid such as when a person, in response to questions from an IVR system, presses an incorrect digit on a telephone key pad or hangs up without replying or if the call is unanswered. For each unfulfilled related service request (block  261 ), the method  260  selects those service providers that gave invalid replies (block  263 ). Each of the selected service providers (block  265 ) will be called by a human agent (block  267 ) until one provider is able to provide the service (block  269 ) or until all have been called (block  271 ). If no service provider can fulfill the service request, the method  260  sends a failure message to the requester at block  273 . If there are no further related service requests (block  251 ), the method  260  terminates. 
     The first positive reply at block  269  causes the method  260  to determine if the requester has authorized the automatic services exchange system to automatically procure the service (block  277 ). If so, the method  260  contracts or otherwise reserves the service from the corresponding service provider (block  279 ) and sends a confirmation request confirmation to the requestor that the service has been procured (block  281 ). If, however, there is no authorization at block  277 , the information in the reply is sent to the requestor (block  283 ) and the method  260  waits to receive approval from the requestor. If approval is received (block  285 ), the method  260  contracts for or otherwise reserves the approved service and sends a confirmation as previously described. However, if approval of the particular service is not received from the requestor, a failure message is sent to the requester at block  272 . 
     As described previously, the automatic services exchange system optionally can send change notices to the requester to alert him/her of changes in a procured service or receive a modified request from the requestor even after the services have been procured. One embodiment of a service change method  300  that communicates changes is illustrated in  FIG. 3 . When the method  300  receives notification of a change in a procured service (block  301 ), it notifies the requester and asks if the requester approves the change or wishes to submit a new service request (block  303 ). If the change is approved (block  305 ), a message is sent to the service provider to contract for the changed service (block  307 ) and the change is confirmed to the requester (block  309 ). If the change is not approved but a new service request is submitted (block  311 ), the new request is resubmitted into the automatic services exchange system at block  313 . 
     The particular methods performed by computers acting as the automatic services exchange and backup call center components for one embodiment of the invention have been described with reference to flowcharts in  FIGS. 2A-C  and  3 , including all the acts from  201  until  223 , from  231  until  251 , from  261  until  285 , and  301  until  313 , respectively. It will be appreciated that more or fewer processes may be incorporated into the methods illustrated in  FIGS. 2A-C  and  3  without departing from the scope of the invention and that no particular order is implied by the arrangement of blocks shown and described herein and that alternative orders of the operations are within the scope of the invention. 
     The following description of  FIGS. 4A-B  is intended to provide an overview of computer hardware and other operating components suitable for performing the methods of the invention described above, but is not intended to limit the applicable environments. One of skill in the art will immediately appreciate that the invention can be practiced with other computer system configurations, including hand-held devices (e.g., PDAs—personal digital assistants such as a Palm Pilot; or cell phones, etc.), multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network having a physical or wireless infrastructure, or a combination of both. 
       FIG. 4A  shows several computer systems that are coupled together through a network  3 , such as the Internet. The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web). The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. Access to the Internet  3  is typically provided by Internet service providers (ISP), such as the ISPs  5  and  7 , through either physical or wireless interfaces. Users on client systems, such as client computer systems  21 ,  25 ,  35 , and  37  obtain access to the Internet through the Internet service providers, such as ISPs  5  and  7 . Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format. These documents are often provided by web servers, such as web server  9  which is considered to be “on” the Internet. Often these web servers are provided by the ISPs, such as ISP  5 , although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art. 
     The web server  9  is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server  9  can be part of an ISP which provides access to the Internet for client systems. The web server  9  is shown coupled to the server computer system  11  which itself is coupled to web content  10 , which can be considered a form of a media database. It will be appreciated that while two computer systems  9  and  11  are shown in  FIG. 4A , the web server system  9  and the server computer system  11  can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system  11  which will be described further below. 
     Client computer systems  21 ,  25 ,  35 , and  37  can each, with the appropriate web browsing software, view HTML pages provided by the web server  9 . The ISP  5  provides Internet connectivity to the client computer system  21  through the modem interface  23  which can be considered part of the client computer system  21 . The client computer system can be a personal computer system, a network computer, a Web TV system, a handheld wireless device, or other such computer system. Similarly, the ISP  7  provides Internet connectivity for client systems  25 ,  35 , and  37 , although as shown in  FIG. 4A , the connections are not the same for these three computer systems. Client computer system  25  is coupled through a modem interface  27  while client computer systems  35  and  37  are part of a LAN. While  FIG. 4A  shows the interfaces  23  and  27  as generically as a “modem,” it will be appreciated that each of these interfaces can be an analog modem, ISDN modem, cable modem, satellite transmission interface (e.g., “Direct PC”), radio frequency (RF), cellular, or other interfaces for coupling a computer system to other computer systems. Client computer systems  35  and  37  are coupled to a LAN  33  through network interfaces  39  and  41 , which can be Ethernet network or other network interfaces. The LAN  33  is also coupled to a gateway computer system  31  which can provide firewall and other Internet related services for the local area network. This gateway computer system  31  is coupled to the ISP  7  to provide Internet connectivity to the client computer systems  35  and  37 . The gateway computer system  31  can be a conventional server computer system. Also, the web server system  9  can be a conventional server computer system. 
     Alternatively, as well-known, a server computer system  43  can be directly coupled to the LAN  33  through a network interface  45  to provide files  47  and other services to the clients  35 ,  37 , without the need to connect to the Internet through the gateway system  31 . 
       FIG. 4B  shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web server system. It will also be appreciated that such a computer system can be used to perform many of the functions of an Internet service provider, such as ISP  5 . The computer system  51  interfaces to external systems through the modem or network interface  53 . It will be appreciated that the modem or network interface  53  can be considered to be part of the computer system  51 . This interface  53  can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g., “Direct PC”), radio frequency (RF), cellular, or other interfaces for coupling a computer system to other computer systems. The computer system  51  includes a processing unit  55 , which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor. Memory  59  is coupled to the processor  55  by a bus  57 . Memory  59  can be dynamic random access memory (DRAM) and can also include static RAM (SRAM). The bus  57  couples the processor  55  to the memory  59  and also to non-volatile storage  65  and to display controller  61  and to the input/output (I/O) controller  67 . The display controller  61  controls in the conventional manner a display on a display device  63  which can be a cathode ray tube (CRT) or liquid crystal display. The input/output devices  69  can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller  61  and the I/O controller  67  can be implemented with conventional well known technology. A digital image input device  61  can be a digital camera which is coupled to an I/O controller  67  in order to allow images from the digital camera to be input into the computer system  51 . The non-volatile storage  65  is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory  59  during execution of software in the computer system  51 . One of skill in the art will immediately recognize that the term “computer-readable medium” includes any type of storage device that is accessible by the processor  55  and also encompasses a carrier wave that encodes a data signal. 
     It will be appreciated that the computer system  51  is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processor  55  and the memory  59  (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols. 
     Network computers are another type of computer system that can be used with the present invention. 
     Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory  59  for execution by the processor  55 . A Web TV system, which is known in the art, is also considered to be a computer system according to the present invention, but it may lack some of the features shown in  FIG. 4B , such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor. Further, mobile devices, such as PDAs, browsing web phones etc. and their respective supporting infrastructure may also be used as clients etc. 
     It will also be appreciated that the computer system  51  is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. The file management system is typically stored in the non-volatile storage  65  and causes the processor  55  to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage  65 . 
     Coordination for Group Procurement of Services 
     One embodiment of the present invention permits group members to add additional reservations onto an existing reservation of a group leader, supervisor or any other member of the group in such a manner as to synchronize travel plans and coordinate locations, etc., both in terms of travel time, sharing rides, staying at the same hotel, tee times, and other services one may desire when attending an event. But rather than book all group members at once, individual group members may make plans separately, to accommodate instances in which group members are, for example, traveling from different locations, or are arriving at different times, etc. For example, a sales person may be coming from a different customer site in another city, while the marketing person and the technical person may be coming from the home office. 
       FIG. 5  shows a screen as it would be seen by such a group member. The data as displayed on the screen may be shared with the group members via an Internet media, or other alternative media. Section  500  is the header bar of the browser window, and section  501  is the application window for a specific set of services—in this case, travel and accommodations for a business meeting at a customer site. Heading section  502  for the event shows that members of the company Talaris are visiting Forrester Research in Waltham, Mass. Group members can see the travel itinerary of the group leader respectively the first person to book travel in section  503 . As each member books travel and other services related to the meeting, the system automatically notifies, via the Internet or other media, the other members of the group and asks if they want to book identical travel services or similar travel services (e.g., start in a different location and ultimately end up at a destination together at a specific time). The system automatically would also coordinate sharing of resources such as a rental car or hotel rooms. Further, the system would enforce corporate policies related to the services being procured. For example, the system might require employees to share a rental car, a limo, a shuttle bus etc. if two or more employees are traveling on a similar trip. 
     Thus in the example embodiment shown in  FIG. 5 , group members have the options shown in section  510  to choose one of four travel options. It is clear that in other example embodiments, other, similar options, additional options, or fewer options may be offered. Section  511  is an option to book an identical itinerary, which would be suitable for a person starting the trip from the same location at the same time. This option allows group members to travel together. Section  512  allows group members to book separate, identical air and hotel reservations, but has them share a single car rental; section  513  allows members to meet at the airport upon arrival (in this example, at the Boston airport) so a group member flying in from, for example, New York, could meet with members flying in from San Francisco, to share the car into Walton; and section  514  allows for only booking rooms at the same hotel, so group members may come and go separately but stay at the same hotel, allowing them to meet and travel together to the company site conveniently. 
     The system illustrated in  FIG. 5  is just one embodiment of the novel art of this disclosure for automated coordination of services procurement for a group of individuals involved in a common goal or event. In this and other embodiments, one of the individuals (the leader) would define the attributes of the event and specify the other individuals to be involved in the event (the “group”). All of the individuals would be automatically notified, via the Internet or other media, by the system that they are invited to participate in the goal or event, and all individuals would be able to accept or decline membership in the group event or goal, in some cases in accordance with company policies for such participation, expense rules, privacy rules etc. Likewise, all individuals who accept group membership would be able to procure a combination of services required to execute the event. All individuals who accepted the invitation to join the group would be notified of the booking of services by the other members of the group, and each individual in the group would be able to make a services procurement request for the services procured by any other individual or individual(s) in the group. The system is able to coordinate sharing of the services based on its understanding of the mutual requirements of the group, and is also able to adjust the services procured by members of the group to better meet the overall group&#39;s objectives. The system is likewise able to adjust the services procured by the members to optimize the use of the services by the group as a whole, or to intelligently cancel services based on changes in requirements input by one or more members of the group. In some cases, corporate policy may allow some participants to exceed their usual settings in context of a group event. In other cases, it may notify additionally their supervisor, procurement group, or human resources, and in yet other cases, it may require a confirmation by e-mail from a supervisor or similar. The type of services that may be procured are not limited to services related to travel, but rather may also include other services related to attending an event, or other activities to participate in while visiting a location. 
     Yet in some cases, if a member needs to come in late, for example due to a previous meeting, he may not share in some aspects, such as the share car ride for example etc. In other circumstances, if a member needs special facilities, not available at the hotel/car/flight chosen for the group, the member may break out of the group arrangements. This may be on a case by case basis, with approval and or notification of the group leader, his supervisor etc., or may be pre-defined in the member&#39;s profile in some cases. 
       FIG. 6  illustrates a block diagram of an integration of the embodiment for providing coordination of group procurement of services integrated in the system of  FIG. 1   b , as discussed above. The integration includes the addition of a group information block  600  that allows the original requester  121  to export his travel plans via function  601  into block  600 . The requester can assign group members into a group data base  610 , so that when the designated group members log in as other users  125 , they can see what travel options are available, pull them down via function  602 , and then participate in making travel plans, as described above in relation to  FIG. 5 . Furthermore, as mentioned above, group member may receive a particular invitation, and in some cases, that may require a supervisor&#39;s approval. 
     In yet other cases, a user may be able to forward their service request in an automatic fashion. For example, a user could initiate a group by inviting others to join for a meeting at a specific date, time, and location. Once they have done this, they have formed a group. Once one member of the group has booked their travel for this particular meeting, they would be prompted to see if they are willing to share their itinerary with the other members of the group. If they give permission for the other members to see the itinerary, all other members of the group would be automatically notified by the system. When notified, the other members of the group would be given options to book similar or identical services. When other group members select an option, a service request such as ( 123 ) in  FIG. 6  is automatically generated and sent to the services exchange. 
     Just before, or during, the travel unexpected events may occur that necessitate changes to the travel plans. For example, two parties may plan to travel and meet in a third city, but then one is delayed. To accommodate such occurrences, one embodiment of the present invention provides a process to automatically and dynamically identify an entity to adjust the pre-established travel plans to accommodate one or more of the travelers. 
     This rebooking of the flights and rides, etc., obviously could be done manually on a person-by-person basis, but preferably one group manager (e.g., an assistant or group member) could do the rebooking for the whole group. In one embodiment, the group manager doing the rebooking could be a robotic software agent or entity, being present as part of the reservation system and following certain preprogrammed rules. 
       FIG. 7  presents a flow diagram of semi-automated service software instance  700  of the novel art of the current invention. This software instance  700  may execute for example on server  42  ( FIG. 4A ) and interact with all the modules necessary, acting as a Group Services Management System (GSMS). This software instance  700  is the entity to handle changes in travel arrangements according to the novel art of this disclosure. In step  701 , the group whose event must be rebooked is identified to the system. This may be done separately by software (not shown), monitoring all services and events for which the group database  610  has bookings. When a change occurs, the GSMS  700  identifies in step  702 , the group manager, previously selected when the group parameters were entered into the system. Said group manager could be a person, as noted earlier, or could be a robotic software agent (not shown). There also may be rules within the GSMS that if no human manager is identified, the manager may default to a robotic agent. Additionally, there may be rules to check a series of alternates, if the group manager is unavailable, until an available alternate is found. 
     In step  703 , the GSMS notifies the manager of the changes that must take place to arrange rebooking all arrangements (different services, including such as hotel rooms, restaurant reservations, flights, limos, rental cars, deliveries etc.) of the event (locations, rides, hotel rooms, meetings, Web conferences, Audio conferences, catering, etc.). In some cases, the GSMS may need to offer alternatives. For example, a subset of invitees or listed attendees for a scheduled meeting (M1) that needs to be rescheduled, may be unable to attend the rescheduled meeting M1R (possibly due to a calendar conflict), and thus the meeting would have to be canceled. 
     Based on such scenarios, and rules as they may be stored for the event group in group database  610 , or general rules of the enterprise or organization, in step  704  one or multiple options may be offered to the group manager, who may then make the decision and confirm selection of one among the offered options. In step  705 , the GSMS rebooks arrangements as necessary and confirms all the arrangements, including flights, transportation, hotels, restaurants, etc. In step  706  the GSMS issues alerts and notifies all the parties in the group of the travel arrangements. 
     In one embodiment, it may be further useful for the system  700  according to the present invention also to know how to modify these options based on a user&#39;s profile. For example, a traveler&#39;s home location, unique starting destination, past list of flights, and/or necessary arrival times based for scheduled meetings of the traveler&#39;s original itinerary. 
     In one embodiment, the system might also do a quick calendar check before displaying the user&#39;s flight or other travel options, and show a visual alert to the respective traveler that existing travel arrangements may be in conflict with proposed changes. 
     Also, as changes occur in real time, a quick response is necessary, and in some cases, if an appointed group agent cannot respond in time, the system may escalate according to a set of rules to switch over to an automatic assumption of the role of group manager by the above-mentioned software agent. Such a change may be required, for example, if the group agent is on a plane himself, or in a different time zone, etc., and cannot be reached until after a time at which a decision for rebooking must be made. Alternatively, the system may escalate directly (i.e., if it knows the agent is not reachable) or it may first escalate to a backup designated agent. Further, in some cases, the system can automatically offer options to the user via email when they accept or decline original meeting invitation. 
     Furthermore, in some cases, the system can also take into account “criticality” of each resource and event when suggesting options or making decisions for the group. For instance, if the VP of Sales is designated as a critical person for a meeting, then first try to move his travel plans if meeting has to change. In case his requirements can&#39;t accommodate a new meeting time or location, then, for example, the system might not automatically move others, because meeting shouldn&#39;t happen without him. 
     It is clear, that many modifications may be made, without departing from the spirit of the invention. For example, a shared screen may be offered allowing all members of the group to concurrently view availability, and decide over a multitude of alternative options. 
     The embodiments as described herein allow for very efficient procurement of services, such as, for example, synchronization of business travel plans, within an existing organizational infrastructure. It also reduces the overhead for auxiliary personnel, such as assistants and secretaries trying to coordinate the plans of many group members. It is clear that many modifications and variations of this embodiment may be made by one skilled in the art without departing from the spirit of the novel art of this disclosure. For example, in some cases, such system and method can be used by consumers to similarly coordinate family gatherings/trips, etc. 
     Intelligent Meeting Planner 
       FIG. 8  shows a simplified flow diagram of a meeting planner  800  according to the novel art of this disclosure. In step  801 , a meeting is created in the meeting planner  800 . In step  802 , its parameters are edited and reviewed. Meeting parameters could be entered manually by the meeting organizer, or they could be taken from a template as a default beginning, or they could be selected from any of various templates describing meetings that are held on a regular basis, such as quarterly sales meeting, annual review meeting, monthly management meeting, etc. In some cases, meeting parameters could also be dictated by the responses received from the invitees. For example, if attendees say they are attending virtually, the meeting requirements would now include a web and audio bridge. It is clear, that many variants can be made that are not explicitly shown here, or below, without departing from the spirit of the invention. For example, the meeting time may be set based on the invitee schedules. 
     The nature and purpose of the meeting dictates the list of people that must attend. In particular, some people may be required to attend in person, whereas others may be allowed, but not required, to attend in person. The system should allow the input of each person and a relative level of importance for attendance. In addition, the system should allow the input of whether each person is needed in person or if they can attend virtually. This will drive the dependencies of the service types and details scheduled by the system for the users. Yet others may not even be allowed to attend in person, but only to attend virtually. Based on the list of people and their attendance modes, already a certain number of venues may be considered, while others are eliminated. Additionally, because people are located in different places, arrangements must be made for their travel, accommodations, etc. 
     For example, if five people are to be in a meeting, two could be ranked as highly required to be present physically, meaning that the meeting cannot happen without their physical presence in the meeting location; two could be ranked as required, but can attend virtually; and one could be ranked as optional. The system would then look at their calendars and the service availability needed to pull this meeting together. For instance, if the predetermined meeting location is in New York and the Highly Required meeting attendee 1 is planning to be in San Francisco for a meeting at 8 pm-9 pm the previous day, the system would check for flights that leave at some time after the 9 pm meeting (likely starting at 11 pm to account for driving time to the airport and check-in time). If a flight leaves after 11 pm and arrives in time for the 9 am meeting in New York, including estimated driving time, then the system could auto-accept the meeting for that user and pre-plan all of his travel arrangements as well. If there is a conflict such that his physical presence cannot be accommodated at 9 am based on his previous meeting, the system would give the users the option of moving the 9 am meeting to 12 pm or some time that works for all involved parties. Once that time is vetted and accepted by the system rules and dependencies, then the meeting is scheduled and all ancillary services are automatically scheduled by the system, including travel arrangements, conference room reservations, web conference reservation, catering (for the number of people physically present), etc. If something about the meeting details or the attendees changes, the system would reexamine all of the dependencies and the services that are scheduled and make the appropriate adjustments to the meeting time, services or people attending. 
     Another feature of this system is the ability to find the best meeting time for a group of people. The meeting organizer can input into the system some of the details of the meeting such as desired location (if known), duration, agenda, invitees and their criticality to the meeting, including whether virtual or physical presence is required, etc. The system would then scan the invited attendees schedules (in Outlook, Notes, this system or some other system), determine who is required and who is not, determine if they can be present or not based on flight schedules and other dependencies, and either determine the optimal time and place to have the meeting or show the user a list of ranked options that he can choose from. Alternatively, the system can offer a bunch of predefined time and location options to the attendees and they can each respond with their preferences for each option. The system would then determine the optimal time based on these user-input preferences. 
     Based on the initial requirements of the meeting input in step  801 , and the edit and review of parameters in step  802 , invitations to the meeting are issued in step  803 . Then responses to the invitations are received in step  804 . In step  804   b , the completeness of the those responses is compared to a pre-set threshold of completeness. The completeness does not have to be 100 percent, but if perhaps 80 percent have responded, that is enough to proceed with plans, or if 18 out of 25 persons who must attend in person have responded positively. This threshold used to decide completeness typically would also be part of the parameters set in step  802  above, but might be entered separately, or might conform to a set of corporate rules etc. (not shown). If the completeness level has not been achieved by a certain date, the process loops back to step  803  to send invitation reminders, and so on until the desired completeness level has been achieved. 
     The process then continues in step  805 . Based on the responses and choices of the attendees, some of whom will attend in person and others of whom will attend virtually, a cost analysis is performed in step  805 . This analysis optimizes both the venue and any travel costs involved, such as transportation (usually air), hotel, and any other required resources, such as auto rental, meals, and, for virtual attendees, the cost of using video-, web-, or teleconferencing equipment. This optimization happens in interaction with a services transaction system, such as the Talaris Services Platform  806 , that is important to the novel art of this disclosure. This interaction optimizes the costs of all the meeting elements, taking into consideration less obvious cost aspects, such as time lost in travel and the salary value to the company of various attendees, so travel time is optimized not necessarily just by the number of people traveling, but by the total value to the company. Other parameters may be used as well to optimize value. Further, there may be certain limitations, such as that some people may be unable to travel, which would give them a greater weight in a decision made by the system, as compared to other people, just based on salary, lost work time, impacted projects, etc. 
     After all these optimizations have been done in step  805 , in step  807  the system issues a final invitation with all the specifics of the meeting and venue, including an RSVP. The responses received in step  808  are used to finalize travel arrangements and other resources through the services transaction system  806 , and then again, completeness of responses is checked in step  809 . Once all the arrangements have been completed, the meeting is finalized in step  810  and tickets are issued, etc. All of the specific arrangements would be sent to the attendees (via email, calendar insertions, etc.) for each sub-component of the meeting (e.g. each travel segment, the meeting itself, sub-meetings within the overall meeting, etc.). The processes described above can be stored in a memory of a computer system as a set of instructions to be executed. In addition, the instructions to perform the processes described above could alternatively be stored on other forms of machine-readable media, including magnetic and optical disks. For example, the processes described could be stored on machine-readable media, such as magnetic disks or optical disks, which are accessible via a disk drive (or computer-readable medium drive). Further, the instructions can be downloaded into a computing device over a data network in a form of compiled and linked version. 
     Alternatively, the logic to perform the processes as discussed above could be implemented in additional computer and/or machine readable media, such as discrete hardware components as large-scale integrated circuits (LSI&#39;s), application-specific integrated circuits (ASIC&#39;s), firmware such as electrically erasable programmable read-only memory (EEPROM&#39;s); and electrical, optical, acoustical and other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc. 
     Whereas many alterations and modifications of the present invention will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that any particular embodiment shown and described by way of illustration is in no way intended to be considered limiting. Therefore, references to details of various embodiments are not intended to limit the scope of the claims which in them selves recite only those features regarded as essential to the invention.