Abstract:
A technique is disclosed that enables telecommunications endpoints to conveniently share the addressing information—that is, the Uniform Resource Identifiers (URI)—of documents that are available on the World Wide Web. In particular, a server is used to provide a bookmark service. The server acts as a repository of tag-URI pairs, in which each tag functions as a shorthand label for the corresponding URI. In the disclosed technique, a first user creates the tag for the intended URI by assigning a keyword to represent the URI as part of a bookmark tag-URI pair that the server stores. The created tag is presumably shorter than the URI that it represents, making the tag more convenient to use. A second user is then able to retrieve and use the URI by specifying the tag to the bookmark server. In essence, the technique of the illustrative embodiment enables the sharing of Web documents by sharing the bookmarks to those documents.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to telecommunications in general, and, more particularly, to sharing documents electronically between users. 
       BACKGROUND OF THE INVENTION 
       [0002]    The World Wide Web is a system of interlinked, hypertext documents that operates via the Internet. With a Web browser, a user at a telecommunications endpoint is able to view Web documents such as Web pages and PDF documents, which typically contain text, images, or other multimedia. Viewing a Web page or other resource on the World Wide Web normally begins with either typing the Uniform Resource Identifier (URI) of the page into the browser, or following a hypertext link to that page or resource. A request is then sent to the Web server that corresponds to the typed or selected URI, requesting the resource, which is a Web document that represents the displayable Web page or other content. The browser then renders the page at the endpoint, incorporating the images and other resources as necessary. The rendering produces the on-screen page that the user is able to view on the endpoint&#39;s display. 
         [0003]    Co-workers or other groups of collaborators routinely need to view the same Web documents as one another. In order to view the same documents, the collaborators, who are often at different telecommunications endpoints, have to provide the URI of each shared document to one other. The collaborators share the URI typically via instant messaging, via email, or verbally by telephone. Additionally, there are many software applications that enable cooperative or collaborative browsing, or “co-browsing,” such as Liveperson, Apple&#39;s IChat, Kana&#39;s iCare Suite, Voxwire&#39;s Rooms, Pageshare, Orbitalk, Webconference, and WebeX. Typically, a desktop computer—having a full-size keyboard, a relatively large display, and optimal Web browsing capability—runs these applications that are often resource intensive. 
         [0004]    Sharing the URI across certain types of endpoints—particularly endpoints other than a desktop computer—can prove at times to be inconvenient and unworkable. One such endpoint is a packet-based telephone with multimedia capability, which can provide voice-centric communications with browser support. Although a packet-based, multimedia phone is more enhanced than a voice-only phone in that it has browsing capability, the packet-based phone is often inferior to a desktop personal computer in terms of its user interface, browser, and so forth. For example, an Internet Protocol-based deskset, which is becoming more common in the workplace, might comprise a keypad, some function keys, an enhanced display, and a browser with rudimentary capability, at least in relation to that of a desktop computer browser; as a result, the deskset is not as capable as a desktop computer with respect to sharing Web documents. On these types of endpoints that have a limited user interface or browser capability, sharing a URI can be difficult because it involves typing a URI into a telephone keypad instead of a fully-capable keyboard, which amounts to a tedious and error-prone activity. 
         [0005]    What is needed is a technique for improved Web-based document sharing that accounts for a wider variety of telecommunications endpoints, without some of the disadvantages in the prior art. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention enables telecommunications endpoints to conveniently share the addressing information—that is, the Uniform Resource Identifiers (URI)—of documents that are available on the World Wide Web. Such Web documents, for example, represent Web pages that are displayable by a browser. In particular, a server is used to provide a bookmark service, in accordance with the illustrative embodiment of the present invention. The server acts as a repository of tag-URI pairs, in which the tag functions as a shorthand label for the corresponding URI. In essence, the technique of the illustrative embodiment enables the sharing of Web documents by sharing the bookmarks to those documents, as the tag is used to reference the URI and the URI points to the document of interest. 
         [0007]    In the disclosed technique, a user at a first endpoint creates the tag for the intended URI by assigning a keyword to represent the URI as part of a bookmark tag-URI pair. The bookmark is registered and stored at the server along with other bookmarks, which means that tag must be unique within the address space of the server repository. The created tag is presumably shorter than the URI that it represents, is more easily remembered than the URI, or in some other way is preferable to use. A user at a second endpoint is then able to retrieve and use the URI by specifying the tag to the bookmark server. Additional users may be provided with access to the same tag-URI pair, and each particular user might have access to multiple tag-URI pairs. 
         [0008]    In some embodiments, instead of storing only a URI with each tag, the bookmark server receives and stores (i) the target World Wide Web document itself, which might be represented by one or more individual files, or (ii) the Web document, along with at least some of the information needed to reconstruct the document at the bookmark server or at another endpoint. Storing the actual document, possibly with additional and related information, addresses the problem posed by a URI that is insufficient by itself to reconstruct the target Web document at another endpoint. As a first example, to view a Web page that a user at a first endpoint was viewing, the browser at a second endpoint might need not only the representative Web document, but also the state information corresponding to what the first-endpoint user had selected on both the browser and Web page (i.e., which tab, which button, and so forth). As a second example, to view a password-protected Web page that the user at a first endpoint was viewing, the browser at a second endpoint would need not only the URI for the protected page (i.e., a “deep bookmark”), but also the password information. 
         [0009]    In the examples above, the retrieval of a Web document would require knowledge of one or more cookies, or other variable or local information, which the second endpoint might not otherwise have if it were to attempt to retrieve the document using only the URI. Instead, the bookmark server retrieves the document from the document&#39;s Web server or from the endpoint that provided the tag-URI pair, possibly with the additional information to be used to reconstruct or gain access to the document. The bookmark server then stores the retrieved document or document-related information, or both, for later use by an endpoint. 
         [0010]    A first application of the illustrative embodiment involves a work collaboration scenario, in which two workers are engaged in conversation on their browser-capable, Internet Protocol-based, telephone endpoints. A browser plug-in that is present in the browser at each endpoint enables its user to perform the tag-URI association and to transmit the tag-URI bookmark to the bookmark server. The association can be as simple as typing the tag using the phone&#39;s keypad while the Web document of the associated URI is being displayed and then pressing a designated command key. Each worker is able to share the URI through the server by communicating the tag created by one worker at the first endpoint to the other worker at the second endpoint, after having stored the tag-URI bookmark at the server. 
         [0011]    A second application of the illustrative embodiment involves a more centralized scenario that features a call center, in which a call center employee at a second endpoint is already engaged in a conversation with a customer at a first endpoint. The call center employee dynamically creates a folder (e.g., a storage file or record, etc.) for the customer; the folder is stored in memory at the bookmark server, which is a server at the call center. A browser plug-in that is present at the first endpoint enables the customer to post URIs or Web documents, or both, to the folder created at the bookmark server to share with the call center employee. A web page that provides a front-end for this collaboration can be generated dynamically for use in the collaboration. 
         [0012]    Advantageously, the server of the illustrative embodiment allows the users at associated endpoints to avoid having to type out complex, lengthy URIs. Instead, those users mainly need to enter a relatively short tag conveniently into their keypad, both when associating the URI with the tag and when retrieving the URI from the bookmark server. Furthermore, the server of the illustrative embodiment enables a user at one endpoint to view a snapshot of the Web page that a user at another endpoint was viewing at a particular moment in time, taking into account the particular tab, button, or other navigation option that the viewing user had selected on the browser and on the Web page being shared. 
         [0013]    The illustrative embodiment of the present invention comprises: receiving at a first server: i) a first tag and a first Uniform Resource Identifier from a first telecommunications endpoint, wherein the first tag denotes the first Uniform Resource Identifier, and ii) a first request, which comprises a second tag, from a second telecommunications endpoint; and when the second tag matches the first tag, transmitting the first Uniform Resource Identifier to the second telecommunications endpoint. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  depicts telecommunications system  100  in accordance with the illustrative embodiment of the present invention. 
           [0015]      FIG. 2  depicts the logical connections between telecommunications endpoints  102 - 1  and  102 - 2 , bookmark server  103 , and document server  104 - 1 , as part of an illustrative message exchange. 
           [0016]      FIG. 3  depicts a message flow diagram of the salient messages exchanged between endpoints  102 - 1  and  102 - 2 , server  103 , and server  104 - 1 , as part of an illustrative message exchange. 
           [0017]      FIG. 4  depicts a flowchart of the salient tasks that pertain to the receiving and processing of information at bookmark server  103 . 
           [0018]      FIG. 5  depicts a flowchart of the salient tasks that are executed by server  103  in processing an endpoint identifier. 
           [0019]      FIG. 6  depicts a flowchart of the salient tasks that are executed by server  103  in processing a tag-URI pair. 
           [0020]      FIG. 7  depicts a flowchart of the salient tasks that are executed by server  103  in processing a request that contains a tag. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]      FIG. 1  depicts telecommunications system  100  in accordance with the illustrative embodiment of the present invention. Telecommunications system  100  comprises telecommunications network  101 ; telecommunications endpoints  102 - 1  through  102 -M, wherein M is a positive integer; bookmark server  103 ; and document servers  104 - 1  through  104 -N, wherein N is a positive integer. The depicted elements are interconnected as shown. Telecommunications system  100  is capable of conveying information via the Hypertext Transfer Protocol (HTTP), as part of the Internet Protocol (IP), in accordance with the illustrative embodiment. Nevertheless, it will be clear to those who are skilled in the art, after reading this specification, how to apply the present invention to some alternative embodiments that use other or additional types of protocols, such as File Transfer Protocol (FTP), for the purpose of conveying information. 
         [0022]    Telecommunications network  101  is a telecommunications network that comprises the Internet, as well as possibly other subnetworks that operate in accordance with the Internet Protocol or some other protocol. Network  101  comprises or is connected to one or more transmission-related nodes such as gateways, routers, or switches that are used to direct data packets from one or more sources to the correct destinations of those packets. Network  101  is capable of handling HTTP-based messages in well-known fashion, which are transmitted between HTTP-capable processing systems. 
         [0023]    Each of telecommunications endpoints  102 - m,  for m=1 through M, is an HTTP-capable device such as an Internet-protocol telephone, a notebook computer, a personal digital assistant (PDA), a tablet computer, a desktop personal computer, a workstation, and so forth. Each endpoint is capable of originating outgoing sessions (or calls) and receiving incoming sessions (or calls), in well-known fashion. In addition, each endpoint is capable of one or more communication modes that comprise, but are not limited to voice, video, data, email, instant messaging, and chat. As those who are skilled in the art will appreciate, the endpoints can be different from one another—for example, in terms of the device type and the communication modes supported. Those who are skilled in the art will also appreciate that some or all of the endpoints can have different users, some or all can have a common user, or some can have different users while others have a common user. 
         [0024]    In accordance with the illustrative embodiment, each endpoint  102 - m  is a physically distinct device. In some alternative embodiments, two or more endpoints can constitute the same physical device, such as a dual-unit handheld that comprises a WiFi endpoint portion and a cell phone endpoint portion. Each endpoint can use the same network communication protocol, such as WiFi, or can use a different communication protocol (e.g., WiFi, GSM, UMTS, etc.) from one another. 
         [0025]    Telecommunications endpoint  102 - m  comprises a Web browser, which enables the endpoint&#39;s user to view and use Web documents such as Web pages and PDF documents, which contain text, images, or other multimedia. The browser enables endpoint  102 - m  to exchange messages as described below and with respect to  FIG. 3 , in accordance with the illustrative embodiment of the present invention. In some alternative embodiments, a component other than a browser enables the exchange of messages described below. In any event, it will be clear to those skilled in the art, after reading this specification, how to make and use telecommunications endpoint  102 - m.    
         [0026]    Bookmark server  103  is a data-processing system that provides a bookmark service to its users, in accordance with the illustrative embodiment. In particular, server  103  is capable of receiving and storing “tags,” which are labels that are used to identify Uniform Resource Identifiers (URI) received along with their identifying tags, from one or more telecommunications endpoints in system  100 . A Uniform Resource Locator (URL) is a type of URI, as is well-known in the art. Server  103  is also capable of receiving and storing World Wide Web documents, in the event that the URI by itself is insufficient for an endpoint to reconstruct the document. The term “Web document” refers to a representation of a particular resource that is identified by its Uniform Resource Identifier, as is well-known in the art; an example of a Web document is a web page&#39;s HyperText Markup Language (HTML) code. 
         [0027]    Each tag that server  103  stores corresponds to a URI that the server stores along with the tag as a tag-URI pair, which is also known as a “bookmark” for the purpose of this specification. In some embodiments, server  103  can also store a Web document along with the tag, for some or all of the stored tags. Additionally, server  103  receives requests from one or more telecommunications endpoints in system  100 , where each request specifies a tag. Server  103  processes each request by transmitting back to the requesting endpoint either the URI or Web document that corresponds to the tag specified in the request. 
         [0028]    In the illustrative embodiment, server  103  operates in accordance with the Hypertext Transfer Protocol. In some alternative embodiments, as those who are skilled in the art will appreciate, server  103  can operate in accordance with a different or additional set of protocols, such as File Transfer Protocol (FTP). 
         [0029]    Bookmark server  103  is also capable of retrieving Web documents from (i) at least one of telecommunications endpoints  102 - 1  through  102 -M or (ii) at least one of document servers  104 - 1  through  104 -N, or both. One situation in which server  103  retrieves a Web document is where the URI is insufficient by itself for reconstructing the target Web document at a second endpoint. This is because in addition to a URI, other information is sometimes needed to reconstruct the Web document when fetched by a browser. As an example, if the Web server maintaining the document requires one or more cookies that a second endpoint would not have, the URI might be insufficient by itself to reconstruct the Web document at that second endpoint. As a second example, if the Web server maintaining the document also maintains state information, the URI might be insufficient by itself to reconstruct the Web document at that second endpoint. 
         [0030]    As those who are skilled in the art will appreciate, the endpoint that provides the tag-URI pair to bookmark server  103  can also provide the parameter values and other information necessary for describing how to reconstruct the Web document or can, in fact, provide the Web document itself. The additional information can include: the browser state; a locally-executable script, written in JavaScript or another language; the document object model (DOM), as is known in the art; and so forth. Alternatively, the endpoint can at least provide server  103  with an indication that the server will have to retrieve a Web document on behalf of an endpoint that will need the document in the future. 
         [0031]    In the illustrative embodiment, bookmark server  103  is depicted as a single server in system  100 . However, it will be clear to those skilled in the art, after reading this specification, how to make and use embodiments of the invention in which more than one bookmark server is present. Furthermore, as those who are skilled in the art will appreciate, the bookmark server function can be part of another Web-based server, such as one or more of document servers  104 - 1  through  104 -N. In any event, it will be clear to those who are skilled in the art how to make and use bookmark server  103 . 
         [0032]    Each of document servers  104 - n,  for n=1 through N, is a Web server database-processing system that is capable of accepting HTTP requests from Web browser-based clients and of serving those clients with HTTP responses that comprise data contents. The data contents typically are Web documents such as HTML documents and linked objects such as images. For example, document server  104 - n  can receive, either from telecommunications endpoint  102 - m  or bookmark server  103 , an HTTP request containing a URI that corresponds to a Web document. It will be clear to those who are skilled in the art, after reading this specification, how to make and use document server  104 - n.    
         [0033]      FIG. 2  depicts the logical connections between telecommunications endpoints  102 - 1  and  102 - 2 , bookmark server  103 , and document server  104 - 1 , and is intended to serve as a pedagogical tool to better understand an illustrative message exchange between the devices, which exchange will now be discussed.  FIG. 3  depicts a message flow diagram of the salient messages exchanged between endpoints  102 - 1  and  102 - 2 , server  103 , and server  104 - 1 , as part of the illustrative message exchange conducted in accordance with the illustrative embodiment of the present invention. Some of the messages that appear in  FIG. 3  can be transmitted in parallel or in a different order than that depicted, as those who are skilled in the art will appreciate. 
         [0034]    The depicted message flow is that of an illustrative call center scenario, in which a call center employee at endpoint  102 - 2  is already engaged in a conversation with a customer at endpoint  102 - 1 . The call center employee dynamically creates a folder (e.g., a storage file or record, etc.) for the customer; the folder is stored in memory at bookmark server  103 , a call center server. A browser plug-in that is present at endpoint  102 - 1  enables the customer to post tags that are used to reference URIs or Web documents, to the created folder stored at server  103 . By posting the tags, the customer is essentially sharing the target Web document or documents with the call center employee because the employee can use each tag to retrieve the corresponding URI and then use the URI to retrieve the target Web document (i.e., from a Web server). As those who are skilled in the art will appreciate, some embodiments of the present invention enable the call center employee to share documents with the customer (i.e., in the other direction). 
         [0035]    To create the folder, endpoint  102 - 2  transmits message  301  to server  103 , which message conveys a request to create the folder. Message  301  contains an identifier of endpoint  102 - 1 . Server  103  receives the message and creates the folder for endpoint  102 - 1 . 
         [0036]    The customer at endpoint  102 - 1  is then notified that the folder has been created, either by verbal confirmation from the call center employee or by receiving a message from either endpoint  102 - 2  or server  103 . Until this point, the customer at endpoint  102 - 1  has possibly been accumulating URIs or Web documents, from document server  104 - 1  or from another Web server, on the Internet or on some other network (e.g., private Intranet, etc.). Once the customer has been notified of the folder&#39;s creation, the customer can start sharing URIs and documents with the call center employee. To initiate the sharing, endpoint  102 - 1  transmits message  302  which contains a first tag and a corresponding first URI. 
         [0037]    For example, the customer at endpoint  102 - 1  might want to share with the employee at endpoint  102 - 2  the URI for the Customer Support Web page of ABC Company, in order to verify that the customer is at the correct Web page. The URI in this example is http://support.abc_company.com/en/go/custsupport?PAGE=Home. The URI itself is too complex for endpoint  102 - 1 &#39;s user to type out and send to endpoint  102 - 2 . Instead, the user thinks of a tag to represent the URI in a shortened format, perhaps one that is descriptive of the URI such as “support”, and has the browser plug-in at endpoint  102 - 2  transmit the tag-URI pair to server  103 . 
         [0038]    Bookmark server  103  receives the tag-URI pair and determines if a browser at endpoint  102 - 2  would be able to reconstruct a Web document, if it were to request a Web document using the URI in the pair. If it would not be able to reconstruct the document—for example, because endpoint  102 - 2  does not have one or more of the necessary cookies—server  103  instead transmits message  303  to document server  104 - 1 , along with the necessary cookies, as provided by either endpoint  102 - 1  or server  103  itself. 
         [0039]    Bookmark server  103  then receives the Web document via message  304  from document server  104 - 1 . Server  103  stores the Web document along with the tag-URI pair and transmits confirmation to endpoint  102 - 1 , in the form of message  305 . The received Web document is now readable by endpoint  102 - 2 &#39;s browser because server  103  provided the necessary additional information (e.g., cookies, etc.) to document server  104 - 1 . 
         [0040]    In a variation of the example, bookmark server  103  retrieves the Web document from endpoint  102 - 1 , as well as possibly additional information that server  103  can use to recreate not only the displayable Web document but also the exact state of the Web document or browser (in terms of the browser tab selected, the navigation button pressed, and so forth) when the customer at endpoint  102 - 1  chose to share the document. 
         [0041]    As those are skilled in the art will appreciate, it is preferential from a storage perspective that server  103  stores the tag-URI pair and not additionally the target Web document or other information. However, it will be necessary at times to store the Web document or related parameter values used for reconstructing the document, or both—such as when a browser at another endpoint would have problems retrieving and reconstructing the Web document by using only the URI. 
         [0042]    The customer at telecommunications endpoint  102 - 1  might choose to transmit to server  103  additional tags that are used to reference additional URIs and Web documents, for the purpose of sharing the additional tags—and, therefore, documents—with the call center employee at endpoint  102 - 2 . Alternatively, the customer might choose to transmit tags to server  103  for the purpose of sharing the tags with users at endpoints other than  102 - 2 . Furthermore, users at either endpoint  102 - 2  or other telecommunications endpoints might want to create folders for the purpose of sharing tags, either with the customer at endpoint  102 - 1  or with users at other endpoints. It will be clear to those skilled in the art, after reading this specification, how to make and use embodiments of the present invention for the purpose of sharing tags among any combination of endpoints in telecommunications system  100 . 
         [0043]    The call center employee at endpoint  102 - 2  is to be provided with the tag that he or she may conveniently use to retrieve the corresponding URI at a later time from bookmark server  103 . In accordance with the illustrative embodiment, bookmark server  103  provides the tag to endpoint  102 - 2  via message  306 . In some alternative embodiments endpoint  102 - 1 , instead of server  103 , can provide the tag to endpoint  102 - 2 . 
         [0044]    Later, the employee at endpoint  102 - 2  may request a Web document that is of relevance to the customer at endpoint  102 - 1 . First, endpoint  102 - 2  transmits request message  307  that requests the URI that corresponds to the tag specified in the request. 
         [0045]    Second, when bookmark server  103  receives the request, it matches the tag received in the request with the stored tags. If a Web document is available that corresponds to a stored tag matched against the requested tag, bookmark server  103  transmits the Web document to endpoint  102 - 2 . Otherwise, server  103  transmits the corresponding stored URI to endpoint  102 - 2 , as part of message  308 . 
         [0046]    Endpoint  102 - 2  is then able to use the URI, if the Web document itself had not been received from server  103 , to retrieve the Web document from a Web-based server in telecommunications system  100 . For example, if the URI points to a document that happens to be kept on document server  104 - 1 , endpoint  102 - 2  can retrieve the document from that server by specifying the URI, in well-known fashion. 
         [0047]      FIGS. 4 through 7  depict flowcharts of the salient tasks that are executed by bookmark server  103 , in accordance with the illustrative embodiment of the present invention. The salient tasks in  FIG. 4  pertain to the receiving and processing of information—for example, from a telecommunications endpoint that provides a tag and URI or from an endpoint that requests a Web document by specifying a tag that had been created earlier. In the descriptions that follow telecommunications endpoint  102 - 1  is a first endpoint and endpoint  102 - 2  is a second endpoint. Some of the tasks that appear in  FIGS. 4 through 7  can be performed in parallel or in a different order than that depicted, as those who are skilled in the art will appreciate. 
         [0048]    Referring to  FIG. 4 , at task  401 , bookmark server  103  receives and processes an identifier of first endpoint  102 - 1 . Server  103  receives the identifier from second endpoint  102 - 2 . The identifier is part of message  301 , which requests that a folder be created. As those who are skilled in the art will appreciate, after reading this specification, some alternative embodiments of the present invention can be made and used such that an identifier is not received from a second endpoint and a folder is not subsequently created for the identifier that represents an endpoint. The subtasks of task  401  are described in detail below and with respect to  FIG. 5 . 
         [0049]    At task  402 , server  103  receives and processes a first tag and URI from first endpoint  102 - 1 . The subtasks of task  402  are described below and with respect to  FIG. 6 . 
         [0050]    At task  403 , server  103  receives and processes a request from second endpoint  102 - 2 , such as the request contained in message  307 . The salient subtasks of task  403  are described below and with respect to  FIG. 7 . 
         [0051]    After task  403 , task execution proceeds back to task  401  so that server  103  is able to process additional folder creation requests, tag-URI pairs, and requests for URIs received from various endpoints. 
         [0052]      FIG. 5  depicts a flowchart of the salient tasks that are executed by bookmark server  103  in processing an endpoint identifier, in accordance with the illustrative embodiment of the present invention. The identifier is of a first endpoint that will be sharing tags that correspond to URIs with a second endpoint or other endpoints, or both. As those who are skilled in the art will appreciate, first endpoint  102 - 1  can share its tags with the endpoint that transmits the identifier (e.g., endpoint  102 - 2 , etc.) or with other endpoints in system  100 . 
         [0053]    At task  501 , server  103  receives an endpoint identifier from second endpoint  102 - 2 , in which the identifier specifies first endpoint  102 - 1 . 
         [0054]    At task  502 , and in response to receiving the identifier, server  103  creates a folder in memory to store tag-URI pairs received from first endpoint  102 - 1 , as well as any Web documents received that correspond to the tags received from endpoint  102 - 1 . After task  502 , task execution proceeds to task  402 . 
         [0055]      FIG. 6  depicts a flowchart of the salient tasks that are executed by bookmark server  103  in processing a tag-URI pair, in accordance with the illustrative embodiment of the present invention. 
         [0056]    At task  601 , server  103  receives a first tag and a URI from first endpoint  102 - 1 . For example, using the example provided earlier and with respect to  FIG. 3 , the user of endpoint  102 - 1  might want to share with the user of endpoint  102 - 2  the URI for Customer Support of ABC Company. The URI in this example is http://support.abc_company.com/en/go/custsupport?PAGE=Home. The URI itself is too complex for endpoint  102 - 1 &#39;s user to type out and send to endpoint  102 - 2 . Instead, the user thinks of a tag to represent the URI in a shortened format, perhaps one that is descriptive of the URI such as “support”, and has the browser plug-in at endpoint  102 - 2  transmit the tag-URI pair to server  103 . 
         [0057]    At task  602 , server  103  checks if the received tag is already in use as a label for another URI at the server—that is, it determines if the tag is already present in the server&#39;s address space. If the tag is in the server&#39;s address space, task execution proceeds to task  603 . If the tag is not in the server&#39;s address space, task execution proceeds to task  604 . 
         [0058]    At task  603 , server  103  rejects the tag—for example, by sending a rejection message back to endpoint  102 - 1 . Task execution then proceeds to task  403 . 
         [0059]    At task  604 , server  103  checks if the URI is sufficient for a future user of the URI to reconstruct a Web document to which the URI points. As a first example, server  103  might rely on receiving an indication from endpoint  102 - 1  as to whether the URI is sufficient by itself, the reception being the result of endpoint  102 - 1  having decided on the URI&#39;s sufficiency. As a second example, server  103  might actually try using the URI, in a manner as if the server were an endpoint, to see if the target document server returns a sufficiently reconstructed Web document. As a third example, either endpoint  102 - 1  or server  103  can examine the header information in a received HTTP message from the target document server; in accordance with the illustrative embodiment, the header could have been coded ahead of time to indicate whether the accompanying Web document can be bookmarked as is. If the URI is insufficient by itself, task execution proceeds to task  606 . If it is sufficient, however, task execution proceeds to task  605 . 
         [0060]    At task  605 , server  103  stores the tag and corresponding URI in the folder created at task  502 . This scenario applies, for example, when the Web document pointed to by the URI is represented by one or more files of static content within the host document server&#39;s file system; in other words, an endpoint would be able to retrieve the Web document at a later time by using only the URI. In some alternative embodiments where no folder has been created or will be created, the tag and URI are stored in general memory, with or without an indication of the endpoint that provided the current tag-URI pair, in this case endpoint  102 - 1 . Task execution then proceeds to task  608 . 
         [0061]    At task  606 , server  103  retrieves, from document server  104 - n,  the Web document that corresponds to the URI received from first endpoint  102 - 1 . To retrieve the document, server  103  might have to provide information not contained in the URI, such as information contained in one or more cookies or state information. 
         [0062]    In some alternative embodiments, server  103  retrieves from endpoint  102 - 1  (i) the Web document that corresponds to the URI and (ii) possibly additional information for reconstructing the Web document as was viewed on endpoint  102 - 1 &#39;s browser. This scenario applies, for example, when (i) the Web document pointed to by the URI is represented by one or more files of dynamic content (e.g., dynamic Web pages, etc.) or (ii) client-side scripting is used with the particular Web document, or both. 
         [0063]    At task  607 , server  103  stores the retrieved Web document or the document reconstruction information (or both) in the folder created at task  502 , along with the tag and possibly the URI. In some alternative embodiments where no folder has been created or will be created, the Web document and information are stored in general memory, along with the tag and possibly the URI, with or without an indication of the endpoint that provided this tag-URI pair, in this case endpoint  102 - 1 . 
         [0064]    At task  608 , server  103  transmits an acknowledgment to first endpoint  102 - 1  that the tag and URI—as well as the Web document or additional information, if retrieved—have been stored successfully. 
         [0065]    At task  609 , server  103  transmits the newly-stored tag to a second endpoint—for example, endpoint  102 - 2 . In some alternative embodiments, it is up to first endpoint  102 - 1  to transmit the tag to the second endpoint so that the second endpoint&#39;s user will be able to specify the tag to retrieve a URI, in order to ultimately retrieve a Web document. After task  609 , task execution then proceeds to task  403 . 
         [0066]      FIG. 7  depicts a flowchart of the salient tasks that are executed by bookmark server  103  in processing a request that contains a tag, where the request is for a URI, in accordance with the illustrative embodiment of the present invention. 
         [0067]    At task  701 , bookmark server  103  receives a request, which comprises a specified tag, from second endpoint  102 - 2 . In other words, the user of endpoint  102 - 2  has specified that the user wants the URI that corresponds to the tag received by server  103 . In some alternative embodiments, bookmark server  103  instead receives a request that comprises the actual URI of the Web document of interest. 
         [0068]    At task  702 , server  103  transmits the stored URI that corresponds to the tag received from endpoint  102 - 2 . If server  103  has already retrieved the Web document or document reconstruction information that corresponds to the URI, the server instead transmits the Web document or reconstruction information, or both, to endpoint  102 - 2 , with or without the URI. After task  702 , task execution then proceeds back to task  401 . 
         [0069]    It is to be understood that the disclosure teaches just one example of the illustrative embodiment and that many variations of the invention can easily be devised by those skilled in the art after reading this disclosure and that the scope of the present invention is to be determined by the following claims.