Bidirectional hyperlink synchronization for managing hypertexts in social media and public data repository

A method for bidirectional hyperlink management of a hypertext associated with an on-line media is provided. The method may include searching the on-line media for at least one keyword associated with the hypertext. The method may also include scanning a website associated with the hypertext based on the search of the at least one keyword. The method may further include locating at least one dead-link uniform resource locator (URL) associated with the scanned website. Additionally, the method may include managing the at least one located dead-link based on a set of pre-defined rules associated with the on-line media.

FIELD OF THE INVENTION

The present invention relates generally to the field of computing, and more particularly to social media and public data repositories.

BACKGROUND

A uniform resource locator (URL) is a reference of a web address for locating an internet resource. In most document formats (such as HTML, excel, doc, and PDF), URLs may be embedded as hyperlinks which point to cited documents stored in local or remote hosts for easy access and reference. Hypertext is text with hyperlinks. In public data repositories and in social media, embedded hyperlinks may reference important information and are often used to implement reference mechanisms, such as tables of contents, footnotes, bibliographies, indexes, letters, and glossaries.

SUMMARY

According to one embodiment, a method for bidirectional hyperlink management of a hypertext associated with an on-line media is provided. The method may include searching the on-line media for at least one keyword associated with the hypertext. The method may also include scanning a website associated with the hypertext based on the search of the at least one keyword. The method may further include locating at least one dead-link uniform resource locator (URL) associated with the scanned website. Additionally, the method may include managing the at least one located dead-link based on a set of pre-defined rules associated with the on-line media.

According to another embodiment, a computer system for bidirectional hyperlink management of a hypertext associated with an on-line media is provided. The computer system may include one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method. The method may include searching, by a hyperlink management daemon, the on-line media for at least one keyword associated with the hypertext. The method may also include scanning, by the hyperlink management daemon, a website associated with the hypertext based on the search of the at least one keyword. The method may further include locating, by the hyperlink management daemon, at least one dead-link uniform resource locator (URL) associated with the scanned website. Additionally, the method may include managing, by the hyperlink management daemon, the at least one located dead-link based on a set of pre-defined rules associated with the on-line media.

According to yet another embodiment, a computer program product for bidirectional hyperlink management of a hypertext associated with an on-line media is provided. The computer program product may include one or more computer-readable tangible storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor. The computer program product may include program instructions to search the on-line media for at least one keyword associated with the hypertext. The computer program product may also include program instructions to scan a website associated with the hypertext based on the search of the at least one keyword. The computer program product may further include program instructions to locate at least one dead-link uniform resource locator (URL) associated with the scanned website. Additionally, the computer program product may include program instructions to manage the at least one located dead-link based on a set of pre-defined rules associated with the on-line media.

DETAILED DESCRIPTION

Embodiments of the present invention relate to the field of computing, and more particularly to social media and public data repositories. The following described exemplary embodiments provide a system, method and program product to, among other things, manage hypertexts in online-media (i.e., social media and public data repositories).

As previously described with respect to most document formats URLs may be embedded as hyperlinks which point to cited documents stored in local or remote hosts for easy access and reference. In public data repositories and in social media, embedded hyperlinks may reference important information and are often used to implement reference mechanisms. However, the embedded hyperlink URL objects in the social media or public data repository may be renamed or removed by owner in targeted servers without any notification. For example, if a URL's content has been changed either in a server name or file name, then all related hyperlinks embedded in a document may not be accessible and as such may become a dead-link. Therefore, it may be advantageous, among other things, to provide a real-time prototype for replacing inaccessible hypertexts in social media and public data repositories in addition to dynamically managing the dead-links in a bidirectional manner, on both sides (from a hypertext service to hyperlinks, and from hyperlinks to hypertext), with respect to social media and public data repositories.

According to at least one embodiment, a bidirectional dead-link repair concept and an implementation protocol may be defined for validating, replacing, redirecting, synchronizing and managing hyperlinks of public data. The public data may include any social media and public repositories such as, Facebook® (Facebook and all Facebook-based trademarks and logos are trademarks or registered trademarks of Facebook and/or its affiliates), Twitter® (Twitter and all Twitter-based trademarks and logos are trademarks or registered trademarks of Twitter and/or its affiliates) or, Wikipedia® (Wikipedia and all Wikipedia-based trademarks and logos are trademarks or registered trademarks of Wikimedia and/or its affiliates). The bidirectional hyperlink synchronization may include managing the dead-links from hypertext service to hyperlinks, and from hyperlinks to hypertext. The present embodiment may also include a hyperlink management daemon; a real-time URL replacement framework; a dead-link detection algorithm; real-time URL replacement and redirection algorithms; and a set of predefined rules of URL replacement and redirection. Based on the set of predefined rules of URL replacement and redirection, the hyperlink management daemon may be able to dynamically find dead-links and replace changed URLs in the documents saved in social media.

The following described exemplary embodiments provide a system, method and program product to manage hypertexts in social media and public data repositories. According to one implementation of the present embodiment, a bidirectional dead-link tracking concept may be introduced as well as a bidirectional dead-link implementation protocol and a real-time dead-link replacement method.

As previously described, the present embodiment may include a bidirectional hyperlink synchronization manager. Components and algorithms of the bidirectional hyperlink synchronization manger may include a hyperlink management daemon; a real-time URL replacement framework (i.e., engine); a dead-link detection algorithm; real-time URL replacement and redirection algorithms; and a set of predefined rules of URL replacement and redirection. The components and algorithms associated with the bidirectional hyperlink synchronization manager will be discussed in further detail with respect toFIG. 2. Based on the set of predefined rules of URL replacement and redirection, the hyperlink management daemon (i.e., the hypertext search daemon) may be able to dynamically find dead-links and replace changed URLs in the documents saved in social media. According to at least one implementation of the present embodiment, the hypertext search daemon may be enabled to search hypertext in public media by using certain hyperlink keywords and a public media list. Additionally, the hypertext search daemon may allocate all related web pages, scan the allocated web pages, and extract and list all keyword-related hyperlink/URL links. The hypertext search daemon may also save and/or update the related hyperlink list.

The URL validation and dead-link detection engine may validate each listed URL in the hyperlink list and update the status of the URL link (i.e., alive-link or dead-link). As such, according to at least one implementation, the scope of the URLs may be predefined. For example, the scope of the URLs may include only URLs associated with a particular on-line media, such as an on-line encyclopedia site or a particular linked URL, such as IBM URLs listed in a particular on-line media. Additionally, according to one implementation, the validation may include a check to determine whether the listed URL object link is under the predefined scope. For example, an IBM user may only be interested in URLs under IBM's domain. Furthermore, the present embodiment may periodically check if the listed URL is available using existing technology. If a checked URL is unavailable for a length of time that exceeds a configurable threshold, then the URL link may be marked as dead-link.

The dead-link replacement wizard may re-check the status of the URL link to determine if each listed URL link is still alive. If the listed URL link is not alive, then the present embodiment may add the URL to the dead-links database (i.e., repository or list) and begin a dead-link replacement service to determine if there is a corrected replacement URL for the current dead-link. If there is a corrected replacement URL for the current dead-link, then the URL may be replaced. However, if there is not a corrected replacement URL for the current dead-link, then the present embodiment may assign correlated default pages (i.e., a set of categorized pages) and replace the URL.

Referring now toFIG. 1, an exemplary networked computer environment100in accordance with one embodiment is depicted. The networked computer environment100may include a computer102with a processor104and a data storage device106that is enabled to run a software program108and a bidirectional hyperlink synchronization manager114A. The networked computer environment100may also include a social media116, a public data repository118, a replaced URLs database120, a dead-link repair rules database122, a dead-links repository (i.e., dead-links database or dead-links list)124, a server112running a bidirectional hyperlink synchronization manager114B and a communication network110. The networked computer environment100may include a plurality of computers102and servers112, only one of which is shown. The communication network may include various types of communication networks, such as a wide area network (WAN), local area network (LAN), a telecommunication network, a wireless network, a public switched network and/or a satellite network. It should be appreciated thatFIG. 1provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.

The client computer102may communicate with social media116running on server computer112or public data repository118running on server computer112via the communications network110. The communications network110may include connections, such as wire, wireless communication links, or fiber optic cables. As will be discussed with reference toFIG. 4, server computer112may include internal components800aand external components900a, respectively, and client computer102may include internal components800band external components900b, respectively. Client computer102may be, for example, a mobile device, a telephone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing devices capable of accessing a network and capable of accessing a social media116or a public data repository118.

As previously described, the client computer102may access social media116, running on server computer112or public data repository118, running on server computer112via the communications network110. For example, a user using a software program108(e.g., Firefox®) (Firefox and all Firefox-based trademarks and logos are trademarks or registered trademarks of Mozilla and/or its affiliates) running on a client computer102may connect via a communication network110to social media network116, which may be running on server computer112or public data repository118which may be running on server computer112. According to at least one implementation of the present embodiment, the bidirectional hyperlink synchronization manager114B may be centralized on a server112, and also it may be divided between two different components: server-side and client-side. The server-side of bidirectional hyperlink synchronization manager114B running on server computer112may interact with a web browser and online media. The client-side bidirectional hyperlink synchronization manager114A client may be installed as a plug-in to a web browser (e.g., Firefox®) (Firefox and all Firefox-based trademarks and logos are trademarks or registered trademarks of Mozilla and/or its affiliates), or as a program installed on the user's computer102.

Referring now toFIG. 2, the components and algorithms associated with the bidirectional hyperlink synchronization manager200in accordance with one embodiment is depicted. The bidirectional hyperlink synchronization manager114B, running on server computer112may include a hyperlink management daemon2002; a real-time URL replacement engine2004; a dead-link detector2012and related detection algorithm2006; real-time URL replacement and redirection algorithms2008; and a set of predefined rules of URL replacement and redirection2010. The hyperlink management daemon2002may be implemented as a backend application to connect related synchronization components and implement dead-link update management. The set of predefined rules of URL replacement and redirection2010includes all configurable settings (scope of URL being monitored, replaced, etc.) and criteria (definition of a dead-link, depth of URL link search and replacement, etc) used by the bidirectional hyperlink synchronization manager114B. For example, a user may only focus on certain domain URLs and ignore other URL links. The dead-link detection algorithm2006may be used by the bidirectional hyperlink synchronization manager114B for monitoring and scanning certain domain and URLs on the domains, and for checking availability of hyperlinked objects. Additionally, the dead-link detection algorithm2006may update the dead-links list (i.e., repository or database)124(FIG. 1), periodically. The real-time URL replacement engine2004may be a standalone application or integrated into the hyperlink management daemon2002. It may login to online media and replace dead-links with recommended URL links based on the real-time URL replacement and redirection algorithms2008. Based on the set of predefined rules of URL replacement and redirection, bidirectional hyperlink synchronization manager114B (FIG. 1) may be able to dynamically find dead-links and replace changed URLs in the documents saved in social media116(FIG. 1) or a public data repository118(FIG. 1). The method associated with the bidirectional hyperlink synchronization manager114A,114B (FIG. 1) is explained in further detail below with respect toFIG. 2.

FIG. 3, an operational flowchart300illustrating the steps carried out by a program to manage hypertexts in social media and public data repositories in accordance with one embodiment is depicted. At202, the dead-link manager (i.e., agent or daemon running on server112FIG. 1) aspect of the bidirectional hyperlink synchronization manager114B (FIG. 1) may be started. According to the present embodiment, the dead-link manager may be able to dynamically find dead-links and replace changed URLs in the documents saved in social media, public data repositories or any URLs and domains in which the hyperlink management daemon2002(FIG. 2) may have write access to on the target URL host. For example, the hyperlink management daemon2002(FIG. 2) may have write access since the hyperlink management daemon2002(FIG. 2) may need to update and save updated web documents to the URL document host. However, according to the present embodiment, the URL re-direction service2008(FIG. 2) technology may be applicable to the internet as a whole.

For example, with respect to an information center website that provides thousands of documents, the dead-link manager may be able to dynamically search, monitor, and manage dead-links associated with URLs for the documents contained in the information center website. According to at least one implementation, the dead-link detection algorithm2006(FIG. 2) may include how to find a dead-link by utilizing existing technology for dead-link detection. For example, the “No URL exist error 404” detection is a typical method to detect dead-links. However, the error “404” may not always be equal to a dead-link (e.g., a server may not be operating properly). Therefore, the present embodiment may measure the length of time that the URL has been unavailable. As such, the dead-link manager (i.e., detector)2012(FIG. 2) along with the dead-link detection algorithms2006(FIG. 2) may monitor and scan certain domains and URLs on the domains that have been listed on a dead-links list (i.e., repository or database)124(FIG. 1), check availability of hyperlinked objects, and then update the dead-links list (i.e., repository or database)124(FIG. 1), periodically.

Next, at204, websites are searched. As such, an on-line public data repository (i.e., on-line media) may be searched for at least one keyword associated with the hypertext. For example, according to at least one implementation of the present embodiment, a hypertext search daemon (i.e., hyperlink management daemon2002(FIG. 2)) aspect of the bidirectional hyperlink synchronization manager114B (FIG. 1) may be enabled to search hypertext in public media (i.e., on-line public data repository or on-line media, such as Facebook® (Facebook and all Facebook-based trademarks and logos are trademarks or registered trademarks of Facebook and/or its affiliates)) by using certain hyperlink keywords (e.g., “ibm.com”).

Then at206, webpages may be scanned. Therefore, the hypertext search daemon may allocate all web pages and scan the allocated web pages. As such, a website associated with the hypertext may be scanned based on the search of the at least one keyword, such as “ibm.com” with respect to the previous example.

Next, at208, linked URLs may be extracted. Therefore, all keyword-related hyperlink and URL links may be extracted from linked sites that have been scanned. As such, with respect to the previous example, all related hyperlinks ad URLs with the key word “ibm.com” may be extracted from the scanned linked sites.

Then at210linked URLs may be listed. Therefore, the number of URLs that will be monitored may be determined and all keyword-related hyperlink and URL links may be saved or updated on a related-hyperlink list. For example, the hyperlinks that have been extracted in the previous step may be identified as worthy of tracking and may be listed in a linked URL list stored in a repository.

Next at212, the linked URLs may be retrieved. For example, all keyword-related hyperlink and URL links that are on the related-hyperlink list may be retrieved. Then at214, a dead-link may be determined. Therefore, the bidirectional hyperlink synchronization manager114B (FIG. 1) may locate at least one dead-link uniform resource locator (URL) associated with the previously scanned website.

Next at216, it is determined as to whether a dead-link is detected. As such, the status of the URL link may be re-checked to determine if each listed URL link is still alive. As such, the validation and dead-link detection engine aspect of the bidirectional hyperlink synchronization manager114B (FIG. 1) may be enabled to validate each listed URL in the hyperlink list and then update the status of the URL link as an alive-link or a dead-link.

If at216, it is determined that a dead-link is not detected then the next link may be examined at218and the URLs associated with that link may be retrieved at212. Then the process may continue to step214as previously described. However, if at216, it is determined that a dead-link is detected then at220the dead-link may be added to a dead-links repository124(FIG. 1) (i.e., a dead-links list or a dead-links database or repository124(FIG. 1)). As such, a URL associated with an encountered dead-link may be marked as a dead-link URL and may be added to a list of dead-links contained in a dead-links repository. Therefore, a dead-links list (i.e., repository or database)124(FIG. 1) may be generated that includes hypertext information. For example, the hypertext information may include a social media server, a hypertext document name, a linked object server and a linked object name, or keywords, etc.

Next at222, it is determined whether the dead-link should be repaired. As such, the dead-link replacement service aspect of the bidirectional hyperlink synchronization manager114B (FIG. 1) may be enabled to analyze a dead-link, categorize the dead-link, and manage the dead-link based on a set of pre-defined rules associated with the on-line public data repository (i.e., on-line media). For example, the dead-link may be categorized as renamed, removed, location changed, etc. Additionally, the bidirectional hyperlink synchronization manager114B (FIG. 1) may locate a replacing linked object based on the dead-link categorization. The bidirectional hyperlink synchronization manager114B (FIG. 1) may also replace the dead-link in the media repository based on a set of pre-defined rules. According to at least one embodiment, dead-link replacement rules may be created as well as an alternate replacement list for renamed, removed, and location changed linked-objects. Additionally, the present embodiment may include creating accounts in related social media servers with right access privilege.

If at222it is determined that a dead-link should not be repaired, then the method may continue back to step218as previously described. According to one implementation, a dead-link may be encountered, but not fixed if dead-link repairs were determined to be performed at a later time. For example, repairs associated with dead-links contained in the dead-links repository may be performed during off-peak hours when network traffic may be less.

However, if at222it is determined that a dead-link should be repaired, then at224the repair data may be loaded from a set of pre-defined repair rules. As such, definitions (i.e., repair data) associated with determining how to repair a dead-link may be loaded. According to at least one implementation, the repair data definitions may include information such as whether the URL link is permanently broken or temporarily broken. The repair data definitions may also include whether a temporary or permanent fix (i.e., repair) may be applied. For example, the repair data may include information, such as that a document owner should be informed of the dead-link URL; that the document has been permanently removed, or that the document has been replaced by a different URL. According to at least one implementation, the determination as to whether a dead-link should be repaired may include determining how long the URL link has been dead (e.g., repair definitions may state that any link that has been dead for more than 30 minutes should be repaired); determining if the URL link is temporarily not working or permanently not working; and what the repair data may suggest in terms of repairing the dead-link (e.g., the server where the URL link is located was temporarily not in service). As such, for a temporarily broken (i.e., dead) link, a temporary solution may be needed. Similarly, for a permanently broken (i.e., dead) link, a permanent solution may be needed.

Then at226, the replaced URLs are loaded. For example, the present embodiment may utilize existing technology to access a replaced URL repository120(FIG. 1) or the list of the dead-link URL (as previously described with respect to step222). The replaced URL repository120(FIG. 1) may be created and maintained based on existing technologies (such as document owner reports for any changes, document update logs, documents with same fingerprint, document clustering analysis, etc. . . . ). The replaced URL repository120(FIG. 1) and the list of the dead-link URL may keep track of URLs that have been replaced and where the dead-link URLs have been redirected. Then at228, it is determined whether a replaced URL has been found in the replaced URLs repository. If it is determined that a replaced URL has been found in the replaced URLs repository then at232, a new URL may be obtained. For example, the dead-link URL may be replaced by a corrected replacement URL. However, if at228, it is determined that a replaced URL has not been found in the replaced URLs repository, then at230, the default URL may be obtained. For example, existing technology may be utilized to find a related or similar document to be used as a default URL. Next, at232, the new URL is obtained. For example, the dead-link URL may be replaced by a corrected replacement URL or by assigning correlated default pages (i.e., a set of categorized pages that are similar to the dead-link URL).

Next at234, the website associated with the social media or public data repository may be accessed (i.e., the bidirectional hyperlink synchronization manager114B (FIG. 1) may login to a website associated with the social media or public data repository) to change the dead-link. Then at236it is determined whether the dead-link should be replaced. If at236, it is determined that the dead-link should not be replaced, then at238the URL link is redirected (bidirectional from either the object set or the web server side) based on the new URL obtained in step232. As such, the bidirectional algorithm may manage the dead-links in two different directions from a hypertext service to hyperlinks (i.e., links in documents to linked objects in step240), and from hyperlinks to hypertext (i.e., linked objects to links in documents in step238). Then the method may continue to step218as previously described. However, if at236, it is determined that the dead-link should be replaced, then at240the dead-link is replaced and the method may continue to step218as previously described.

It may be appreciated thatFIG. 3provides only an illustration of one implementation and does not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements. For example, according to at least one implementation of the present embodiment, there may be server side URL management rules. The server side management rules may include URL naming policies; URL recycling policies; URL name modifying rules; URL name compliance verification (i.e., URL name check); and URL name management. The URL name management many include a changing risk analysis. The changing risk analysis may reject or approve a request based on the following factors: the number of citations (i.e., according to a list); the number of links in external media (i.e., hypertext link lists); and a daily access rating. The changing risk analysis may also generate a replacement mapping table (i.e., old URL: new URL). Furthermore, the URL management rules may publish URL changes; replace a changed URL in related public pages; and enable redirection service.

Additionally, according to at least one implementation, a replace service configuration application may also be included in the present embodiment. The replace service configuration application may include public media account management and bidirectional repair of a dead-link. The public media account management may include configuring the public media account for automated updates; authentication rules; user's account management; update restrictions; dead-link notification rules; and a hypertext modification agreement. The bidirectional repair of a dead-link may include, restoring a changed page for a linked URL server and redirecting a URL for a linked URL server. As previously described, the bidirectional algorithm may manage the dead-links in two different directions from a hypertext service to hyperlinks (i.e., links in documents to linked objects), and from hyperlinks to hypertext (i.e., linked objects to links in documents). The bidirectional repair of a dead-link may also include replacing a dead-link with the redirect URL address in a social media server or a public data repository server; replacing a dead-link with the new URL address which has the same or similar contents in a social media server or a public data repository server; and replacing a dead-link with default categorized pages in a social media server or a public data repository server.

Furthermore, according to one implementation of the present embodiment, the bidirectional hyperlink synchronization manager114B (FIG. 1) may monitor an interested hypertext document in certain social media for updating an invalid linked object. Additionally, the bidirectional hyperlink synchronization manager114B (FIG. 1) may be responsive to detecting a change in a hyperlinked object server and automatically update the renamed or removed location changed information in the listed hyperlinks.

User client computer102(FIG. 1), and network server112(FIG. 1) may include respective sets of internal components800a, band external components900a, billustrated inFIG. 4. Each of the sets of internal components800a, bincludes one or more processors820, one or more computer-readable RAMs822and one or more computer-readable ROMs824on one or more buses826, and one or more operating systems828and one or more computer-readable tangible storage devices830. The one or more operating systems828and software programs108(FIG. 1) in client computer102(FIG. 1) is stored on one or more of the respective computer-readable tangible storage medium830for execution by one or more of the respective processors820via one or more of the respective RAMs822(which typically include cache memory). In the embodiment illustrated inFIG. 4, each of the computer-readable tangible storage medium830is a magnetic disk storage device of an internal hard drive. Alternatively, each of the computer-readable tangible storage medium830is a semiconductor storage device such as ROM824, EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information.

Each set of internal components800a, balso includes a R/W drive or interface832to read from and write to one or more portable computer-readable tangible storage medium936such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device. A software program108(FIG. 1), such as bidirectional hyperlink synchronization manager114A (FIG. 1) or Firefox® (Firefox and all Firefox-based trademarks and logos are trademarks or registered trademarks of Mozilla and/or its affiliates) can be stored on one or more of the respective portable computer-readable tangible storage medium936, read via the respective R/W drive or interface832and loaded into the respective hard drive830.

Each set of internal components800a, balso includes network adapters or interfaces836such as a TCP/IP adapter cards, wireless Wi-Fi interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links. The software program108(FIG. 1) and bidirectional hyperlink synchronization manager114A (FIG. 1) in client computer102(FIG. 1) and bidirectional hyperlink synchronization manager114B (FIG. 1) can be downloaded to client computer102(FIG. 1) and server computer112(FIG. 1), respectively from an external computer via a network (for example, the Internet, a local area network or other, wide area network) and respective network adapters or interfaces836. From the network adapters or interfaces836, the code software programs108(FIG. 1) in client computer102(FIG. 1) and in server computer112(FIG. 1) are loaded into the respective hard drive830. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.

Each of the sets of external components900a, bcan include a computer display monitor920, a keyboard930, and a computer mouse934. External components900a, bcan also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each of the sets of internal components800a, balso includes device drivers840to interface to computer display monitor920, keyboard930and computer mouse934. The device drivers840, R/W drive or interface832and network adapter or interface836comprise hardware and software (stored in storage device830and/or ROM824).