
180 Park Ave - Building 103
Florham Park, NJ
Balachander Krishnamurthy has been with AT&T Labs--Research since his PhD. His main focus of research of late is in the areas of Internet privacy, Online Social Networks, and Internet measurements. He has authored and edited ten books, published over 80 technical papers, holds twenty patents, and has given invited talks in over thirty countries.
He co-founded the successful Internet Measurement Conference and Steps to Reducing Unwanted Traffic on the Internet workshop. In 2008 he co-founded the ACM SIGCOMM Workshop on Online Social Networks. He has been on the thesis committee of several PhD students, collaborated with over seventy researchers worldwide, and given tutorials at several industrial sites and conferences.
His most recent book "Internet Measurements: Infrastructure, Traffic and Applications" (525pp, John Wiley & Sons, with Mark Crovella), was published in July 2006 and is the first book focusing on Internet Measurement. His previous book 'Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement' (672 pp, Addison-Wesley, with Jennifer Rexford) is the first in-depth book on the technology underlying the World Wide Web, and has been translated into Portuguese, Japanese, Russian, and Chinese.
Characterizing large DNS traces using graphs
Charles D. Cranor, Emden R. Gansner, Balachander Krishnamurthy, Oliver Spatscheck
Internet Measurement Workshop,
pp 55-67,
2001.
[BIB]
Method For Cache Validation For Proxy Caches,
June 10, 2003
A proxy cache maintains a copy of multiple resources from various servers in a network. When the proxy cache must generate a validation request for at least one resource at one of the servers, the proxy cache piggybacks one or more additional cache validation requests related to documents presently stored in the cache but originating from or associated with the server in question. Upon receipt of an indication of the freshness or validity of the cached copy of the document, the proxy cache can then make a determination as to whether to request an update of the document.
Method for effective indexing of partially dynamic documents,
August 13, 2002
A method more efficiently indexes dynamic documents. The method adjusts the frequency with which dynamic documents are retrieved taking into account the extent to which the document varies between its most recent retrievals. Furthermore, the method selects portions of the document to be indexed based on the substance of the differences between recently retrieved copies.
Method for using region-sets to focus searches in hierarchical structures,
October 19, 1999
A method improves a search in a hierarchical structure by focusing the search to selected regions within the structure. The method defines one or more region-sets and uses the region-set(s) as either a filter for the results of a key-word search or an integrated part of a search engine to increase the efficiency of the search engine. The method also provides for dynamic creation of new region-sets from existing region-sets using a prescribed set of operators.
Method of clustering electronic documents in response to a search query,
March 26, 2002
A method of presenting clusters of documents in response to a search query where the documents within a cluster are determined to be related to one another. This relationship is assessed by comparing documents which match one or more terms in the query to determine the extent to which the documents have commonality with respect to terms appearing infrequently in the collection of documents. As a consequence, the cluster of documents represents a response or query result that is split across multiple documents. In a further variation the cluster can be constituted by a structured document and an unstructured document.
Cache Invalidation Technique With Spurious Resource Change Indications,
June 28, 2005
A Web server maintains, for one or more resources, a respective list of clients who requested that resource. The server takes on the responsibility of notifying all of those clients on when the resource in question changes, thereby letting them know that if the resource is again asked for by a user, an updated copy will have to be requested from the origin server. The server thereupon purges the client list, and then begins rebuilding it as subsequent requests come in for the resource in question. Invalidation messages are sent to selected victim clients on the client list, independent of whether the resource in question has changed, when the list meets a predetermined criterion, such as becoming too large. The victim clients may include clients who access the server less frequently than others, clients who have accessed the server in the more distant past than other clients, i.e., using a first-in-first methodology, or clients who have not subscribed to a service that keeps them from being victim clients. Review of a client list to determine whether it meets the selected criterion can be invoked every time a client gets added to a client list or on a scheduled basis.
Method and apparatus for improving end to end performance of a data network,
June 15, 2004
A method and apparatus provide improved cache coherency and more effective caching operations without placing an undue burden on network links. A proxy receives a request for a resource and then, depending on information in the proxy cache, generates a resource request for transmission to a resource server. The proxy appends a proxy filter to the request. The resource server maintains one or more volumes of resources based on some predetermined criterion that can be either static or dynamic in nature. Upon receipt of the request and the proxy filter the resource server generates a request response and a piggybacked list of additional resources selected from the volume with which the requested resource is associated.
Method for using region-sets to focus searches in hierarchical structures,
October 17, 2000
A method improves a search in a hierarchical structure by focusing the search to selected regions within the structure. The method defines one or more region-sets and uses the region-set(s) as either a filter for the results of a key-word search or an integrated part of a search engine to increase the efficiency of the search engine. The method also provides for dynamic creation of new region-sets from existing region-sets using a prescribed set of operators.
Method For Effective Indexing Of Partially Dynamic Documents,
August 12, 2003
A method more efficiently indexes dynamic documents. The method adjusts the frequency with which dynamic documents are retrieved taking into account the extent to which the document varies between its most recent retrievals. Furthermore, the method selects portions of the document to be indexed based on the substance of the differences between recently retrieved copies.
Method for providing more informative results in response to a search of electronic documents,
May 30, 2000
A method provides a more informative result to a user in connection with the search for documents in a database. In particular, the method provides augmented addresses, in the Internet environment augmented universal resource locators, which include an indication of a document attribute which may be of interest to the user. Such attributes may include an indication of the language of the document (e.g., English or Japanese) or the popularity of the document.
Method for improving the results of a search in a structured database,
June 6, 2000
A method enhances the presentation of search results from a structured database. In accordance with the method, a search query including two or more attribute/value pairs is presented to a system. The system then identifies a plurality of records which each minimally match the search query. Each document or record in the plurality of identified records is assigned a weight based on at least two factors: the extent to which the record matches the entire search query; and the relative frequency with which the attribute/value pair that matches the given record matches the records of the remainder of the structured database. The plurality of records that minimally match the search query are then identified to the requester in ranked order based on the assigned weights.
Method for fast network-aware clustering,
May 15, 2007
A method for clustering together network IP addresses is disclosed. A number of IP addresses are received and processed to determine which IP addresses share a longest prefix matching. The longest prefix matching process is performed according to radix encoded trie which facilitates on-line clustering of the IP addresses. Client and/or server IP addresses may be clustered in accordance with the teachings herein.
Method of clustering electronic documents in response to a search query,
December 26, 2000
A method of presenting clusters of documents in response to a search query where the documents within a cluster are determined to be related to one another. This relationship is assessed by comparing documents which match one or more terms in the query to determine the extent to which the documents have commonality with respect to terms appearing infrequently in the collection of documents. As a consequence, the cluster of documents represents a response or query result that is split across multiple documents. In a further variation the cluster can be constituted by a structured document and an unstructured document.
Method and apparatus for sharing a web page,
September 21, 1999
A method and apparatus for one user of the World Wide Web (WWW) to share an interesting WWW page with other users who have interest in the subject matter thereof. The user offers to share this WWW page by transmitting an announcement thereof. The other users have pre-arranged specifications stored in memory of their server(s) of what subject matter announcements will be accepted from which announcing users. Thus, the recipients can limit or filter the announcements of the URL's that they receive from others. If there is a match between the announcer's subject matter, perhaps the announcer's identity and/or employer's identity, and the recipient's specified acceptance criteria, then the server performing match up will take the action specified by the other user to be taken. Actions to be taken include load URL into WWW browser and download announced WWW page immediately for viewing, and store URL for later review.
Fast prefix matching of bounded strings,
March 13, 2007
The present invention increases the efficiency of performing longest prefix matching operations by selecting a radix-encoded trie structure optimized with respect to memory cost. The structure is optimized by determining memory costs for retrie structures indexed on different numbers of high-order characters, and then selecting the structure corresponding to the lowest memory cost. The optimization improves performance in IP look-up operations as well as longest-prefix matching operations performed on general alphabets.
Method and apparatus for improving end to end performance of a data network,
December 11, 2001
A method and apparatus provide improved cache coherency and more effective caching operations without placing an undue burden on network links. A proxy receives a request for a resource and then, depending on information in the proxy cache, generates a resource request for transmission to a resource server. The proxy appends a proxy filter to the request. The resource server maintains one or more volumes of resources based on some predetermined criterion that can be either static or dynamic in nature. Upon receipt of the request and the proxy filter the resource server generates a request response and a piggybacked list of additional resources selected from the volume with which the requested resource is associated.
Method For Network-Aware Clustering Of Clients In A Network,
August 9, 2005
A method for clustering together network clients for guiding of placement of network servers is disclosed. A number of routing table prefix/netmask entries are aggregated and unified into a tubular format. The routing table entries may be converted into a singular format. A network server log is used to extract a number of client IP addresses which are compared to the entries within the unified routing table. A common prefix shared by a number of the client IP addresses and an entry in the unified routing table is determined and used to cluster the clients together in a client cluster. Network servers, such as proxy server, cache servers, content distribution servers and mirror server may be placed in the network according to the client clusters.
Method for providing more informative results in response to a search of electronic documents,
January 8, 2002
A method provides a more informative result to a user in connection with the search for documents in a database. In particular, the method provides augmented addresses, in the Internet environment augmented universal resource locators, which include an indication of a document attribute which may be of interest to the user. Such attributes may include an indication of the language of the document (e.g., English or Japanese) or the popularity of the document.
Method for effective indexing of partially dynamic documents,
September 21, 1999
A method more efficiently indexes dynamic documents. The method adjusts the frequency with which dynamic documents are retrieved taking into account the extent to which the document varies between its most recent retrievals. Furthermore, the method selects portions of the document to be indexed based on the substance of the differences between recently retrieved copies.
Method for improving web performance by adapting servers based on client cluster characterization,
November 13, 2007
The present invention is a method for improving delivery of content to a client communicating with a server on the Web. Groups or clusters of clients are formed by processing the IP addresses of the clients according to a network-aware, radix-encoded trie classification process. The groups of clients are categorized based on information about one or more clients in each group that can be determined by the server. That information is used to help drive tailored actions on the part of Web servers. Users with poor connectivity may choose not to spend much time at a Web site if it takes a long time to receive a page, even if the Web server at the site is not the bottleneck. Retaining such clients may be of interest to a Web site. Better-connected clients may be able to receive enhanced representations of Web pages such as with higher quality images.
Science & Technology Medal, 2007.
Honored for technical leadership and innovation in helping to establish Disciplined Internet and Web Measurement.